diff --git a/.gitignore b/.gitignore index 2a8916f9d9..56853490a9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,44 +1,44 @@ -._* -*.mode1v3 -*.pbxuser -*.perspectivev3 -*.user -*.ncb -*.suo -*.ilk -*.pch -*.pdb -*.dep -*.idb -*.manifest -*.manifest.res -*.o -*.d -*.sdf -xcuserdata -*.xccheckout -contents.xcworkspacedata -.DS_Store -.svn -profile -**/MacOSX/build -**/iOS/build -**/Linux/build -**/VisualStudio2005/Debug -**/VisualStudio2005/Release -**/VisualStudio2008/Debug -**/VisualStudio2008/Release -**/VisualStudio2010/Debug -**/VisualStudio2010/Release -**/VisualStudio2012/Debug -**/VisualStudio2012/Release -**/VisualStudio2013/Debug -**/VisualStudio2013/Release -**/Android/bin -**/Android/libs -**/Android/gen -**/Android/obj -**/CodeBlocks/bin -**/CodeBlocks/obj -**/CodeBlocks/*.depend -**/CodeBlocks/*.layout +._* +*.mode1v3 +*.pbxuser +*.perspectivev3 +*.user +*.ncb +*.suo +*.ilk +*.pch +*.pdb +*.dep +*.idb +*.manifest +*.manifest.res +*.o +*.d +*.sdf +xcuserdata +*.xccheckout +contents.xcworkspacedata +.DS_Store +.svn +profile +**/MacOSX/build +**/iOS/build +**/Linux/build +**/VisualStudio2005/Debug +**/VisualStudio2005/Release +**/VisualStudio2008/Debug +**/VisualStudio2008/Release +**/VisualStudio2010/Debug +**/VisualStudio2010/Release +**/VisualStudio2012/Debug +**/VisualStudio2012/Release +**/VisualStudio2013/Debug +**/VisualStudio2013/Release +**/Android/bin +**/Android/libs +**/Android/gen +**/Android/obj +**/CodeBlocks/bin +**/CodeBlocks/obj +**/CodeBlocks/*.depend +**/CodeBlocks/*.layout diff --git a/README.txt b/README.txt index 89162f2751..8e92f858f8 100644 --- a/README.txt +++ b/README.txt @@ -7,5 +7,11 @@ It contains pretty much everything you're likely to need to create most applications, and is particularly well-suited for building highly-customised GUIs, and for handling graphics and sound. +Most JUCE modules are shared under the GNU Public Licence +(GPLv2, v3, and the AGPLv3). This means that the code can +be freely copied and distributed, and costs nothing to use +in other GPL applications. One module (the juce_core module) +is permissively licensed under the ISC. + For more information, visit the website: http://www.juce.com \ No newline at end of file diff --git a/docs/JUCE readme.html b/docs/JUCE readme.html deleted file mode 100644 index 1a45d95628..0000000000 --- a/docs/JUCE readme.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - - - - -JUCE - installation and compiling - - - - -
- - - -

Introduction - License - -Installation - -Building with Visual Studio - -Building with VC6 - -Building with XCode - -Building on Linux - -Building with Android - -

- -

JUCE

- -

Introduction

- -

JUCE is an all-encompassing C++ class library for developing cross-platform applications and plugins.

-

For lots more help and information, please visit the JUCE website.

-

A complete set of class documentation is available here.

- -

License

- -

JUCE is released under the Gnu Public License, -which means it can be freely copied and distributed, and costs nothing to use in open-source applications.

-

If you'd like to release a closed-source application that uses JUCE, commercial licenses are available -for a fee - click here for more information -on pricing and terms.

- -

Installation

- -

Installing the source code

- -

There are a few ways to install a copy of JUCE:

- -

The JUCE source code all lives in a folder called, unsurprisingly, juce, which you can unzip -and put somewhere on your system.

- -

Building the demo applications

- -

In the juce/extras folder, there are a few demo apps to get you started and to show off JUCE's features. -Each one contains a folder called Builds, containing various projects for different compilers and platforms. -These should all work straight out-of-the-box if you load them into the appropriate development environment. Some of them -(e.g. the audio plugin demo) may require 3rd party libraries or headers to have been installed, but I've made sure that any -include statements that may not be present have comments with a detailed explanation of what's going on, so if you hit a compile -error, just have a look at the code it's pointing to and everything should become clear.

- -

Creating a new application with the Introjucer

- -

By far the easiest way to create a new cross-platform JUCE app (or audio plugin) is to let the Introjucer -do the hard work of creating all your projects with the correct settings.

-

You can either build the Introjucer yourself from the source (in juce/extras/Introjucer), or download -a pre-built binary from SourceForge. -

If you run it and select the 'new project' menu item, it'll walk you through the stages in setting up an app or -plugin project, and will automatically spit out a collection of project files for all the different platforms and compilers -that you need.

- -

Requirements for building on different platforms

- -

Microsoft Visual Studio 2005 or later

- -

JUCE projects should build and run with no extra set-up needed in all versions of Visual Studio from 2005 onwards.

- -

By far the easiest way to create a new project is by letting the Introjucer do all the hard work, as explained above. But -if you really insist on creating one manually, here are a few tips:

-
    -
  1. Create your new application project as an 'empty' WIN32 application - avoid saying yes to -MFC or any of the other rubbish that Visual Studio might offer you.
  2. -
  3. Make sure that your project has exception handling and run-time type information (RTTI) turned ON.
  4. -
  5. Have a look at the example projects, demo projects, or the API documentation about the -JUCEApplication class to find out how to create the application launch code.
  6. -
- -

Microsoft Visual Studio 6

- -

JUCE can still be compiled with VC6, although support for this will be dropped at some point in the future... -but here are some tips for getting it going:

- -
    -
  1. Install the latest Platform SDK from Microsoft.
  2. -
  3. Set up your include and library search paths. The first few items on your include path -should look like this (obviously you might have things installed in different places, but the -order is important!): -
    C:\Program Files\Microsoft Platform SDK\include
    -C:\Program Files\Microsoft Platform SDK\include\crt
    -C:\Program Files\Microsoft Platform SDK\include\mfc
    -C:\mycode\juce
    -...
    -And the library search path should begin like this: -
    C:\Program Files\Microsoft Visual Studio\VC98\LIB
    -C:\Program Files\Microsoft Platform SDK\lib
    -C:\mycode\juce\bin
    -...
    -
  4. -
- -

Note that there's a rather lame bug in VC6 that causes an internal compiler error if you include -filenames that are too long. This can get triggered if you put the juce folder in a deeply-nested -directory (such as your user home directory). Unfortunately I think the only workaround for this -is to move the source tree to a shallower directory.

- -

XCode on OSX

- -

Use XCode 3 or later. You might want to tick the option to install the 10.4 SDK if you want to build binaries -that are backward-compatible with 10.4 and PPCs. If you're going to build for iOS, you'll obviously need the iOS version of XCode.

- -

The easiest way to create a new application is by using the Intojucer, but here are a few tips if you're mad enough -to want to set one up manually:

- - - -

Linux with GCC

- -

Most linux distros should come with the tools you need. You may need to install the development packages of -freetype, X11 and pthreads if they're not already available.

-

If you've enabled the JUCE_USE_XINERAMA option, then you'll also need to install the Xinerama package. -And you'll need the GL and GLU libraries if you've enabled JUCE_OPENGL

-

The makefiles that are generated by the Introjucer can be run by "make CONFIG=Debug", -or "make CONFIG=Release". You can also use "make clean" to delete the -intermediate files.

- -

Android

- - - -
-

***

-
-
-

- Copyright 2005 Raw Material Software Ltd -

-
-
- - - diff --git a/docs/gpl.txt b/docs/gpl.txt deleted file mode 100644 index 45645b4b53..0000000000 --- a/docs/gpl.txt +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/docs/images/rms_logo.gif b/docs/images/rms_logo.gif deleted file mode 100644 index bef67a05b3..0000000000 Binary files a/docs/images/rms_logo.gif and /dev/null differ diff --git a/docs/rawmat.css b/docs/rawmat.css deleted file mode 100644 index 7a0b61e285..0000000000 --- a/docs/rawmat.css +++ /dev/null @@ -1,193 +0,0 @@ -body { -color: #444444; -font-family: Tahoma, Geneva, Arial, Helvetica, sans-serif; -font-size: 0.8em; -line-height: 1.5em; -text-align: left; -background: #e0e0e0; -} - -a { color: #005888; } -a:hover { color: #1c90b0; } -a:visited { color: #006699; } -a:visited:hover { color: #1c90b0; } - -h1 { -font-family: "Arial Narrow", Tahoma, Geneva, Arial, Helvetica, sans-serif; -font-size: 1.6em; -color: #006b95; -margin: 15px 0 15px 0; -padding-left: 15px; -} - -h2 { -font-family: "Arial Narrow", Tahoma, Geneva, Arial, Helvetica, sans-serif; -font-size: 1.3em; -color: #007aac; -margin: 15px; -} - -h3 { -font-family: "Arial Narrow", Tahoma, Geneva, Arial, Helvetica, sans-serif; -font-size: 1.1em; -color: #56a7c1; -margin: 15px; -} - -p { -margin: 10px 15px 5px 15px; -} - -pre { -font-family: monospace; -font-size: 1.1em; -line-height: 1.1em; -} - -code { -font-family: monospace; -font-size: 1.2em; -line-height: 1.1em; -} - -.pageholder { -width: 800px; -min-width: 800px; -margin: 10px auto 0 auto; -background: #ffffff none; -padding: 0 !important; position: relative; } - -.banner { -height: 90px; -background: #3366cc none; line-height: 20px; font-family: Arial, Tahoma, Geneva, Helvetica, sans-serif; } - -.banner img { -float: left; -color: #ffffff; -margin: 15px 0 0 16px; -border: 0; -background: none; font-family: sans-serif; font-size: 25px; -} - -.mainsections { -margin: 6px 0px 6px 0px; -padding: 0; position: absolute; left: 390px; top: 56px; -float: left; -font-size: 13px; } - -.mainsections ul { -margin: 0; -padding: 0 0 0 10px; background-color: #3366cc; background-image: none; } - -.mainsections li { -list-style-type: none; -float: left; -width: auto; -min-width: 50; -min-height: 22px; max-height: 22px; -text-align: center; margin: 6px 4px 0px 4px; -font-size: 12px; background: url(images/inactiverightcorner.gif) no-repeat top right; } - -.mainsections a:link, .mainsections a:visited { -display: block; -color: #d0eef3; text-decoration: none; -padding: 2px 8px 0px 10px; -background: url(images/inactiveleftcorner.gif) no-repeat top left; -max-height: 20px; } - -.mainsections a:hover, .mainsections a:visited:hover { -color: #ffffff; -text-decoration: none; -padding: 2px 8px 0px 10px; -} - -.currentsection { -margin-top: 4px; -background-image: url(images/activerightcorner.gif) !important; -} - -.currentsection a:link, .currentsection a:visited { -color: #006b95 !important; -background-image: url(images/activeleftcorner.gif) !important; -} - -.currentsection a:hover, .currentsection a:visited:hover { -color: #2c93b0 !important; -} - -.subsections { -clear: both; -} - -.subsections ul { -margin: 0; -padding: 0 6px 0 6px; -} - -.subsections li { -list-style-type: none; -float: left; -margin: 0px 4px 0 4px; -background-image: url(images/inactivesubsection.gif); -background-repeat: no-repeat; -background-position: center left; -padding-left: 10px; } - -.subsections a:link, .subsections a:visited { -padding: 0 4px 0 4px; -text-decoration: none; -} - -.currentsubsection a:link, .currentsubsection a:visited { -font-weight: bold; -color: #000099; -} - -.currentsubsection { -background-image: url(images/activesubsection.gif) !important; -} - -.content { -clear: both; -float: none; -padding: 2px 5px 0 5px; -min-height: 500px; -background-image: none; -font-family: Georgia, Helvetica, sans-serif; -} - -.prop { -float: right; -width: 1px; -height: 400px; -} - -.bottomsection { -clear: both; -text-align: center; -background-image: none; -margin: 0; -padding: 15px 0 12px 0; -} - -.bottombar { -padding: 5px; -background: #3366cc none; -margin: 10px 0 10px 0 !important; -color: #ffffff; height: 26px; -font-size: 0.8em; -} - -.bottombar a, .bottombar a:visited { -color: #d0eef0 !important; -} - -.bottomtext a:hover, .bottomtext a:visited:hover { -color: #ffffff !important; -} - -.ad { -clear: both; -padding: 30px 0 0 0; -text-align: center; -} \ No newline at end of file diff --git a/examples/AnimationAppExample/AnimationAppExample.jucer b/examples/AnimationAppExample/AnimationAppExample.jucer new file mode 100644 index 0000000000..bbcd3166ba --- /dev/null +++ b/examples/AnimationAppExample/AnimationAppExample.jucer @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/AnimationAppExample/Builds/MacOSX/AnimationAppExample.xcodeproj/project.pbxproj b/examples/AnimationAppExample/Builds/MacOSX/AnimationAppExample.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..d3d611fd91 --- /dev/null +++ b/examples/AnimationAppExample/Builds/MacOSX/AnimationAppExample.xcodeproj/project.pbxproj @@ -0,0 +1,2112 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + + E3498B080326636A372B74AE = {isa = PBXBuildFile; fileRef = 859E13C66F2193112084D1B9; }; + 828D4B32ECB7ECE234A5A1A9 = {isa = PBXBuildFile; fileRef = 66DE43B56D8670C78DD3998D; }; + 97CBB80DA6775AEF4872168B = {isa = PBXBuildFile; fileRef = 8F7B1F20EA4F07C9D37D5260; }; + 2CDBA22DB877B521681B03C3 = {isa = PBXBuildFile; fileRef = 7DF561FC0400DD7E678CD690; }; + 3B937846DB65393DE597ABDE = {isa = PBXBuildFile; fileRef = C9F7ABDA09635BC3FAB0B008; }; + 139AEB224F22582CF606327F = {isa = PBXBuildFile; fileRef = 732EEC584A4CE3ED07C5BEFB; }; + 833059FCE7601E2EC15CDBF4 = {isa = PBXBuildFile; fileRef = 4D755C765B26C765D11BFFC8; }; + 579B22B362186BFEA27C44D9 = {isa = PBXBuildFile; fileRef = D32C3176FB914F189E0139AF; }; + 4FE4858AB45C67767169F6BC = {isa = PBXBuildFile; fileRef = 34227B39C3D697D0DBAC7017; }; + 60DF684A573F3D6E67C085EE = {isa = PBXBuildFile; fileRef = CBECD9165897602A506BC41E; }; + CA82C00B49701B9ECEB91AE1 = {isa = PBXBuildFile; fileRef = 3B5B55FF08F71060B836F5DB; }; + E20A03BD895CA5A0D7913F4E = {isa = PBXBuildFile; fileRef = 3EF6F363BA4F6B10207C0E23; }; + 73C67130F15814333F4D613B = {isa = PBXBuildFile; fileRef = 15D92586D187B0D8758C6F18; }; + 6B6DC7D7A606A7D832929888 = {isa = PBXBuildFile; fileRef = 7E8B563CE147A7C733E6EFB1; }; + 328BFAEA24EDCBF7B69F4960 = {isa = PBXBuildFile; fileRef = B766DBADE0BD743FAC004870; }; + 84E6553798838003062A7791 = {isa = PBXBuildFile; fileRef = F7B6DBDC7439C90B4E01752E; }; + 9B303E67BC0058053878030C = {isa = PBXBuildFile; fileRef = C1070E62B763F1CCE0BB18F0; }; + ACA92239BEB4C05C418642E2 = {isa = PBXBuildFile; fileRef = DD19124F0A7FD43F31BDEB87; }; + 1EFD155B1968AEC88851F831 = {isa = PBXBuildFile; fileRef = 987AD2821B6419D5FEDCBD7A; }; + 0C7388B5872921063FF273B8 = {isa = PBXBuildFile; fileRef = AD405DDE86D07F955E27EBF8; }; + 9EE1754A8E5230FA1C50713F = {isa = PBXBuildFile; fileRef = B7DD84C8B05ABA4A6915E77E; }; + 1852E56533842FDFBE9A6EE3 = {isa = PBXBuildFile; fileRef = 33E449DEA1FC0CD4CAA3A829; }; + CB79C1D77F4FBF0C64B69E1D = {isa = PBXBuildFile; fileRef = 14BB261A450674034E6080F2; }; + 5E9EFF0130B8CBBEAA0D321B = {isa = PBXBuildFile; fileRef = CC0B7738BD544B955D81BF1E; }; + EF8AB3F393E946FE4A21AA17 = {isa = PBXBuildFile; fileRef = 4B27A11ADAC0D9957BBBCD3E; }; + B70DDF51EDD940F5EF96B96D = {isa = PBXBuildFile; fileRef = 27B720A5E8CF81ABF9E50848; }; + E28816D62DAA38A2794ED6D2 = {isa = PBXBuildFile; fileRef = D8BAA82AC820CEF315BD9DCB; }; + A911433D03B3314558DB8850 = {isa = PBXBuildFile; fileRef = 21CF5364CD4910E49D19F8E2; }; + 590ABC7E64B05F4814FA919E = {isa = PBXBuildFile; fileRef = 6018A3A37F34AE52B39A14D5; }; + 0054E026B84A3A87020CCE48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 0060F61BFBCEF4E9EF8B3CC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 02AC998E808CAF5C148CFFC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 02C14E49091F42750CD72F00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; + 0311666DB95BFAE686267D7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 03457E9DD2B35D7C1B0C7393 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; + 0346DBE09BEC27EA93676FEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 03B79DBA48F6C4122DABEE90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; + 03D03AF17C5E899ED9481518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; + 03E91AE23ECCF51E3AF9FC90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 04C105672DA409FE8593DB04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; + 0700C7069E1CF3FF8966C0E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 07342D914D2A5AF6075CDB2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; + 0790EC941834B64EA1AC8D5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 07C83735435D264F28158F79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 07E19FB806980020A47AA47D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0852A866937712A0D30684A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 086CE5C768CF5889BDEF8955 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 08C7B33308A32555A7CA21B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; + 08EC867C77B028C336B79752 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; + 097237CCE04B9020343CB28D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 09846FF5D2FFB83242A02FF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0993051FFD1B0C5E92474DBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0AD4B355DBB0AED4C90E5657 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + 0AE6516868244378D09124A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0B7637C0030C06BE612E41E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; + 0B7E069D09A7E46448EAE230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0B933FCCF82100D67C0B7D34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0BC32F0BB0B5393D25E09D00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0C61EC70BD4EA59AEEBB6669 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 0C89377A44F26612524DA129 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + 0C9B04C3B7D8E1CE4FAC6FF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0CBC9EB8F2C55E88DB0F49BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; + 0D0FAC9754D9469774B8DD2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0D265DF78A9FE5E669F76FC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 0D35F0A502484A40B09F3EBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0D530396A7BA6BA190100C6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0D88ABF90B476D03D3684ABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 0DB1323191C133E48F07C062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; + 0E70A4BFB2F7D1AB6188E72C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 0E894AC7229948568720E294 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 0E8D536FEBD11AEA3C90B5A8 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 0ECA7867513EFA30BEA0BE78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0EF8E3646F6099E89A743D99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; + 0F16DEEC2C4B95E3A9F28CE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; + 0F67C59CB48583941B8656EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; + 102919EC5BCD10DA703688CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; + 109C128BB4A7A05127A0C485 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 11ACB77A3D91503A3DF673C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 11D8AE26FA8880E7E8F3B4EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; + 123B63088FA1C4D1AD225CDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13430EC7CBFEF46874F53731 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 135DC8543A904B7BBAA0FD7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; + 13BF0388489EB44A816C9AF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 14245CED80854EC5291657FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; + 142D03BC875BD387BD10C51F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1450CD0879661355CD52DD8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; + 14AB997C7EB22777C1EF533C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; + 14BB261A450674034E6080F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; + 15029C3F041B27DD7191482F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; + 15D92586D187B0D8758C6F18 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; + 161F35FA23347F495704C26A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 166BDAF3B9896BCB3771A061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 166C141D440846E85F91747E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 16ECB71D0D2C5C8BEFF4B4C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 1737596EB7F40322C0A5DE20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; + 175654F2545AD9C0603BD0B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; + 176B18B9B61FDA6EC4357EB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; + 17B07A06764A6A7759804033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 17B2789DEC279EE7DB8D9BE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; + 19045B1A4A9E79DB5A44927C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; + 191B98765219765CD56CCFED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 19DC6BDBA978DC67B9783340 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 19E9997C0FE3E36156141D64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A667A0FBCC8FC7EBBD15B20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A7002B936C11924FDC07023 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; + 1A788BE93E528FDAA62EA02B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1AB580D4342BFFD41F220358 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 1AB9713046E08B68A6F672CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1B3B7CBA0D25C83B8AF72641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1B3CC8F665F23CB86253EBCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 1B7AFDD8FCA13757D08B8B3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C71768A34644733E39EEF4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; + 1D5B751294F84B86ABB11D4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1D9FABE954892C169D874E35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; + 1DE0CF80B807A4A702DC68BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + 1E020B9E032C076071700CEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; + 1E6EF8035485237EA92A1310 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; + 1FD6FD7218AB240D23DF4BAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2048DACF787A9BFE011041BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 20E10FBD8694E185CA551EDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2168310E25BD55C9A46499C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; + 2188A5670214696EFCF6810F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; + 21CF5364CD4910E49D19F8E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; + 21D0A71ADD004B35B90F0D1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 21D31B64BAD35C6C8E8E8FC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 221FD10838A8CE36672FABC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; + 2254F8D031DD15BDB278DE3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 22C4F82B505995F81CD682B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; + 2328C66A446079EDDCC8B14E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 234D4927B398ED6E9B7B0E6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + 236F239E035044438B7CDFCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; + 23724FEF549E05851817B4BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; + 23936BBF807CCF5B1EEB9F00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 241453DBDECBE0CCD5C096DE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 24363F41974FD7A3B634B78B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 244B9B4B8307A8C51207D457 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 254D157C0CCE3C7EA022F4CE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 25869F2A5B90C64E857606D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 25B41C0851C004C9D410B7C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 25E6B62A5BF19A0D1E085E10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 260A5BDC20C7B4029DB418E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; + 264F684A80B93F7A189A5FA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 26C95A2DACFF9773038656E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 27240E9968C04288887BFDC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 274569E245BFB279247B4ECC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + 27676EBA6012198993C2CBA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 27A9B065352AE36635780373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 27B720A5E8CF81ABF9E50848 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + 27DC413550834C828252B003 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2807A00AE6C4539CD935F56D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; + 2819AE973B501D15AAB8C937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 289C3977B67C1898AC3B974D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + 28BEE3C7BE3AE2BD888AC55C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; + 29215FCE04DC4D267FF25E6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; + 29685DC8679DB5024B747D0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 29710D5E6C3372E4480BF746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 29D35A5AB22E9443E0ED8F99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; + 29F5A84EE715DA5BCED467A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A098563977566E9A9E8CD7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A2B7F8BCFC785127CA961A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 2A59F5E28F97A435592E0B58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; + 2A771B60F7C360A111F75AC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + 2AB2B4CC891E77E2DD062BE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B02634F8DA8660ED42B0AEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; + 2B1494112273ADF380C99FD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B4FA0E8FB46CBC71A059FE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B57EB41D3962E3518B79FD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; + 2B69AEC791776F7CF337E38C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B9907A25C1C36C1E46BEA65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B9BAEF9C46C224088F5BB25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; + 2C1B86FD1CB59198522DEF06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2C246301EE0EC4A9B4058F01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; + 2CFC9FB97ED3587D7E0E4E4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; + 2CFEB3BEABF88B0C41D94E94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; + 2D5F3AD1A03B34AE7349DF5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; + 2D8FC1F116F882698F5CFEB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 2DB2DBF293A77B80E01EBAED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2DCAC1795F1B47C592E65D4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + 2E2B14A2334528E4405AEDDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E650C2E92EA2732B66070D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E96848340E1C1B1095AC1F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2FDA8843C89E2D7DFBE3FBFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 301AF9BA843B1955EE001C98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 3095D8D2EF68D6ED502EB00B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; + 314E9338935BC33A1C468B3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 31AE430D2372CF6283185033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; + 326E293A87E18FC3FBB26B47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 32A667DB98BC4EB30C51F20B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 32C683CBA18109949D53149A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3324210159E5C546DC5C2065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; + 3391FA30F4D45A4A77DC2CE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 33E449DEA1FC0CD4CAA3A829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; + 34227B39C3D697D0DBAC7017 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; + 34A6FFC298D12BF9E4D55AA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 35A7FD6EFDE29D2EBD7DFCB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 35AAFB158E16D03C4D977713 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; + 35E6F6325AF8463C076BA594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 369C06F1DC7B3B7EB497D062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 36A0FF58D355147F40981C39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 36B8F6CFEEA3C1E2A0D09E56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; + 37381332DDDE8F2B3C66CBDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; + 374277A96D9830E45684FDD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; + 381AE52C082AE08E724CB954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + 381B8B8A9D5203E73FED79E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 38404F97E5118017DFDCDEC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 389B4E4055A779D0F6B22C5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 38D15A30D4658272F910A7AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 38EDF1EAB12A05CEE439AF23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 3900C9B11914C94DFA1F8C33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 390351E336C2CF20C38ADB59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 393D0CA8D89217F1F2504768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 394CD5017D81D1CFEBE34894 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3966D734450E72F5682D2F06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3A9FC7EFC378976EE696AE83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 3AE89D0904EE985359A73B91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3AF114AC45249CDA77EF940E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 3B09334ECC8FB54B4B7D7B59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; + 3B5B55FF08F71060B836F5DB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + 3B9903B0A0252D106C92CAA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 3BDF8DF3F3C380B1A4CE6C8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3BF23F0B71FB8E526E895905 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3C825AE2479611DA559164B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; + 3C89D04328C83D2FDD4E5116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + 3CD47BA1CFEFB637DDEAC313 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3D16FF3C64D4248C0C6FF504 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3D24784AEA7726A64A340625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; + 3E19A71C4A345EB5C1BA466D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 3E8E31BB97A86349790D6CC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; + 3EF6F363BA4F6B10207C0E23 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; }; + 3F0388309395C138AA68FAD7 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 3FAA5384DA8B28DEB5E57A5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3FECAB20E9C0834676E2D9EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; + 403453363C4785FD451A9BA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 40B9C2276B7EF73860E2606B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 40F0E944D041D96F2DA4C6A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 412D5D6AA4018C8DF59AB741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 414AAB7000E7FDE7683BE72F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 41C74B59D9B392117441DA2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; + 4228B8952E3FBCDA69C1948B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; + 426283CFD858F482E87F530B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; + 42BC8303198293E30AC0B21A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; + 435858CCF38F47E9AAE1B08F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; + 439FC260CD869E30210D98BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; + 4408766B366713F55707B7A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; + 440A182A9068A8FBD011BE1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 44185DE135E354DD4758B3EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 442199479D1499B6A44BD150 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 44443DA5B0FDA2480DFBDFC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; + 44ADFB25768FA3BF27762EBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 44B3428E8BB4B70104CD76CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 44C6568EC00F1682FBCD3B69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; + 44FC8BD37CFE8C0D851C46F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4510E3B6AD441EA03B993692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4570554FB8438C0692EEDC55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; + 464424DDD6A6678B94CE667F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4658E12862C546A62E05E4D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 46885692CC5FDE30FC3649F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 46D8BC7303C892ED3F90E4DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 47E5FB5735D2EC8B039D2691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; + 47E70AF805B1C5C57566C4CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 495EAFDB9DE4E8E7DBA562D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; + 49794569C715BA919A01D72E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A1671B78E589A865FEA3CB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A31DFDB7AC330488B8BBEA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A36826C3F710B92F0347A16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + 4A86B4371AE4FC58D879962C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; + 4ABF36D87D2BBEDA4DE28A4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; + 4ADE9EFB6C41DE44D40C9837 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B27A11ADAC0D9957BBBCD3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; + 4B27C30CF5AC7BFE0AF537AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B8102606812A7964CF8D9CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 4B8342C50F962C3F0AEE9830 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + 4BAF7C54867DA3C275C2F59D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4BDEC9A0A09EEDC9D7BDB826 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; + 4BF9949E0C30EA64B16004BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; + 4C40BFAE1E25F166EBB5EC48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4C87C8EC24CE0EB64640238A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4CF92825BE7B97AC268C2AA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; + 4D5901626201478A459CE46C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 4D755C765B26C765D11BFFC8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; + 4DB2143B264FC1AE54490BF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; + 4DB48F6BAEFA120A31259EAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E3C26EE8C6F996F207F0C32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4EAE69CF6B5097A57EBCD27B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4EB8D72F57E00C560E370DCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4EBC561A323AEE4D76AD7906 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F2D3BD9697AAFA060EAAA59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 4F5C213B72A375A83FE50979 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F5D668DCEF2B622FD46073D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; + 4F5DED2313FC69EA518E5679 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F96BFF5D1D40B81C861F92F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; + 4FB8B3386156F5702A20F7D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 500F7CB9F45B62E46F4BBA57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; + 51026A3BE98FD70FD916CF45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 518E9E553CD9F7D215B75B88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; + 519CE739793F0797AF1A7957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 52062790A5E737C8846A23A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 531BA61B027758A7978052A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; + 5358DE9C9773654731E6F615 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 5383E87DC6DC1D251C271A50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; + 5384C065CDEB3032907ECCAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; + 553655CA0122E128BC368AD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; + 55417F6D23E7075E5E27BECB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; + 55A4B5CF98FAC1CC23E49C82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + 55CEFA60FA0CBA0E6CB71F5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; + 55D04DC4EA2F037CCD5DF9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 562E99EE1A4B733B7F751955 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; + 56545F3F893C3D8CC9215051 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 567D63D778B7A22C5D97F1C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; + 56985D9599D0D1D00B42F95B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5703889367170F80CAC76898 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; + 570C35930202882A634FC029 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5710CADD28060D8E949D96D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5719A93B0F6AFE95FC49B673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 57490A9F97D62E7A312EA90C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5774E190A351EDF7B7AAB188 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; + 57A0BF533D7A7B57321A8174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 5878CA91071620345AB5B3C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; + 595A9929C0E873C30AC9AA87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; + 59CAB9E5A0CBBC51342FC065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5A1777E116DA01B554C90CDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5A5749D0A878955C964DD2C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5A854859042F6CD761688B25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5AAE605D230E253D4EAC195E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5B5180DAAB935CB6D1DE9AA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; + 5BBC57B395B553CE08AC4BD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; + 5BBF8CA223EEE4D9C769E453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_events/broadcasters/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; + 5C0E42BCF4ED32E1381E7A23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5C58E6217AF57BD2A33ED617 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; + 5C62F423D8469A02E55BF59D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + 5C8795B0DE5C729CA18FE89B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; + 5CDC0F220B1EAE847D38D1DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; + 5D1F3BD1476426752ACB1EB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; + 5D43D909CB26D4A07A62A4F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5D4A62D4893C16D7B17C6A43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5EB144BD6AC4D4DE96ABFCA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; + 6018A3A37F34AE52B39A14D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; + 605EA4B27D057BCB9263BCFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; + 60D8280577C14A7D3F67563D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 610F820C21D914E9794A36EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; + 611A0824757D50610BB03562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; + 61473E0A6AF9B900406695B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 616493921A733162495E7553 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + 61797A8C01DC08E83AFA4540 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; + 618839275E13B9DB660001E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61E1C2246CBD45C5A1F40102 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61F0D5937E23A6A9EE8D479C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; + 6238740697CA1F0746776243 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 62B6E8B6269ADEF23D85FA3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; + 62E534D1F0B31CD4A1B572E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; + 62EA5E33A940F30BBB56E293 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; + 63B031ABCF8DE5C94889823B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; + 63E66F6D161941FE12465C29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 63EE49826BF4CFBD9D546DAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 6421EA349C5D558114D36717 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 64807B3EFFBDC3348512901E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 65DF385E92A4A65760DC3BD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; + 66897EA1FD2CDFB4CED47F8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; + 66B37CB373F19F65553466C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 66CEE40E51335F661B5C5C66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 66DE43B56D8670C78DD3998D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + 66E854431C2BBDEE56EA43C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 673759E656DBA5A9377433E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 674E13DA209E762DF15E9E29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 67771057800F9416E9777625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 67895BDE8FA4B2A01E3B8B12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; + 6804336FE1AB499087ACE437 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; + 68097881EEDDE0FD03100CC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; + 684E11B1CE018B2C46938D80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 68743DE3AA833D6F02F754D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 68FAA921E5D8CFAF9CC07C2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6911E01E967839199E4C9822 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; + 693B6DC20214C1ED9C1E89F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; + 69449AB58A9C0AB552F754F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; + 69A2DA87D304FD486A872C1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; + 69C36A56AE1A2E8CF64FE388 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 6A1D79062B92685A87BEE5F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; + 6A22C06C6FE2B6B494B4878D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 6A8AC5E55EE51EE0476D852F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; + 6B103C0FB5E6E3618ECD3B48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6B5C2F14A2268F371F1350B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 6BE6A3A14057591A3B4EF2C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6C03031AAE5A7C3372D4F1CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 6C502DF33FB5C14B8A67B25D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D0D0EC5B978695152A0B84F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 6D3F3D0139FAC58B2BAA6047 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D5EE68347208091600E94A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 6DE6751E6A4F0DDE9C7F24B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; + 6E0713769EA84EE0471D9811 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; + 6E6672E4055AC4F6D8688310 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; + 6E841DAA09FE06910D94447D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; + 6E9C1F4D69A9C99433DC67C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; + 6EEECDA2EB328FB597208954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6EFC227515CACDE0F8664EC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F6F888BFFA4BB40DD71285E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; + 7022B01ECEE7000DE6008C0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; + 70B18C93C5696330A877B330 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7141B07690C1A022A2BFFBBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; + 71881F8A6973AACD78ABA719 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 71B0F66C20CF48F49B3152AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 71DF518DE7A248B97C8E1C2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 72696E2F6E8EB43A8E604390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; + 732EEC584A4CE3ED07C5BEFB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + 73CA6BCA313B0239842F298C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; + 73FF82BCB568578396E88C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; + 74302B51B991EA1775AEFC67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; + 749854CD2D13BBBA500F353F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 74AB51B6E97964B27B1CD019 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 74B477DE4CFC95E20DBB0D91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; + 75D038033B2083D5EFE620A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; + 7627F01C1E5383207D2C0BFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + 7639526FBF7A4F41961483ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 766EE2CCD4E86729C6CE8112 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 768754211363FED3D2188C9D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 76F1A69F15F53D17C632A644 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7743414F79908801328D9F03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 77AE8FD7436387126D3BBBAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 782E3434FEA190A986EAC816 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 791ADFB0FFAEE65058B6FC8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 799472026100D7BAE015F6A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; + 7A029D97E723C7F1BDDCAA49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7A46778023CF61B3F417F9AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; + 7A6E1CBA343C07AC187A3EE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; + 7AC4D7A22EE9E1F4FBD407C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; + 7AC8C094442A603DE6257BB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; + 7BA2EA5655704E5358ABAA9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7BC8F7015F35BAFF4AEDA0E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; + 7C7B6D8D155687966F681F5B = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 7D8D285B8414388FDB083AFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; + 7DCF49E37B27971A7E597555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7DF561FC0400DD7E678CD690 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + 7E0DD06926DAC8EE93BD4F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 7E8B563CE147A7C733E6EFB1 = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; + 7EB8C7E000F0DDAAB4F47802 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + 7F0614F4F47EB171B8476BDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F162E198ECF41AA895DB94B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 7F171BE6BFAA1E3E2A9BED61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; + 7F2BBAF79EB32BB9904A76FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; + 7FC89C1EEB42DE3C9628591C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8001506F637B2516AAC5C0D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 803480FD5E7181E0D64FFC53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 805EB95DB4B8045064CE9ED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 805F27CEEC53F4E659884D7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; + 807E7971CB75C806D7DB5DF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 8102EBF90140E78193692AEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; + 814E0D982BC2A18B9BAF3E38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 823BBAE97A02475F25E54F9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 82A390DEE5A3B2EFDF7A65E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 830ADB6740EF70992E71895F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8314FE695F91DA2FAB51920E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 83325A69170997E33D73770A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 833CD270A139A70FF4E60D35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 83BA5BED925F6F827DF98CA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 842433A42308565BF3C1542A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 843BE36A2285F73A3FBB5660 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 84494501A6148DAFE162650B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; + 84ABA9491A70313AD6BF6F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 853D2D1ADD05C320052DD5FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 859E13C66F2193112084D1B9 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 8632589E0C21E3B0A5DA0333 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 8683CDE5FD2DFCB2CFC8F410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 868955327EBBD0C2C2447DB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; + 8741126A9694372E46E3FD32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 877ED7656241F46291022910 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; + 87E61959D8EA529461A0D257 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 87EDBC629357F63AB8E7B507 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 884AA1209A726AEAF76E31B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8866CF798E9F84C49B9D7DCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 88CC8BC2EA8CDB378A03FADA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 88EF4C8D3A1D2498D8ADB6E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8945894D17A9407EEEE3B8BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 897B10399D1CA882B5B98D0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; + 897C7B6FB012647ED8AB5D05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 89ACAEA951C470AF8683AABD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 89CBCB2D4660B56C1A939011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 89F5A5C12916F02E579D6394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A4A25946040DED54DB8F3B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; + 8B155ED74D3D0EB7E890E421 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 8B539DB72CC92EEC7F96C8E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; + 8B7C0F839098C534A7B4C725 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8BE44C96A60C5D9B9F503409 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C105487633A9BD04FDEE50A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + 8C24F74CB23F1B82C80386FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C3A6351780E678334FA1406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + 8C547C48DD5B3A854DBFF0F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C6A342773288620A8CC2598 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C9D252ABA3CDDC81B33884D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C9EC3F9C24081ECEF3FCEFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8CA01F9530AC5512C6B74325 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8D3FB0417A39CAEC03D44D73 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 8DC827CCF543708CF729FED6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8DE969191661B557B4222D50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 8DEFACA6858D254B4202AF12 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 8E407C1CF739A93FD2B3B38C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; + 8E95A3B7C194244B92D5D65A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; + 8EA18CA66CABC9B5087DBDD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8EDD1755AEE1C95660A06BF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; + 8EFB4EBA0836D5401B6D3DFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + 8F7B1F20EA4F07C9D37D5260 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; + 8FA02AA8698232B53D4BFDBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90841E3B0B2548A5BD66F15E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90B6C81CFB0DE386C673F62E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90BE189372A13866896CE817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90FEA7DB5EFC4E9B2E933056 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 911B308D5222BDFD954DBB32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 916001804771DF943551AAEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; + 91B991143655810C26644D50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; + 91CEFA76775CD035E2F9200F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 91D09C7242A24405FB364449 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + 9211B175E63E325D4FF6B789 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 92172AE93327D4F8008A0AFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; + 926063234BAFA6D29366E43E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 92BB22C929A3A76CE6F29C7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 92DF4A828DC5CE370E36044C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; + 932126F914644642A8244676 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 935BCEB2593A51E53187ABC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; + 93667813A711750790201F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; + 93CC262389F622F8AB79CA60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; + 941219816EB5D7A2231019FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; + 9424FDB8C564B73250B7B20A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 94BFC3162953A5E7E192276A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; + 94FAC7EB87C8EBE67F68AD60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 95412F7C12937CC7AC22ADCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; + 95440A40B2FB3CE5E09D57B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9692128AC24CF671A9C0457B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + 96E4B48CF055ED116E5CB3AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; + 979A030D4807A573FAA18318 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 97EDCA2A04EF5ADAAD9DC594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 987AD2821B6419D5FEDCBD7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; + 98C77B9D95141EBC60E6AE67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 98D247A4824D969367AFD0FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + 996A274720539E8497291E85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 99A3B01A6398623F40C528FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; + 9A4FCF66FF42906A7A2187A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + 9C05D3A33B0D7B6B2EA43C7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9C17E6FC9A4D7C8734800649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9C3E556586147F27B4EDC982 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9C599E35E8A990404EEF805A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9C8263A9C3210CBC6C909BDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; + 9CC0E3267A9D1EF3C8E37601 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; }; + 9CC22BDB1B3FF427D6525D21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 9D50B3000D941FDCB620068F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D61877D2691EB78B2ED69EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D91916A769A7E2967368795 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9DC4092F746AB0F5A73D929D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 9DC79DF0A43DA6B06B7B1F44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; + 9DCDB2CA1444618C4054A114 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; + 9E44079E499D4F4ECE55354A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F522CA5A8E82BF69E7403BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; + 9F5FD873C8192683DB089745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F70142818A7806830EEBD7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 9F7AC745AA0588C821A014D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 9FBAD3EFE40ACEB06B155A09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9FC1BB191F1EB657A181866D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; + A010D6D997B85A393165DAB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + A058E50779879A7D9A813A4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A0850087D0288361E552BE9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + A09CB6FA9736BD45103AFF46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + A0F2EAF085969426AC73C85D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; + A1A621FDC626245B1B3C1C4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A1C77E9A6624B8B1A461C038 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; + A2208C87019608EBF813EAA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; + A23966DF7E681FA878B27B92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + A281FFA1C7E3AFB8246FD577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A292587AA4633141BA378473 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; + A3D0C263C912566AECB57679 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; + A3E01235E4AD9DBE2405F792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + A42A97232CE0593D8D989FC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + A4F394FB62E70E3A3A02E4C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + A50AF1519D78428A8DCD91BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + A53228473B7F7BCF946F15DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A54AED02A4929ED6EB693CB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; + A54B5504235B3324635B1DB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; + A587862CF3C96C6C648216A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; + A5CEADBA23491564FEB6D4EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + A5DEEB6DADAA5AB2CF41A880 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + A61AD5378601F9DDEB8DED03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; + A67C5701B28E64F889A92422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; + A6AD00FEFB31915AB0F2798F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; + A76D6B94991D6E028EE8D1AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + A782FF0CD79464F3E015647E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + A7884EC24DD007D6232DB822 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + A789D75FEFFFB7E8E835FBAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + A7B28AD8606992FBE04C527C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + A826C1C083678A4E9279C118 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; + A8A277CAF10A3FEB258174C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; + A8C570DF829A8B8581B4E8CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; + A8CAB6FAB9BC1CC96FDE7BC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + A917646C0153D2A57E3C5677 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; + A95D718F031CB8883DFDE915 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9608756E1A18BAFCC48A064 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; + A98EED399E310BF85EBBCE12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + AA5CDD430B68BBE10A9026C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; + AAA3ED492FF78DBBF86DC612 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; + AB3C130E565756182528752D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB856191A15A8C9016D974D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; + ABA2E1FE9912D5C28F177E56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + AC018F2C47CF57EB4A87AC36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + AC2AE970951E20A199938AFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; + AC3184BE8D8804394FCCDCB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; + AC42B6006776E1CE3A3A94A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; + AC56A48CC01AABBE45F51970 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + AC725293BD38E8C66E35EED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; + ACAC59A1C54DC52E8E2438CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + AD405DDE86D07F955E27EBF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; + AD41400898312123119E987A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + AD54DAEAB7840FC18DA65503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + AD648ADDD885B93B2EB60C88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSampleBuffer.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + AD8417869D43ED72319C283C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + ADCA2F92E2C17964A4AD750E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + AE381B9D6E2A4DA363C7DD3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; + AF59758C300E586A7A6338D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; + AF885F6112CEA5C2D7934AA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; + B004D25E0DC1AA2C4CD3788A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + B0286AC6D04C5D080A299A1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0589203065E4CF2C002B0D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + B0626D2C611D9E3DF1408BEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; + B15DC22CA1E52983F4F57A9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + B189762C440B38635351E0A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; + B1A41C6141726A390E2182A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; + B1B7C62CA04ACBAC6CD1C2AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; + B1C799A152189A282E6CAC76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + B28F34DD7CABFD48B1EE3CCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; + B2D42B884600CE62E3253DA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; + B305ACE053406FF288E500F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + B316291E570F37785C40FE88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; + B3261106892038D4F954E6F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; + B32716A0B0702E6861726529 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + B3FBDBEBC38720E957C15BE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; + B401E96340B8AB5DE8CBF5C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B409D881BE39C4704C94996C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + B471C2AB67E7C68D1C7D729D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + B4769129853D2822D3DB38D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; + B54A14A497368A580B7D9AEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + B57640F7EDADCFE17719EE68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B5C3814B2174E5127F42D721 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; + B60524021E6FC59416222870 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + B6ABBE7782ECD38631EB11BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; + B6BE7EF02190070336E63E89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; + B6C7114A31FD6B1DEB08346F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B6D9BF4B75784D01B7CDE1AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; + B70E52FF75D44F0F1F0B31D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + B766DBADE0BD743FAC004870 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = "SOURCE_ROOT"; }; + B7855FA22C92F7EE272A866E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; + B7DD84C8B05ABA4A6915E77E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; + B83DDFEEA66888E9616BCE82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B88950266CC4244E1B5394F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; + BA7FDBE53073F3261D962FF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + BACA17304411EED8B219D2AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; + BAD1E66E3AA09ADD70061A50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + BAE06A3352E39521CE5D94EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + BB144FF841A99B08D5479777 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + BC0ED0B33BB83E19D9609152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; + BC1DBF05964D3B9130CD8CB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BCFE159BD9F2DA5515E028A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; + BD588F8D5FD1E6FE88E9D3E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BD7B0136829554046A511588 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; + BE61994F6993AE76CBBF1EAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; + BFB12FD84F14C9B31249FC04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + C088D98E527C1DA17B55A9D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0BA74AF0382D87B0E7BCEB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; + C0FDDD3106A13770B141E5F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; + C21701DD3A4A2628C63CB70A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; + C3DEEC17595B1AB020ADA47F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C51A754A0E65CA141A2C3310 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C52E8074125FEED4DB727EDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; + C52FB75A0A93BB1397D1F962 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + C5C3838D0FDC65F44C9D1A9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; + C7581A35068A3FB43786F4BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; + C9F7ABDA09635BC3FAB0B008 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; + CA025D4369C240E6FA30CE2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; + CBECD9165897602A506BC41E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; + CCA3065F893912F3E3625C13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; + CCF8FB3EA0246D83E3D2E760 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + CCF94157A15DD29B6C5DA939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; + D32C3176FB914F189E0139AF = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; + A748C987924800FDBA2E2184 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AnimationAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; + B5142BDA7EBA15F2DB1BB3FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + B6173E37D15602163B7C0441 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; + B6411B03A6D0185B11DBDA15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; + BC02503FFF515269351DF89B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; + BDA5B0C014F6DCC188465060 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + BDE0C2D342D03C389560501F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; + BE64EDA4F7260D2D5B7E0410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + BEC8EC4C23F9AA5C8DFEA15A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; + BF40FF2E0FA609212C849FBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + BFBF32B0E491C9D4527DF9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + C1070E62B763F1CCE0BB18F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + C186342C3FFB4DE250556D70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + C296F214D5B65857DC3DA585 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + C45AB95F4CDF31A41199E6D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C551CC8801B93AC70F6E4F76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C6CD42F1DA2F444A59CD4AF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + C73B4B312C3A4CE4F8E742C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; + C776DAD938AD7E1207DBCEEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; + C7D5A8B28D0B7DE58629AA04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; + C884444C380A4B053DB70D12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + C8A5AD5503F33596C4147ACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; + C8F82FBA1E0EF7EEA5BD02B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + C9A25E2EF32224159B617D5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C9BA40AFF2AD427CE4D480D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; + CB4D4DA89BA649D3F1B2A645 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; + CB5874E2A70E8A6A01FE8C9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + CC0B7738BD544B955D81BF1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; + CC3F295E9D9E5863779F9ACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; + CC4B3BCEE612C95F27680EA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + CC8F24C4E5FC5C12AA30F6CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + CC96E8E65FDFE4376F71D7B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + CCEBEEF441D3FCFE411AAAD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + CD3A68C29B7A733E5954BDA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; + CD405182963BEB73FB9E368D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; + CD4803D5DD14A33CF5AA9FDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + CD965406DB7511EB187919E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; + CDFAC8C57A364EEE32CE125E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; + CE0CE24264C96E86062E0250 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + CE19308F9CD1B8F05E6EF6C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; + CE4F0A27AAADFD53316A17BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; + CE75A83F0AA70025C36151B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; + CEC05A60A0E19B07F6A3CE6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF4DDBE1126E8C8C3A37DC78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF4E3CDCC9837C7E52197686 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; + CFF4FDD0FC27C36843B20BFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; + D00157FA3D14BFECB7FE7232 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; + D01D74EE9A00B0813B00FDD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + D07A5399F09462A5D7041225 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + D0A5B1AE7B7B56633AF2D5E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + D0AFF0790D81DB8F66173737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; + D0B5B79546163A6DE73D0E2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + D1000A39817E9B771A4FB856 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; + D10497F87C560FA833756730 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + D104C8636576DFE8A2D11430 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; + D108D5FFE66F80627621DCA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + D11D931DAED4F636E8A60264 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + D12F8398C3EA9BA0FA88B5CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; + D19705FE67C941DA74C31A9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; + D219A10E7C41110A1AA4FBB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + D26821159E190113FEBF99BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + D298D1DE4D2FE281CA30910C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; + D2A5F78D0EF37F1E45DF39D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + D3B4D56DE3F90D9A445A47A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + D3C1097E92146B596194A067 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; + D40C36493501EA97A8D1EB50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; + D4BA573C125944E2773D747F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; + D52EB7F089EF359EDCB199AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; + D57735149DD4975283A0C754 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + D5C10F9CC5ADFC1B63AD1DB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + D5EC3B41088855C3D481A73E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + D64B71F992FF01CB0EE89641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; + D6D37626671B0FB1CE8505C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; + D6ECAF8B2A4E8B6C97B89FFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; + D763221FDA235D75039D4C46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + D7C8F6360C455C0F76E35978 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; + D7E612935BA192BF5D24B9A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + D80EEBBDEC364958AE05AFFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + D8256B8AA794F43A2259638A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; + D886106C60A496E47C48AFB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8BAA82AC820CEF315BD9DCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; + D949A0753DEE4B4AACDDA3AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; + D9FAC914CA572410C055D109 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + DA353BCF838D64BA343AC0E1 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + DA9671908F37549C583C61E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + DA98B32DCA0DEF0113C22F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; + DAB059DA13868A81301513F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; + DAC4442F8C2F142270E92349 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + DB1C6393173661404927B4B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + DB4AC9766332105669D51C1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; + DBB34599E380FB1F37A28B27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; + DBDED1D6237A21D03E68D323 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + DBFBBC58ED4A18EA9FE04D1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; + DC3B995E7B51FC0B76826C86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC6461EF11D5745DF8C00E16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; + DC66DC84909A3802527414C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC94270BB4A70056907C3CDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; + DD03B6CE6F750A9CECA7EDEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD19124F0A7FD43F31BDEB87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; + DD2007C851B70E2C71171145 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD73087B002B1DB6B90B666E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + DE1943CA08D7FAB2E3EC0A14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; + DE4C0926D2EFA7649BD3AAA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; + DE4DC23FAE4C420D489ABD17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; + DEEA654926310D5B37A191C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; + DFAD61F886BEAAAE535BBF81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; + DFC58448ADEA2B5D2FF5F8D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; + DFD9E836DB24F4DE75A94C29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + E0A44ED2A465E22D93420F88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; + E0EF847C7052C5FFA2A7CF8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; + E0FCA8F19A081CE941B273FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; + E109BFE0F2475C97F17CA5AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; + E13860F17C7FC399EF28EC1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; + E1868998BA7B20DF7ED0B5E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + E1A153E1CA08E918F65C2B4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + E1AC4AB03052A8F3FF90FBA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; + E21A45155C6954C6E50CCAF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; + E2307A386F9B96576696354B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + E29A372A41F835609F81CC43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + E2E3FA0BA7B7C8EB3C47B642 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; + E323EAC836E3B5BB29B6AE06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; + E40FB3B047D27337B9A9CACA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; + E443717EB8EC16A0B1814BAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + E4D5FB6A6F806D9400BBF344 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; + E57F103FCFDEE26617E3F8F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + E587838C598E06E7959F2A31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; + E5918150BDBDBCC3060C9FB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; + E5AF1F5B3F7F2B30606FBF24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + E5B323382721E0B714F5D805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + E5B84D5F7CF2B74715EEF3B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + E652F16998FA1CBF2068C6FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + E6BA3A4991987C4AB55F5948 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; + E6D8902FFF0C8CDBB3E4BEA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + E6E99E6E9BB715D12B35AB4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + E70034BF5EF1721B245C3079 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; + E7488E12D0F3300AE33E0B9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + E7EC04A96E1CBFA9428A4B80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; + E958ECCACCCE70690FAE58B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E973909AF8AFFB788A250CB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; + E9A4C91E94B6D096BD8217D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; + E9C249D9F38B0DFAF0823653 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + EA13B2FC256C7BCF0900369E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; + EA5874F225E76DED69BD7132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; + EA749A33B0E635F691A42C64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; + EA779F8A580E3D22A7CBD51E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + EAAFB86397B191FF3713155B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + EBC4E11E36D206EDF01E6EB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + EBD6F8CE3122B2AA015A62BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; + EBDC0E12D4ED20F5DB90BC26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC11D53A4118E15738CC70BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC9898734E8AFE5215705476 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; + ECD7A374DADD305C66141AF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + ED5E6273C8910BF1F8CBDB9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + ED773069A737B4877D02DD90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; + ED7E17722B60B7D89188CE60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; + ED8032A884A03337DAA1D453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; + EE577E6ABD70D104CD83186C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; + EEBBCD11005AE9AD87B36F32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + EF8B8FB4B02133457562E1F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + EFA1E7B282EF67800F4766AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + F0B46A9181B1707349A20399 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F0D54DDE8C2AD1D018A61FDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; + F0E4B5B18AAB82215F5C6AE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + F113DFEACAF2D8230F0DF5E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F16734BCF880A8180C06018D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + F2040E4B76F8783B471CECED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + F20F182CBEF008AA1B1BB52A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + F22781915698D59D4CBE984D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + F233E88B6F2BC6906819AE6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + F257AD1B82D5595FF9C3F1CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + F26953C1E056357A3DFDF35C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; + F2A1FCAC1825462CD568D442 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; + F2DDCDF62D2587FB565A442A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + F30876EE30580650FD17B801 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + F3154C77D5DFCE8D71084F23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; + F33B267B702055F8CE27BDB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; + F34126F005008CBB1C42B68F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; + F36959B167E88B220CF9D8FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + F36FACCDB4B94286F6042490 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; + F382E14FAFF5CDEBFEA81B00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F38F8132499ADBD3344E8449 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; + F3A0B8ADF39FA8F15A6D8E23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + F3BD246F4283B08B1E21C75B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; + F3C52FC514B9B3A2DFD7E3F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + F4454839EB930FC98D63AED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; + F49471EE0681DBD1115D927B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + F4A977844BD67D5C2BEFCDDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; + F4F618373A81FDC73AB27A91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; + F5091F49E07C6DF8F644BAF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; + F64C6AC0DC0376A80A74A82A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; + F65A6A3350F6251E8BBF8CF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + F73B6D934AEC9887D9EBB5E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; + F79ADEBA7B305354085FFB8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + F7B6DBDC7439C90B4E01752E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; + F7E781AFAA34B511C812896A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + F831631700830F81994D9980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; + F83392D9825422AF0DB638D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; + F838183EDFF5937C2879EE41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; + F8EB370470B7928A80032F7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; + F95533D725E548643CA584D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + F9609B0A0387932B86A6FABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + F994D2E0DF00D0A7765068EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + F9B00F8F537F74527F6C463C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + FA2DB83279928FFB76A4BC6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; + FAB998A70437EE4D89CABE2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; + FAC04A1B47255DA7A6397737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + FAF4C6D8D1D59932F12DF6A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; + FB3BE7E3D0A04791487E9E0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + FB459E95101C8A92E5B39A67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + FB81D25CF4825A9A186B6790 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + FBC55E440EF1EA83FC0DAA5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + FBDBD56614E38BB5A5592D32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + FCA9526394A63B33405F8E58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + FCC9F258531F00BCD91C63DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD05E73E3F022E08D70B9569 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + FD1FFBCE5E94D08B6FB60F70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; + FD5262552A90A9DFACB3C07F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; + FD5E948C1A89B11770A20704 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; + FDA36D1F836D00DE705CD06F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + FDE0D8E73B0ED8A938C99AAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; + FE1E97C9233F2D472C7C6128 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + FE41044F09ABE0A6BC0F9293 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; + FE55A1DFB90A1A5EF37B1741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; + FEA645D52C593ECCEA779BAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; + FF1CEE8501CA0F081EE0E3AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + FF1F4F1262BB429E80492B13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; + FF3D4768BC96B79F49B10894 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; + FF70C4AB4F37D7C7E1668660 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; + FF7A26DADF1579C43D80454F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F41B5C4D3F9CE9C17373AB3 = {isa = PBXGroup; children = ( + B766DBADE0BD743FAC004870, + F7B6DBDC7439C90B4E01752E, ); name = Source; sourceTree = ""; }; + C69760E59D600CF000D468E8 = {isa = PBXGroup; children = ( + 9F41B5C4D3F9CE9C17373AB3, ); name = AnimationAppExample; sourceTree = ""; }; + 56E5D80A2B5A0AB691ABB90D = {isa = PBXGroup; children = ( + AC2AE970951E20A199938AFB, + 7A46778023CF61B3F417F9AC, + AD648ADDD885B93B2EB60C88, + 6D0D0EC5B978695152A0B84F, + F34126F005008CBB1C42B68F, + 03D03AF17C5E899ED9481518, ); name = buffers; sourceTree = ""; }; + 976965B1038594B4C210B247 = {isa = PBXGroup; children = ( + 9F5FD873C8192683DB089745, + 5358DE9C9773654731E6F615, + 8DC827CCF543708CF729FED6, + A917646C0153D2A57E3C5677, + 95440A40B2FB3CE5E09D57B4, + 6A1D79062B92685A87BEE5F6, + 8CA01F9530AC5512C6B74325, + AC3184BE8D8804394FCCDCB6, + 8FA02AA8698232B53D4BFDBB, + 8EDD1755AEE1C95660A06BF2, ); name = midi; sourceTree = ""; }; + 26A3DDC7B0D9C11EC02E6407 = {isa = PBXGroup; children = ( + D64B71F992FF01CB0EE89641, + 1B3B7CBA0D25C83B8AF72641, + FDE0D8E73B0ED8A938C99AAD, + 0311666DB95BFAE686267D7C, + 403453363C4785FD451A9BA1, + CCA3065F893912F3E3625C13, ); name = effects; sourceTree = ""; }; + FE8AB04D3B86B9666AD12C5B = {isa = PBXGroup; children = ( + 086CE5C768CF5889BDEF8955, + DA9671908F37549C583C61E5, + 97EDCA2A04EF5ADAAD9DC594, + 4EAE69CF6B5097A57EBCD27B, + BFB12FD84F14C9B31249FC04, + 6EFC227515CACDE0F8664EC2, + 8B155ED74D3D0EB7E890E421, + 4EBC561A323AEE4D76AD7906, + 979A030D4807A573FAA18318, + 83BA5BED925F6F827DF98CA8, + 570C35930202882A634FC029, + 44B3428E8BB4B70104CD76CF, + 1D5B751294F84B86ABB11D4A, + 301AF9BA843B1955EE001C98, + B5142BDA7EBA15F2DB1BB3FA, + 3900C9B11914C94DFA1F8C33, ); name = sources; sourceTree = ""; }; + 11ABF0A415636F8CD40A3097 = {isa = PBXGroup; children = ( + 9D91916A769A7E2967368795, + 8C105487633A9BD04FDEE50A, ); name = synthesisers; sourceTree = ""; }; + AF12826F0B38E7FC1176C648 = {isa = PBXGroup; children = ( + 56E5D80A2B5A0AB691ABB90D, + 976965B1038594B4C210B247, + 26A3DDC7B0D9C11EC02E6407, + FE8AB04D3B86B9666AD12C5B, + 11ABF0A415636F8CD40A3097, + 8DEFACA6858D254B4202AF12, + 3B9903B0A0252D106C92CAA9, ); name = "juce_audio_basics"; sourceTree = ""; }; + 3B35E0DA3DB0B1509311FBDF = {isa = PBXGroup; children = ( + 884AA1209A726AEAF76E31B0, + 3D24784AEA7726A64A340625, + 4A1671B78E589A865FEA3CB1, + 62E534D1F0B31CD4A1B572E1, + B6173E37D15602163B7C0441, + 4BF9949E0C30EA64B16004BE, + 04C105672DA409FE8593DB04, ); name = "audio_io"; sourceTree = ""; }; + D487CFDA56FA408A04203A20 = {isa = PBXGroup; children = ( + BC02503FFF515269351DF89B, + A789D75FEFFFB7E8E835FBAB, + B004D25E0DC1AA2C4CD3788A, + D298D1DE4D2FE281CA30910C, + CE75A83F0AA70025C36151B1, ); name = "midi_io"; sourceTree = ""; }; + C3D887B6F1284C2394FD72D3 = {isa = PBXGroup; children = ( + 814E0D982BC2A18B9BAF3E38, + B6411B03A6D0185B11DBDA15, + 911B308D5222BDFD954DBB32, + DFC58448ADEA2B5D2FF5F8D3, ); name = sources; sourceTree = ""; }; + 09D6686EACFD43021C0E69F3 = {isa = PBXGroup; children = ( + 41C74B59D9B392117441DA2D, + 35A7FD6EFDE29D2EBD7DFCB8, + BDE0C2D342D03C389560501F, ); name = "audio_cd"; sourceTree = ""; }; + A62DE30F63767AFA483DE8C6 = {isa = PBXGroup; children = ( + FCA9526394A63B33405F8E58, + B1C799A152189A282E6CAC76, + 2A098563977566E9A9E8CD7E, + F30876EE30580650FD17B801, + 95412F7C12937CC7AC22ADCF, + B0286AC6D04C5D080A299A1C, + 32C683CBA18109949D53149A, + EFA1E7B282EF67800F4766AE, + 55417F6D23E7075E5E27BECB, + 5EB144BD6AC4D4DE96ABFCA2, + 25B41C0851C004C9D410B7C8, + 56545F3F893C3D8CC9215051, + 7AC4D7A22EE9E1F4FBD407C7, + 805F27CEEC53F4E659884D7A, + 29F5A84EE715DA5BCED467A1, + D763221FDA235D75039D4C46, + B2D42B884600CE62E3253DA3, + 5719A93B0F6AFE95FC49B673, + 73FF82BCB568578396E88C92, ); name = native; sourceTree = ""; }; + 270A86F6A3CE512F0B3EA8DC = {isa = PBXGroup; children = ( + 3B35E0DA3DB0B1509311FBDF, + D487CFDA56FA408A04203A20, + C3D887B6F1284C2394FD72D3, + 09D6686EACFD43021C0E69F3, + A62DE30F63767AFA483DE8C6, + 442199479D1499B6A44BD150, + B1A41C6141726A390E2182A2, ); name = "juce_audio_devices"; sourceTree = ""; }; + 72D396CB5861C9C441B3E360 = {isa = PBXGroup; children = ( + A76D6B94991D6E028EE8D1AA, + 0E70A4BFB2F7D1AB6188E72C, + CCF8FB3EA0246D83E3D2E760, + FF1CEE8501CA0F081EE0E3AE, + E1A153E1CA08E918F65C2B4D, + E5AF1F5B3F7F2B30606FBF24, + 853D2D1ADD05C320052DD5FC, + FE55A1DFB90A1A5EF37B1741, + B5C3814B2174E5127F42D721, + D1000A39817E9B771A4FB856, + 71DF518DE7A248B97C8E1C2E, + 6E6672E4055AC4F6D8688310, + 63E66F6D161941FE12465C29, + AD8417869D43ED72319C283C, + 9CC22BDB1B3FF427D6525D21, ); name = format; sourceTree = ""; }; + 23741F076745FB046C07FB1D = {isa = PBXGroup; children = ( + AB3C130E565756182528752D, + 7F162E198ECF41AA895DB94B, + 0BC32F0BB0B5393D25E09D00, + D80EEBBDEC364958AE05AFFB, + 0AE6516868244378D09124A0, + E57F103FCFDEE26617E3F8F2, + 932126F914644642A8244676, + 1AB580D4342BFFD41F220358, + 264F684A80B93F7A189A5FA5, + F65A6A3350F6251E8BBF8CF7, + D108D5FFE66F80627621DCA0, + CD4803D5DD14A33CF5AA9FDE, + 4B27C30CF5AC7BFE0AF537AD, + 996A274720539E8497291E85, + 0D530396A7BA6BA190100C6E, + 46885692CC5FDE30FC3649F6, + C52FB75A0A93BB1397D1F962, + 4B8102606812A7964CF8D9CE, ); name = codecs; sourceTree = ""; }; + EA0CB9DC4E43539FB25FBC68 = {isa = PBXGroup; children = ( + 5774E190A351EDF7B7AAB188, + EA749A33B0E635F691A42C64, ); name = sampler; sourceTree = ""; }; + D8CF14F51DEE1EA3625BFE6E = {isa = PBXGroup; children = ( + 72D396CB5861C9C441B3E360, + 23741F076745FB046C07FB1D, + EA0CB9DC4E43539FB25FBC68, + 768754211363FED3D2188C9D, + 62B6E8B6269ADEF23D85FA3E, ); name = "juce_audio_formats"; sourceTree = ""; }; + 2127B046D500ADBA07220814 = {isa = PBXGroup; children = ( + A61AD5378601F9DDEB8DED03, + E323EAC836E3B5BB29B6AE06, + E2E3FA0BA7B7C8EB3C47B642, + ED773069A737B4877D02DD90, + E5B323382721E0B714F5D805, + 40B9C2276B7EF73860E2606B, + 15029C3F041B27DD7191482F, + A8C570DF829A8B8581B4E8CC, + 2D5F3AD1A03B34AE7349DF5F, + 102919EC5BCD10DA703688CF, + 673759E656DBA5A9377433E5, + FAC04A1B47255DA7A6397737, + EC11D53A4118E15738CC70BB, + B6ABBE7782ECD38631EB11BC, ); name = processors; sourceTree = ""; }; + DB8C9872311AD82A6BE28BCE = {isa = PBXGroup; children = ( + 8741126A9694372E46E3FD32, + 381B8B8A9D5203E73FED79E9, + 83325A69170997E33D73770A, + F3C52FC514B9B3A2DFD7E3F6, ); name = format; sourceTree = ""; }; + CD61E634B4D011ABCFA7E39F = {isa = PBXGroup; children = ( + A50AF1519D78428A8DCD91BF, + E587838C598E06E7959F2A31, + E6E99E6E9BB715D12B35AB4A, + 38EDF1EAB12A05CEE439AF23, + 36B8F6CFEEA3C1E2A0D09E56, + 2B02634F8DA8660ED42B0AEF, + F79ADEBA7B305354085FFB8D, + 66E854431C2BBDEE56EA43C8, + 0F67C59CB48583941B8656EF, + BB144FF841A99B08D5479777, + E652F16998FA1CBF2068C6FC, ); name = "format_types"; sourceTree = ""; }; + 6C9E51DC570947CDBD246B3E = {isa = PBXGroup; children = ( + 0B933FCCF82100D67C0B7D34, + B7855FA22C92F7EE272A866E, + 2E650C2E92EA2732B66070D4, + EBD6F8CE3122B2AA015A62BB, + A53228473B7F7BCF946F15DF, + 88EF4C8D3A1D2498D8ADB6E0, ); name = scanning; sourceTree = ""; }; + BA9B6357DA1BF8D6E3120176 = {isa = PBXGroup; children = ( + 2127B046D500ADBA07220814, + DB8C9872311AD82A6BE28BCE, + CD61E634B4D011ABCFA7E39F, + 6C9E51DC570947CDBD246B3E, + 3F0388309395C138AA68FAD7, + 6E841DAA09FE06910D94447D, ); name = "juce_audio_processors"; sourceTree = ""; }; + 8C7AB91AFCAF2F99D0E906B0 = {isa = PBXGroup; children = ( + 5A854859042F6CD761688B25, + A42A97232CE0593D8D989FC1, + 8E407C1CF739A93FD2B3B38C, + 7AC8C094442A603DE6257BB1, + 4A86B4371AE4FC58D879962C, + D6ECAF8B2A4E8B6C97B89FFE, + 1AB9713046E08B68A6F672CF, + 22C4F82B505995F81CD682B5, + FF7A26DADF1579C43D80454F, + 916001804771DF943551AAEF, + 61797A8C01DC08E83AFA4540, + 935BCEB2593A51E53187ABC2, + D9FAC914CA572410C055D109, + 17B07A06764A6A7759804033, + 14245CED80854EC5291657FA, + 926063234BAFA6D29366E43E, + F4454839EB930FC98D63AED3, + 389B4E4055A779D0F6B22C5F, + 1450CD0879661355CD52DD8D, + F2A1FCAC1825462CD568D442, + F49471EE0681DBD1115D927B, + C0FDDD3106A13770B141E5F2, ); name = text; sourceTree = ""; }; + 6898E6C42CC9520DC26F9FBF = {isa = PBXGroup; children = ( + BAE06A3352E39521CE5D94EB, + AD41400898312123119E987A, + A3D0C263C912566AECB57679, + AC42B6006776E1CE3A3A94A0, + 1B3CC8F665F23CB86253EBCE, + 4B8342C50F962C3F0AEE9830, + 8B7C0F839098C534A7B4C725, + B28F34DD7CABFD48B1EE3CCE, + CA025D4369C240E6FA30CE2B, ); name = maths; sourceTree = ""; }; + 01A8BF73C8C9D282E9E58D7A = {isa = PBXGroup; children = ( + E1AC4AB03052A8F3FF90FBA4, + 4BDEC9A0A09EEDC9D7BDB826, + 08EC867C77B028C336B79752, + 68097881EEDDE0FD03100CC5, + C0BA74AF0382D87B0E7BCEB3, + FAF4C6D8D1D59932F12DF6A7, + 8C6A342773288620A8CC2598, + ED5E6273C8910BF1F8CBDB9B, + 097237CCE04B9020343CB28D, + 61F0D5937E23A6A9EE8D479C, + F22781915698D59D4CBE984D, + 289C3977B67C1898AC3B974D, + 4A36826C3F710B92F0347A16, + ED7E17722B60B7D89188CE60, ); name = memory; sourceTree = ""; }; + DD57AFE6D9A0218912B3DD93 = {isa = PBXGroup; children = ( + 6EEECDA2EB328FB597208954, + C7581A35068A3FB43786F4BE, + 0C89377A44F26612524DA129, + E973909AF8AFFB788A250CB6, + D12F8398C3EA9BA0FA88B5CF, + CCF94157A15DD29B6C5DA939, + FD1FFBCE5E94D08B6FB60F70, + FF70C4AB4F37D7C7E1668660, + F36FACCDB4B94286F6042490, + DD2007C851B70E2C71171145, + E4D5FB6A6F806D9400BBF344, + 3A9FC7EFC378976EE696AE83, + 749854CD2D13BBBA500F353F, + AC725293BD38E8C66E35EED3, + D949A0753DEE4B4AACDDA3AF, + FE41044F09ABE0A6BC0F9293, + 4DB2143B264FC1AE54490BF9, + 55CEFA60FA0CBA0E6CB71F5D, + 4570554FB8438C0692EEDC55, + 1C71768A34644733E39EEF4F, ); name = containers; sourceTree = ""; }; + 7A970EF4CD9FEB460B82CAB2 = {isa = PBXGroup; children = ( + 381AE52C082AE08E724CB954, + D11D931DAED4F636E8A60264, + EA5874F225E76DED69BD7132, + E7EC04A96E1CBFA9428A4B80, + 3AE89D0904EE985359A73B91, + A292587AA4633141BA378473, + F9609B0A0387932B86A6FABE, + 9F522CA5A8E82BF69E7403BF, + F5091F49E07C6DF8F644BAF0, + B409D881BE39C4704C94996C, + 69A2DA87D304FD486A872C1B, + 0AD4B355DBB0AED4C90E5657, + 91D09C7242A24405FB364449, + A9608756E1A18BAFCC48A064, + 44185DE135E354DD4758B3EA, + 426283CFD858F482E87F530B, + 6F6F888BFFA4BB40DD71285E, + 390351E336C2CF20C38ADB59, + 897B10399D1CA882B5B98D0F, + 7743414F79908801328D9F03, + DE4C0926D2EFA7649BD3AAA5, + 3E19A71C4A345EB5C1BA466D, ); name = threads; sourceTree = ""; }; + A7DDE84C6BDC340DFEAC5C86 = {isa = PBXGroup; children = ( + 24363F41974FD7A3B634B78B, + E21A45155C6954C6E50CCAF6, + 4ADE9EFB6C41DE44D40C9837, + CE19308F9CD1B8F05E6EF6C5, + ED8032A884A03337DAA1D453, + 5CDC0F220B1EAE847D38D1DE, ); name = time; sourceTree = ""; }; + 0B90B115C693F54D5DF8E732 = {isa = PBXGroup; children = ( + 9D50B3000D941FDCB620068F, + AF885F6112CEA5C2D7934AA3, + 3FECAB20E9C0834676E2D9EB, + 175654F2545AD9C0603BD0B4, + E443717EB8EC16A0B1814BAC, + FB459E95101C8A92E5B39A67, + 57490A9F97D62E7A312EA90C, + DFD9E836DB24F4DE75A94C29, + 87EDBC629357F63AB8E7B507, + A23966DF7E681FA878B27B92, + 70B18C93C5696330A877B330, + 35AAFB158E16D03C4D977713, + 605EA4B27D057BCB9263BCFA, + D10497F87C560FA833756730, + 176B18B9B61FDA6EC4357EB6, + 07C83735435D264F28158F79, + AC018F2C47CF57EB4A87AC36, ); name = files; sourceTree = ""; }; + 9E9C1F84B44CA85F5F472594 = {isa = PBXGroup; children = ( + 90B6C81CFB0DE386C673F62E, + 7639526FBF7A4F41961483ED, + 84ABA9491A70313AD6BF6F9A, + 6A22C06C6FE2B6B494B4878D, + A4F394FB62E70E3A3A02E4C7, + 8C3A6351780E678334FA1406, + 9E44079E499D4F4ECE55354A, + 2B57EB41D3962E3518B79FD8, + D6D37626671B0FB1CE8505C9, + DBFBBC58ED4A18EA9FE04D1D, ); name = network; sourceTree = ""; }; + B87CA56B966A881DBF190AE7 = {isa = PBXGroup; children = ( + 23936BBF807CCF5B1EEB9F00, + BDA5B0C014F6DCC188465060, + 6C502DF33FB5C14B8A67B25D, + 7E0DD06926DAC8EE93BD4F08, + 6421EA349C5D558114D36717, + 440A182A9068A8FBD011BE1A, + E5918150BDBDBCC3060C9FB3, + 47E70AF805B1C5C57566C4CB, + 52062790A5E737C8846A23A2, + ECD7A374DADD305C66141AF4, + 8945894D17A9407EEEE3B8BD, + 07E19FB806980020A47AA47D, + 803480FD5E7181E0D64FFC53, + B305ACE053406FF288E500F8, + D0AFF0790D81DB8F66173737, ); name = streams; sourceTree = ""; }; + C0BC501BDABAB02545D8CED7 = {isa = PBXGroup; children = ( + DEEA654926310D5B37A191C9, + 234D4927B398ED6E9B7B0E6B, + 5D43D909CB26D4A07A62A4F7, + D52EB7F089EF359EDCB199AF, ); name = logging; sourceTree = ""; }; + 314A7534CB4D49F809F0BF86 = {isa = PBXGroup; children = ( + 7141B07690C1A022A2BFFBBB, + DAB059DA13868A81301513F7, + 07342D914D2A5AF6075CDB2D, + 3CD47BA1CFEFB637DDEAC313, + 03B79DBA48F6C4122DABEE90, + 67895BDE8FA4B2A01E3B8B12, ); name = system; sourceTree = ""; }; + 61DC39E8E45840C4E9876585 = {isa = PBXGroup; children = ( + 03E91AE23ECCF51E3AF9FC90, + D19705FE67C941DA74C31A9D, + EAAFB86397B191FF3713155B, + E40FB3B047D27337B9A9CACA, ); name = xml; sourceTree = ""; }; + 044DA355DFC10789F7E2671A = {isa = PBXGroup; children = ( + BD7B0136829554046A511588, + 9DCDB2CA1444618C4054A114, + 1737596EB7F40322C0A5DE20, + 5C58E6217AF57BD2A33ED617, ); name = javascript; sourceTree = ""; }; + 9EE7BD032D2E50758043A0FF = {isa = PBXGroup; children = ( + DB1C6393173661404927B4B7, + 6C03031AAE5A7C3372D4F1CF, + FBDBD56614E38BB5A5592D32, + 9F7AC745AA0588C821A014D0, + 3FAA5384DA8B28DEB5E57A5D, + DFAD61F886BEAAAE535BBF81, ); name = zip; sourceTree = ""; }; + 6BA585E8E2F21352228FF71C = {isa = PBXGroup; children = ( + 5878CA91071620345AB5B3C4, + 1E6EF8035485237EA92A1310, ); name = "unit_tests"; sourceTree = ""; }; + 246C87B7ECF29ACA118F0242 = {isa = PBXGroup; children = ( + 9C17E6FC9A4D7C8734800649, + 941219816EB5D7A2231019FA, + BACA17304411EED8B219D2AC, + 98D247A4824D969367AFD0FB, + F73B6D934AEC9887D9EBB5E2, ); name = misc; sourceTree = ""; }; + A37D31A95DAA40A87611411B = {isa = PBXGroup; children = ( + 6238740697CA1F0746776243, + A782FF0CD79464F3E015647E, + DC3B995E7B51FC0B76826C86, + 8C24F74CB23F1B82C80386FF, + C186342C3FFB4DE250556D70, + CCEBEEF441D3FCFE411AAAD6, + 823BBAE97A02475F25E54F9D, + 161F35FA23347F495704C26A, + 9FBAD3EFE40ACEB06B155A09, + 13430EC7CBFEF46874F53731, + 4DB48F6BAEFA120A31259EAE, + B15DC22CA1E52983F4F57A9D, + 5703889367170F80CAC76898, + E0A44ED2A465E22D93420F88, + A2208C87019608EBF813EAA8, + CD405182963BEB73FB9E368D, + 9C8263A9C3210CBC6C909BDF, + BE64EDA4F7260D2D5B7E0410, + 618839275E13B9DB660001E4, + 84494501A6148DAFE162650B, + C9BA40AFF2AD427CE4D480D7, + 02AC998E808CAF5C148CFFC5, + CB5874E2A70E8A6A01FE8C9F, + 7DCF49E37B27971A7E597555, + 843BE36A2285F73A3FBB5660, + 40F0E944D041D96F2DA4C6A2, ); name = native; sourceTree = ""; }; + 5CF56D8EDFCB4673E75EB0E4 = {isa = PBXGroup; children = ( + 8C7AB91AFCAF2F99D0E906B0, + 6898E6C42CC9520DC26F9FBF, + 01A8BF73C8C9D282E9E58D7A, + DD57AFE6D9A0218912B3DD93, + 7A970EF4CD9FEB460B82CAB2, + A7DDE84C6BDC340DFEAC5C86, + 0B90B115C693F54D5DF8E732, + 9E9C1F84B44CA85F5F472594, + B87CA56B966A881DBF190AE7, + C0BC501BDABAB02545D8CED7, + 314A7534CB4D49F809F0BF86, + 61DC39E8E45840C4E9876585, + 044DA355DFC10789F7E2671A, + 9EE7BD032D2E50758043A0FF, + 6BA585E8E2F21352228FF71C, + 246C87B7ECF29ACA118F0242, + A37D31A95DAA40A87611411B, + DA353BCF838D64BA343AC0E1, + 74302B51B991EA1775AEFC67, ); name = "juce_core"; sourceTree = ""; }; + A24377A329F782F1DF1A9E92 = {isa = PBXGroup; children = ( + 9C05D3A33B0D7B6B2EA43C7A, + 567D63D778B7A22C5D97F1C5, + 9C599E35E8A990404EEF805A, + CFF4FDD0FC27C36843B20BFC, + 29D35A5AB22E9443E0ED8F99, + 66897EA1FD2CDFB4CED47F8B, ); name = encryption; sourceTree = ""; }; + D05EA809F9DB6CFD6B0BFEC0 = {isa = PBXGroup; children = ( + 4C87C8EC24CE0EB64640238A, + 2CFC9FB97ED3587D7E0E4E4B, + 4228B8952E3FBCDA69C1948B, + F8EB370470B7928A80032F7C, ); name = hashing; sourceTree = ""; }; + 752AB8D433735A877FC90255 = {isa = PBXGroup; children = ( + A24377A329F782F1DF1A9E92, + D05EA809F9DB6CFD6B0BFEC0, + 19DC6BDBA978DC67B9783340, + E109BFE0F2475C97F17CA5AF, ); name = "juce_cryptography"; sourceTree = ""; }; + 569E6262B6ED4B4C394F150B = {isa = PBXGroup; children = ( + 2E96848340E1C1B1095AC1F3, + 9A4FCF66FF42906A7A2187A5, + 2B1494112273ADF380C99FD3, + 73CA6BCA313B0239842F298C, ); name = values; sourceTree = ""; }; + F3B535506E5F093EB8206BDA = {isa = PBXGroup; children = ( + 616493921A733162495E7553, + 369C06F1DC7B3B7EB497D062, + F7E781AFAA34B511C812896A, ); name = undomanager; sourceTree = ""; }; + E4B1CF3D54E0B5547CDF9A87 = {isa = PBXGroup; children = ( + 09846FF5D2FFB83242A02FF4, + B4769129853D2822D3DB38D1, + FBC55E440EF1EA83FC0DAA5A, + AF59758C300E586A7A6338D1, ); name = "app_properties"; sourceTree = ""; }; + 670AA26A4F8D5CF111CE304F = {isa = PBXGroup; children = ( + 569E6262B6ED4B4C394F150B, + F3B535506E5F093EB8206BDA, + E4B1CF3D54E0B5547CDF9A87, + FB81D25CF4825A9A186B6790, + D3B4D56DE3F90D9A445A47A6, ); name = "juce_data_structures"; sourceTree = ""; }; + A9C383106F234D341DE730BA = {isa = PBXGroup; children = ( + EEBBCD11005AE9AD87B36F32, + 868955327EBBD0C2C2447DB3, + C5C3838D0FDC65F44C9D1A9A, + F3BD246F4283B08B1E21C75B, + 3324210159E5C546DC5C2065, + 6804336FE1AB499087ACE437, + DB4AC9766332105669D51C1E, + 314E9338935BC33A1C468B3E, + AE381B9D6E2A4DA363C7DD3F, + 8C547C48DD5B3A854DBFF0F3, + A54AED02A4929ED6EB693CB9, + AB856191A15A8C9016D974D5, + CD965406DB7511EB187919E7, ); name = messages; sourceTree = ""; }; + F197372050DC8782B9089C8A = {isa = PBXGroup; children = ( + 7A029D97E723C7F1BDDCAA49, + F3A0B8ADF39FA8F15A6D8E23, + B6D9BF4B75784D01B7CDE1AF, + 7F2BBAF79EB32BB9904A76FF, ); name = timers; sourceTree = ""; }; + 59EA583396C9C41EDC94D5F6 = {isa = PBXGroup; children = ( + B32716A0B0702E6861726529, + 2DCAC1795F1B47C592E65D4E, + D7C8F6360C455C0F76E35978, + 59CAB9E5A0CBBC51342FC065, + E70034BF5EF1721B245C3079, + 142D03BC875BD387BD10C51F, + 5C62F423D8469A02E55BF59D, + 435858CCF38F47E9AAE1B08F, + 5BBF8CA223EEE4D9C769E453, ); name = broadcasters; sourceTree = ""; }; + B90F0A1A63C3408C288F6D8C = {isa = PBXGroup; children = ( + 6D3F3D0139FAC58B2BAA6047, + 9DC4092F746AB0F5A73D929D, + A587862CF3C96C6C648216A3, + DD73087B002B1DB6B90B666E, + 4F5DED2313FC69EA518E5679, + 1E020B9E032C076071700CEC, ); name = interprocess; sourceTree = ""; }; + C271DA3D9CE655C433BB4DD3 = {isa = PBXGroup; children = ( + 88CC8BC2EA8CDB378A03FADA, + 3C89D04328C83D2FDD4E5116, + 89CBCB2D4660B56C1A939011, + 7627F01C1E5383207D2C0BFB, + 17B2789DEC279EE7DB8D9BE4, + 93667813A711750790201F8D, + AAA3ED492FF78DBBF86DC612, + D219A10E7C41110A1AA4FBB9, ); name = native; sourceTree = ""; }; + 4F8A65DC4E47B7CB0DB88369 = {isa = PBXGroup; children = ( + A9C383106F234D341DE730BA, + F197372050DC8782B9089C8A, + 59EA583396C9C41EDC94D5F6, + B90F0A1A63C3408C288F6D8C, + C271DA3D9CE655C433BB4DD3, + 7C7B6D8D155687966F681F5B, + 63B031ABCF8DE5C94889823B, ); name = "juce_events"; sourceTree = ""; }; + BA53DF8ABDA9DAD0F963BC8B = {isa = PBXGroup; children = ( + C7D5A8B28D0B7DE58629AA04, + 5C8795B0DE5C729CA18FE89B, + 2E2B14A2334528E4405AEDDC, + 8A4A25946040DED54DB8F3B1, + BC0ED0B33BB83E19D9609152, + C776DAD938AD7E1207DBCEEB, + 5A1777E116DA01B554C90CDA, + 236F239E035044438B7CDFCB, + 91B991143655810C26644D50, ); name = colour; sourceTree = ""; }; + 88878CC1561F13CF681027E9 = {isa = PBXGroup; children = ( + 326E293A87E18FC3FBB26B47, + 2048DACF787A9BFE011041BC, + EBC4E11E36D206EDF01E6EB0, + D0A5B1AE7B7B56633AF2D5E2, + 64807B3EFFBDC3348512901E, + 123B63088FA1C4D1AD225CDB, + 2FDA8843C89E2D7DFBE3FBFD, ); name = contexts; sourceTree = ""; }; + D5CDF20FB8932DEA5810EEE1 = {isa = PBXGroup; children = ( + BE61994F6993AE76CBBF1EAB, + 6911E01E967839199E4C9822, + F994D2E0DF00D0A7765068EF, + 2807A00AE6C4539CD935F56D, + 94FAC7EB87C8EBE67F68AD60, + 9FC1BB191F1EB657A181866D, + 3966D734450E72F5682D2F06, + DE4DC23FAE4C420D489ABD17, ); name = images; sourceTree = ""; }; + 2C9A23E9808933102222B6EB = {isa = PBXGroup; children = ( + 55D04DC4EA2F037CCD5DF9A6, + 244B9B4B8307A8C51207D457, + 4FB8B3386156F5702A20F7D8, ); name = "image_formats"; sourceTree = ""; }; + A0E5437DC111A1AAB63CCD16 = {isa = PBXGroup; children = ( + CF4DDBE1126E8C8C3A37DC78, + 2CFEB3BEABF88B0C41D94E94, + 92172AE93327D4F8008A0AFD, + 3095D8D2EF68D6ED502EB00B, + BFBF32B0E491C9D4527DF9A6, + DE1943CA08D7FAB2E3EC0A14, + 2AB2B4CC891E77E2DD062BE3, + 5D1F3BD1476426752ACB1EB2, + B471C2AB67E7C68D1C7D729D, + BEC8EC4C23F9AA5C8DFEA15A, + 2B9907A25C1C36C1E46BEA65, + 03457E9DD2B35D7C1B0C7393, + A54B5504235B3324635B1DB3, + 3AF114AC45249CDA77EF940E, + B6BE7EF02190070336E63E89, ); name = geometry; sourceTree = ""; }; + FD44264B8C9437DCF22CE602 = {isa = PBXGroup; children = ( + 610F820C21D914E9794A36EE, + 7BA2EA5655704E5358ABAA9D, + 62EA5E33A940F30BBB56E293, ); name = placement; sourceTree = ""; }; + 5BFD15FEDAA57F0C3DA99850 = {isa = PBXGroup; children = ( + A010D6D997B85A393165DAB3, + 44443DA5B0FDA2480DFBDFC7, + C6CD42F1DA2F444A59CD4AF0, + 2A771B60F7C360A111F75AC6, + 1A667A0FBCC8FC7EBBD15B20, + 6E0713769EA84EE0471D9811, + C73B4B312C3A4CE4F8E742C2, + 42BC8303198293E30AC0B21A, + 393D0CA8D89217F1F2504768, + F64C6AC0DC0376A80A74A82A, + EBDC0E12D4ED20F5DB90BC26, + A8A277CAF10A3FEB258174C2, ); name = fonts; sourceTree = ""; }; + 2925596DB97C0571478FCE48 = {isa = PBXGroup; children = ( + 1B7AFDD8FCA13757D08B8B3E, + F0E4B5B18AAB82215F5C6AE1, + C296F214D5B65857DC3DA585, + E7488E12D0F3300AE33E0B9E, + 63EE49826BF4CFBD9D546DAC, ); name = effects; sourceTree = ""; }; + E62D8A1F0BDD00ABB882F291 = {isa = PBXGroup; children = ( + 9D61877D2691EB78B2ED69EA, + E9C249D9F38B0DFAF0823653, + 8EA18CA66CABC9B5087DBDD2, + 4F5C213B72A375A83FE50979, + A5CEADBA23491564FEB6D4EC, + 3E8E31BB97A86349790D6CC3, + 3391FA30F4D45A4A77DC2CE1, + AC56A48CC01AABBE45F51970, + A8CAB6FAB9BC1CC96FDE7BC2, + A3E01235E4AD9DBE2405F792, + C884444C380A4B053DB70D12, + F36959B167E88B220CF9D8FE, + F2040E4B76F8783B471CECED, ); name = native; sourceTree = ""; }; + B78A49A94757B1530E3E282B = {isa = PBXGroup; children = ( + BA53DF8ABDA9DAD0F963BC8B, + 88878CC1561F13CF681027E9, + D5CDF20FB8932DEA5810EEE1, + 2C9A23E9808933102222B6EB, + A0E5437DC111A1AAB63CCD16, + FD44264B8C9437DCF22CE602, + 5BFD15FEDAA57F0C3DA99850, + 2925596DB97C0571478FCE48, + E62D8A1F0BDD00ABB882F291, + 241453DBDECBE0CCD5C096DE, + 7022B01ECEE7000DE6008C0A, ); name = "juce_graphics"; sourceTree = ""; }; + 978A5EA7C209E97691DF1580 = {isa = PBXGroup; children = ( + 2A59F5E28F97A435592E0B58, + 4A31DFDB7AC330488B8BBEA3, + FEA645D52C593ECCEA779BAF, + E2307A386F9B96576696354B, + A6AD00FEFB31915AB0F2798F, + AA5CDD430B68BBE10A9026C5, + 5384C065CDEB3032907ECCAF, + 8001506F637B2516AAC5C0D8, + 0B7637C0030C06BE612E41E8, ); name = components; sourceTree = ""; }; + 0A15D9E1577644179886B0D6 = {isa = PBXGroup; children = ( + 89F5A5C12916F02E579D6394, + 1D9FABE954892C169D874E35, + A5DEEB6DADAA5AB2CF41A880, + 8102EBF90140E78193692AEB, + CC8F24C4E5FC5C12AA30F6CF, + 36A0FF58D355147F40981C39, + 38404F97E5118017DFDCDEC4, + 5A5749D0A878955C964DD2C5, + B3261106892038D4F954E6F9, + 833CD270A139A70FF4E60D35, + F38F8132499ADBD3344E8449, + 61473E0A6AF9B900406695B8, + 8DE969191661B557B4222D50, + 19E9997C0FE3E36156141D64, + 57A0BF533D7A7B57321A8174, + 2819AE973B501D15AAB8C937, + C8A5AD5503F33596C4147ACB, + 72696E2F6E8EB43A8E604390, + ABA2E1FE9912D5C28F177E56, + 8B539DB72CC92EEC7F96C8E6, ); name = mouse; sourceTree = ""; }; + FE8E15A77FCDCB00FBF381DC = {isa = PBXGroup; children = ( + 46D8BC7303C892ED3F90E4DA, + 29710D5E6C3372E4480BF746, + 38D15A30D4658272F910A7AB, + D07A5399F09462A5D7041225, + 0060F61BFBCEF4E9EF8B3CC0, + 8EFB4EBA0836D5401B6D3DFB, + E13860F17C7FC399EF28EC1A, + B1B7C62CA04ACBAC6CD1C2AD, + 49794569C715BA919A01D72E, + FD5262552A90A9DFACB3C07F, + 74B477DE4CFC95E20DBB0D91, + B0626D2C611D9E3DF1408BEA, + 90FEA7DB5EFC4E9B2E933056, ); name = keyboard; sourceTree = ""; }; + 5D48FC8B43CBDC08DB9531D9 = {isa = PBXGroup; children = ( + 0C9B04C3B7D8E1CE4FAC6FF6, + 5383E87DC6DC1D251C271A50, + EA779F8A580E3D22A7CBD51E, + E958ECCACCCE70690FAE58B9, + 5D4A62D4893C16D7B17C6A43, + 0F16DEEC2C4B95E3A9F28CE5, + 32A667DB98BC4EB30C51F20B, + 60D8280577C14A7D3F67563D, + A95D718F031CB8883DFDE915, + 7D8D285B8414388FDB083AFF, + 23724FEF549E05851817B4BB, + 65DF385E92A4A65760DC3BD0, + 3D16FF3C64D4248C0C6FF504, + 27676EBA6012198993C2CBA0, + 68743DE3AA833D6F02F754D7, + 9F70142818A7806830EEBD7C, + 44FC8BD37CFE8C0D851C46F9, + 842433A42308565BF3C1542A, + 74AB51B6E97964B27B1CD019, + 7BC8F7015F35BAFF4AEDA0E6, + E5B84D5F7CF2B74715EEF3B3, + 66CEE40E51335F661B5C5C66, + 260A5BDC20C7B4029DB418E4, + 44C6568EC00F1682FBCD3B69, + F26953C1E056357A3DFDF35C, + A826C1C083678A4E9279C118, + 6DE6751E6A4F0DDE9C7F24B3, ); name = widgets; sourceTree = ""; }; + F4827EC22DDE876BA01A1012 = {isa = PBXGroup; children = ( + 8314FE695F91DA2FAB51920E, + DC6461EF11D5745DF8C00E16, + 464424DDD6A6678B94CE667F, + 2B9BAEF9C46C224088F5BB25, + 4BAF7C54867DA3C275C2F59D, + 6A8AC5E55EE51EE0476D852F, + FDA36D1F836D00DE705CD06F, + FF1F4F1262BB429E80492B13, + BF40FF2E0FA609212C849FBC, + 766EE2CCD4E86729C6CE8112, + 8E95A3B7C194244B92D5D65A, + D5C10F9CC5ADFC1B63AD1DB9, + 166BDAF3B9896BCB3771A061, + 0346DBE09BEC27EA93676FEB, + E9A4C91E94B6D096BD8217D7, + 8683CDE5FD2DFCB2CFC8F410, + EA13B2FC256C7BCF0900369E, + 27240E9968C04288887BFDC7, + 25869F2A5B90C64E857606D8, ); name = windows; sourceTree = ""; }; + EC71C6DC0803DBC6F5B71C8B = {isa = PBXGroup; children = ( + C9A25E2EF32224159B617D5E, + 0054E026B84A3A87020CCE48, + DA98B32DCA0DEF0113C22F9A, + 500F7CB9F45B62E46F4BBA57, + 595A9929C0E873C30AC9AA87, + 439FC260CD869E30210D98BF, ); name = menus; sourceTree = ""; }; + E30E1398A3CACDD90FC9C219 = {isa = PBXGroup; children = ( + F4F618373A81FDC73AB27A91, + 799472026100D7BAE015F6A6, + 34A6FFC298D12BF9E4D55AA1, + 7A6E1CBA343C07AC187A3EE8, + 7F0614F4F47EB171B8476BDC, + 19045B1A4A9E79DB5A44927C, + CC3F295E9D9E5863779F9ACD, + 3B09334ECC8FB54B4B7D7B59, + DC66DC84909A3802527414C2, + 7F171BE6BFAA1E3E2A9BED61, + C8F82FBA1E0EF7EEA5BD02B9, + BCFE159BD9F2DA5515E028A4, + 4C40BFAE1E25F166EBB5EC48, + 25E6B62A5BF19A0D1E085E10, + 684E11B1CE018B2C46938D80, + DBB34599E380FB1F37A28B27, + 2DB2DBF293A77B80E01EBAED, + ADCA2F92E2C17964A4AD750E, + 82A390DEE5A3B2EFDF7A65E6, + 674E13DA209E762DF15E9E29, + B6C7114A31FD6B1DEB08346F, + 6D5EE68347208091600E94A2, + FCC9F258531F00BCD91C63DF, + F233E88B6F2BC6906819AE6A, + 9C3E556586147F27B4EDC982, + 135DC8543A904B7BBAA0FD7B, + D01D74EE9A00B0813B00FDD1, + A1C77E9A6624B8B1A461C038, + F831631700830F81994D9980, + F33B267B702055F8CE27BDB8, + 8C9D252ABA3CDDC81B33884D, + D40C36493501EA97A8D1EB50, + 8C9EC3F9C24081ECEF3FCEFD, + 4658E12862C546A62E05E4D3, + D886106C60A496E47C48AFB4, + 374277A96D9830E45684FDD8, ); name = layout; sourceTree = ""; }; + 3826467DFB859364DD1392F0 = {isa = PBXGroup; children = ( + 782E3434FEA190A986EAC816, + E6BA3A4991987C4AB55F5948, + 93CC262389F622F8AB79CA60, + 02C14E49091F42750CD72F00, + 35E6F6325AF8463C076BA594, + 92DF4A828DC5CE370E36044C, + 0B7E069D09A7E46448EAE230, + F16734BCF880A8180C06018D, + D0B5B79546163A6DE73D0E2E, + F4A977844BD67D5C2BEFCDDC, + 5AAE605D230E253D4EAC195E, + 4408766B366713F55707B7A8, + 6BE6A3A14057591A3B4EF2C4, + CB4D4DA89BA649D3F1B2A645, + F2DDCDF62D2587FB565A442A, + B88950266CC4244E1B5394F2, + C088D98E527C1DA17B55A9D9, + B70E52FF75D44F0F1F0B31D2, ); name = buttons; sourceTree = ""; }; + B2943EF1FA5DBD81A406374F = {isa = PBXGroup; children = ( + D5EC3B41088855C3D481A73E, + CD3A68C29B7A733E5954BDA3, + 76F1A69F15F53D17C632A644, + 14AB997C7EB22777C1EF533C, + 51026A3BE98FD70FD916CF45, + D3C1097E92146B596194A067, + B316291E570F37785C40FE88, + FA2DB83279928FFB76A4BC6E, + 4E3C26EE8C6F996F207F0C32, + 1DE0CF80B807A4A702DC68BD, + 21D31B64BAD35C6C8E8E8FC0, + 29215FCE04DC4D267FF25E6C, + 412D5D6AA4018C8DF59AB741, + 807E7971CB75C806D7DB5DF2, ); name = positioning; sourceTree = ""; }; + B2AAEBDCA5147C75A44D4791 = {isa = PBXGroup; children = ( + CEC05A60A0E19B07F6A3CE6B, + 5BBC57B395B553CE08AC4BD7, + 94BFC3162953A5E7E192276A, + 2168310E25BD55C9A46499C6, + 92BB22C929A3A76CE6F29C7A, + CE4F0A27AAADFD53316A17BC, + D00157FA3D14BFECB7FE7232, + FD5E948C1A89B11770A20704, + B54A14A497368A580B7D9AEB, + 16ECB71D0D2C5C8BEFF4B4C6, + 8BE44C96A60C5D9B9F503409, + 6E9C1F4D69A9C99433DC67C6, + EE577E6ABD70D104CD83186C, + F0D54DDE8C2AD1D018A61FDB, + C21701DD3A4A2628C63CB70A, ); name = drawables; sourceTree = ""; }; + 0EADBF64826A3D243FB6E1DD = {isa = PBXGroup; children = ( + F20F182CBEF008AA1B1BB52A, + 0C61EC70BD4EA59AEEBB6669, + A1A621FDC626245B1B3C1C4D, + 9424FDB8C564B73250B7B20A, + 0ECA7867513EFA30BEA0BE78, + 4F2D3BD9697AAFA060EAAA59, + 20E10FBD8694E185CA551EDE, + 109C128BB4A7A05127A0C485, + 6B103C0FB5E6E3618ECD3B48, + EF8B8FB4B02133457562E1F4, + 7FC89C1EEB42DE3C9628591C, + FB3BE7E3D0A04791487E9E0C, + 1A788BE93E528FDAA62EA02B, + DAC4442F8C2F142270E92349, ); name = properties; sourceTree = ""; }; + 1E19112B929FF59057A4B030 = {isa = PBXGroup; children = ( + 0700C7069E1CF3FF8966C0E3, + 4CF92825BE7B97AC268C2AA5, + 56985D9599D0D1D00B42F95B, + 0CBC9EB8F2C55E88DB0F49BD, + 5710CADD28060D8E949D96D5, + 31AE430D2372CF6283185033, + B3FBDBEBC38720E957C15BE9, + 69449AB58A9C0AB552F754F4, ); name = lookandfeel; sourceTree = ""; }; + 1206D5C335340736A3A574B9 = {isa = PBXGroup; children = ( + D7E612935BA192BF5D24B9A3, + F382E14FAFF5CDEBFEA81B00, + 98C77B9D95141EBC60E6AE67, + F3154C77D5DFCE8D71084F23, + 27A9B065352AE36635780373, + B57640F7EDADCFE17719EE68, + D8256B8AA794F43A2259638A, + 0D35F0A502484A40B09F3EBF, + C52E8074125FEED4DB727EDF, + 90BE189372A13866896CE817, + 4ABF36D87D2BBEDA4DE28A4E, + 1FD6FD7218AB240D23DF4BAD, + 2D8FC1F116F882698F5CFEB9, + C51A754A0E65CA141A2C3310, + C551CC8801B93AC70F6E4F76, + 830ADB6740EF70992E71895F, + 3BF23F0B71FB8E526E895905, + FD05E73E3F022E08D70B9569, + 27DC413550834C828252B003, + BC1DBF05964D3B9130CD8CB6, + C3DEEC17595B1AB020ADA47F, + 67771057800F9416E9777625, ); name = filebrowser; sourceTree = ""; }; + 53440A90525AC832090A35F2 = {isa = PBXGroup; children = ( + 4F5D668DCEF2B622FD46073D, + 791ADFB0FFAEE65058B6FC8A, + 0DB1323191C133E48F07C062, + D26821159E190113FEBF99BA, + A0F2EAF085969426AC73C85D, + D4BA573C125944E2773D747F, + 0D265DF78A9FE5E669F76FC3, + 9211B175E63E325D4FF6B789, + 3C825AE2479611DA559164B5, ); name = commands; sourceTree = ""; }; + 815FFA61CB68244C4BFA9A78 = {isa = PBXGroup; children = ( + E6D8902FFF0C8CDBB3E4BEA3, + F0B46A9181B1707349A20399, + FAB998A70437EE4D89CABE2F, + 96E4B48CF055ED116E5CB3AB, ); name = misc; sourceTree = ""; }; + 8B10235D6698BCD336ECB195 = {isa = PBXGroup; children = ( + B189762C440B38635351E0A3, + 47E5FB5735D2EC8B039D2691, ); name = application; sourceTree = ""; }; + 3900F1137E25F9A2DEDF4119 = {isa = PBXGroup; children = ( + 61E1C2246CBD45C5A1F40102, + 8866CF798E9F84C49B9D7DCC, + E1868998BA7B20DF7ED0B5E1, + 55A4B5CF98FAC1CC23E49C82, + F83392D9825422AF0DB638D0, + 2B4FA0E8FB46CBC71A059FE7, + 26C95A2DACFF9773038656E0, + 99A3B01A6398623F40C528FC, + 221FD10838A8CE36672FABC0, + 0EF8E3646F6099E89A743D99, + 7EB8C7E000F0DDAAB4F47802, + A7884EC24DD007D6232DB822, + 2A2B7F8BCFC785127CA961A9, + 562E99EE1A4B733B7F751955, + 90841E3B0B2548A5BD66F15E, + F95533D725E548643CA584D7, ); name = native; sourceTree = ""; }; + 9A76685D3735D1F1DB8E4DB3 = {isa = PBXGroup; children = ( + 978A5EA7C209E97691DF1580, + 0A15D9E1577644179886B0D6, + FE8E15A77FCDCB00FBF381DC, + 5D48FC8B43CBDC08DB9531D9, + F4827EC22DDE876BA01A1012, + EC71C6DC0803DBC6F5B71C8B, + E30E1398A3CACDD90FC9C219, + 3826467DFB859364DD1392F0, + B2943EF1FA5DBD81A406374F, + B2AAEBDCA5147C75A44D4791, + 0EADBF64826A3D243FB6E1DD, + 1E19112B929FF59057A4B030, + 1206D5C335340736A3A574B9, + 53440A90525AC832090A35F2, + 815FFA61CB68244C4BFA9A78, + 8B10235D6698BCD336ECB195, + 3900F1137E25F9A2DEDF4119, + 0E8D536FEBD11AEA3C90B5A8, + D104C8636576DFE8A2D11430, ); name = "juce_gui_basics"; sourceTree = ""; }; + 45216CE44016DA606FE98125 = {isa = PBXGroup; children = ( + A7B28AD8606992FBE04C527C, + 13BF0388489EB44A816C9AF6, + 68FAA921E5D8CFAF9CC07C2F, + 191B98765219765CD56CCFED, + D2A5F78D0EF37F1E45DF39D4, + CC4B3BCEE612C95F27680EA9, + 69C36A56AE1A2E8CF64FE388, + 89ACAEA951C470AF8683AABD, + BAD1E66E3AA09ADD70061A50, + 91CEFA76775CD035E2F9200F, + 0852A866937712A0D30684A0, + FE1E97C9233F2D472C7C6128, ); name = "code_editor"; sourceTree = ""; }; + 13374F67832C9086375A10EA = {isa = PBXGroup; children = ( + 3BDF8DF3F3C380B1A4CE6C8F, + 8632589E0C21E3B0A5DA0333, ); name = documents; sourceTree = ""; }; + 5BF35BC9897465D83C81C086 = {isa = PBXGroup; children = ( + 0E894AC7229948568720E294, + C45AB95F4CDF31A41199E6D4, + 414AAB7000E7FDE7683BE72F, ); name = embedding; sourceTree = ""; }; + 2E8513968E4CDE8852D85EFA = {isa = PBXGroup; children = ( + B401E96340B8AB5DE8CBF5C9, + BD588F8D5FD1E6FE88E9D3E4, + 531BA61B027758A7978052A4, + 0D0FAC9754D9469774B8DD2F, + CE0CE24264C96E86062E0250, + 519CE739793F0797AF1A7957, + 553655CA0122E128BC368AD7, + 77AE8FD7436387126D3BBBAC, + F9B00F8F537F74527F6C463C, + 2328C66A446079EDDCC8B14E, + 4D5901626201478A459CE46C, + 0790EC941834B64EA1AC8D5A, + E0EF847C7052C5FFA2A7CF8B, + 2254F8D031DD15BDB278DE3E, + F838183EDFF5937C2879EE41, + A0850087D0288361E552BE9A, + 9692128AC24CF671A9C0457B, + E29A372A41F835609F81CC43, + 394CD5017D81D1CFEBE34894, + 897C7B6FB012647ED8AB5D05, ); name = misc; sourceTree = ""; }; + 626453A346165A7A0C138828 = {isa = PBXGroup; children = ( + 805EB95DB4B8045064CE9ED3, + BA7FDBE53073F3261D962FF9, + 2B69AEC791776F7CF337E38C, + AD54DAEAB7840FC18DA65503, + 1A7002B936C11924FDC07023, + 66B37CB373F19F65553466C3, + F257AD1B82D5595FF9C3F1CA, + 71B0F66C20CF48F49B3152AF, + 21D0A71ADD004B35B90F0D1F, + 29685DC8679DB5024B747D0C, + DBDED1D6237A21D03E68D323, + 2C1B86FD1CB59198522DEF06, ); name = native; sourceTree = ""; }; + B8479E2CF92E0AEE774BF1F3 = {isa = PBXGroup; children = ( + 45216CE44016DA606FE98125, + 13374F67832C9086375A10EA, + 5BF35BC9897465D83C81C086, + 2E8513968E4CDE8852D85EFA, + 626453A346165A7A0C138828, + D57735149DD4975283A0C754, + 37381332DDDE8F2B3C66CBDE, ); name = "juce_gui_extra"; sourceTree = ""; }; + A33BC9FA8A99B01DC485E60D = {isa = PBXGroup; children = ( + A09CB6FA9736BD45103AFF46, + CDFAC8C57A364EEE32CE125E, + 166C141D440846E85F91747E, + 0D88ABF90B476D03D3684ABE, + 4510E3B6AD441EA03B993692, + A98EED399E310BF85EBBCE12, + 2188A5670214696EFCF6810F, + B0589203065E4CF2C002B0D9, + 0993051FFD1B0C5E92474DBD, + 28BEE3C7BE3AE2BD888AC55C, + CC96E8E65FDFE4376F71D7B0, + 6B5C2F14A2268F371F1350B5, + B60524021E6FC59416222870, + 4EB8D72F57E00C560E370DCB, + 08C7B33308A32555A7CA21B5, + 5C0E42BCF4ED32E1381E7A23, + 9CC0E3267A9D1EF3C8E37601, ); name = opengl; sourceTree = ""; }; + 07ADD7BA5A96F719EDBCA037 = {isa = PBXGroup; children = ( + 5B5180DAAB935CB6D1DE9AA6, + 2C246301EE0EC4A9B4058F01, + DC94270BB4A70056907C3CDD, + 75D038033B2083D5EFE620A8, ); name = geometry; sourceTree = ""; }; + 03621233E269E436B447C841 = {isa = PBXGroup; children = ( + 44ADFB25768FA3BF27762EBF, + A058E50779879A7D9A813A4C, ); name = utils; sourceTree = ""; }; + FC95F4C8E60C31B039992722 = {isa = PBXGroup; children = ( + 11D8AE26FA8880E7E8F3B4EB, + 518E9E553CD9F7D215B75B88, + EC9898734E8AFE5215705476, + 9DC79DF0A43DA6B06B7B1F44, + CF4E3CDCC9837C7E52197686, + 495EAFDB9DE4E8E7DBA562D4, + 877ED7656241F46291022910, ); name = native; sourceTree = ""; }; + 0707779F272B825E3DF1560B = {isa = PBXGroup; children = ( + A33BC9FA8A99B01DC485E60D, + 07ADD7BA5A96F719EDBCA037, + 03621233E269E436B447C841, + FC95F4C8E60C31B039992722, + 8D3FB0417A39CAEC03D44D73, + 4F96BFF5D1D40B81C861F92F, ); name = "juce_opengl"; sourceTree = ""; }; + 62479F93E90EEE65EEC01FDA = {isa = PBXGroup; children = ( + B83DDFEEA66888E9616BCE82, + F113DFEACAF2D8230F0DF5E7, ); name = playback; sourceTree = ""; }; + 616C504727E4806B3BB3980F = {isa = PBXGroup; children = ( + DD03B6CE6F750A9CECA7EDEA, + 611A0824757D50610BB03562, ); name = capture; sourceTree = ""; }; + E545E915D753CB44657CFE99 = {isa = PBXGroup; children = ( + 87E61959D8EA529461A0D257, + E0FCA8F19A081CE941B273FA, + 11ACB77A3D91503A3DF673C8, + ACAC59A1C54DC52E8E2438CC, + A281FFA1C7E3AFB8246FD577, + 71881F8A6973AACD78ABA719, ); name = native; sourceTree = ""; }; + 397907CF13C78C70801F14D4 = {isa = PBXGroup; children = ( + 62479F93E90EEE65EEC01FDA, + 616C504727E4806B3BB3980F, + E545E915D753CB44657CFE99, + 254D157C0CCE3C7EA022F4CE, + 693B6DC20214C1ED9C1E89F7, ); name = "juce_video"; sourceTree = ""; }; + 7E2ABB7F81888EB9DF84E4C1 = {isa = PBXGroup; children = ( + AF12826F0B38E7FC1176C648, + 270A86F6A3CE512F0B3EA8DC, + D8CF14F51DEE1EA3625BFE6E, + BA9B6357DA1BF8D6E3120176, + 5CF56D8EDFCB4673E75EB0E4, + 752AB8D433735A877FC90255, + 670AA26A4F8D5CF111CE304F, + 4F8A65DC4E47B7CB0DB88369, + B78A49A94757B1530E3E282B, + 9A76685D3735D1F1DB8E4DB3, + B8479E2CF92E0AEE774BF1F3, + 0707779F272B825E3DF1560B, + 397907CF13C78C70801F14D4, ); name = "Juce Modules"; sourceTree = ""; }; + 5B8C542DD6E060115171CF66 = {isa = PBXGroup; children = ( + A67C5701B28E64F889A92422, + C1070E62B763F1CCE0BB18F0, + DD19124F0A7FD43F31BDEB87, + 987AD2821B6419D5FEDCBD7A, + AD405DDE86D07F955E27EBF8, + B7DD84C8B05ABA4A6915E77E, + 33E449DEA1FC0CD4CAA3A829, + 14BB261A450674034E6080F2, + CC0B7738BD544B955D81BF1E, + 4B27A11ADAC0D9957BBBCD3E, + 27B720A5E8CF81ABF9E50848, + D8BAA82AC820CEF315BD9DCB, + 21CF5364CD4910E49D19F8E2, + 6018A3A37F34AE52B39A14D5, + 274569E245BFB279247B4ECC, ); name = "Juce Library Code"; sourceTree = ""; }; + 9AF618BFAFEABB193C0E7D1A = {isa = PBXGroup; children = ( + FF3D4768BC96B79F49B10894, + 7E8B563CE147A7C733E6EFB1, ); name = Resources; sourceTree = ""; }; + 31F4A77234EA04C6F3F431E7 = {isa = PBXGroup; children = ( + 859E13C66F2193112084D1B9, + 66DE43B56D8670C78DD3998D, + 8F7B1F20EA4F07C9D37D5260, + 7DF561FC0400DD7E678CD690, + C9F7ABDA09635BC3FAB0B008, + 732EEC584A4CE3ED07C5BEFB, + 4D755C765B26C765D11BFFC8, + D32C3176FB914F189E0139AF, + 34227B39C3D697D0DBAC7017, + CBECD9165897602A506BC41E, + 3B5B55FF08F71060B836F5DB, + 3EF6F363BA4F6B10207C0E23, + 15D92586D187B0D8758C6F18, ); name = Frameworks; sourceTree = ""; }; + 7CA50BE1660DF7427A2CAFE2 = {isa = PBXGroup; children = ( + A748C987924800FDBA2E2184, ); name = Products; sourceTree = ""; }; + E2839CF91E2C633A933666F4 = {isa = PBXGroup; children = ( + C69760E59D600CF000D468E8, + 7E2ABB7F81888EB9DF84E4C1, + 5B8C542DD6E060115171CF66, + 9AF618BFAFEABB193C0E7D1A, + 31F4A77234EA04C6F3F431E7, + 7CA50BE1660DF7427A2CAFE2, ); name = Source; sourceTree = ""; }; + 275286E869A1C88FFD2E3A50 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + SDKROOT_ppc = macosx10.5; }; name = Debug; }; + F361F998F590FCC72F2DE949 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + SDKROOT_ppc = macosx10.5; }; name = Release; }; + 8FB477F7B77D68FD93DC1D16 = {isa = XCBuildConfiguration; buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + DEBUG_INFORMATION_FORMAT = "dwarf"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "AnimationAppExample"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Debug; }; + 7977431F7194644B49C15E21 = {isa = XCBuildConfiguration; buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + DEBUG_INFORMATION_FORMAT = "dwarf"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PRODUCT_NAME = "AnimationAppExample"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Release; }; + 576D6DACFB71E339D0AD373A = {isa = XCConfigurationList; buildConfigurations = ( + 8FB477F7B77D68FD93DC1D16, + 7977431F7194644B49C15E21, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 4A8B3F76828634749BBFC686 = {isa = XCConfigurationList; buildConfigurations = ( + 275286E869A1C88FFD2E3A50, + F361F998F590FCC72F2DE949, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 11FD561488F1EFCE578F9225 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 6B6DC7D7A606A7D832929888, ); runOnlyForDeploymentPostprocessing = 0; }; + BD6EB403A891DBC353F7D06C = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 328BFAEA24EDCBF7B69F4960, + 84E6553798838003062A7791, + 9B303E67BC0058053878030C, + ACA92239BEB4C05C418642E2, + 1EFD155B1968AEC88851F831, + 0C7388B5872921063FF273B8, + 9EE1754A8E5230FA1C50713F, + 1852E56533842FDFBE9A6EE3, + CB79C1D77F4FBF0C64B69E1D, + 5E9EFF0130B8CBBEAA0D321B, + EF8AB3F393E946FE4A21AA17, + B70DDF51EDD940F5EF96B96D, + E28816D62DAA38A2794ED6D2, + A911433D03B3314558DB8850, + 590ABC7E64B05F4814FA919E, ); runOnlyForDeploymentPostprocessing = 0; }; + F38385A81FAC837FA1743686 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + E3498B080326636A372B74AE, + 828D4B32ECB7ECE234A5A1A9, + 97CBB80DA6775AEF4872168B, + 2CDBA22DB877B521681B03C3, + 3B937846DB65393DE597ABDE, + 139AEB224F22582CF606327F, + 833059FCE7601E2EC15CDBF4, + 579B22B362186BFEA27C44D9, + 4FE4858AB45C67767169F6BC, + 60DF684A573F3D6E67C085EE, + CA82C00B49701B9ECEB91AE1, + E20A03BD895CA5A0D7913F4E, + 73C67130F15814333F4D613B, ); runOnlyForDeploymentPostprocessing = 0; }; + C5FEE75C4BFEF0A6EE96FF81 = {isa = PBXNativeTarget; buildConfigurationList = 4A8B3F76828634749BBFC686; buildPhases = ( + 11FD561488F1EFCE578F9225, + BD6EB403A891DBC353F7D06C, + F38385A81FAC837FA1743686, ); buildRules = ( ); dependencies = ( ); name = AnimationAppExample; productName = AnimationAppExample; productReference = A748C987924800FDBA2E2184; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + AEF97977FF56185DB5E0C493 = {isa = PBXProject; buildConfigurationList = 576D6DACFB71E339D0AD373A; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = E2839CF91E2C633A933666F4; projectDirPath = ""; projectRoot = ""; targets = ( C5FEE75C4BFEF0A6EE96FF81 ); }; + }; + rootObject = AEF97977FF56185DB5E0C493; +} diff --git a/examples/AnimationAppExample/Builds/MacOSX/Info.plist b/examples/AnimationAppExample/Builds/MacOSX/Info.plist new file mode 100644 index 0000000000..eea2cfe322 --- /dev/null +++ b/examples/AnimationAppExample/Builds/MacOSX/Info.plist @@ -0,0 +1,27 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.yourcompany.AnimationAppExample + CFBundleName + AnimationAppExample + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/extras/Demo/Builds/MacOSX/RecentFilesMenuTemplate.nib b/examples/AnimationAppExample/Builds/MacOSX/RecentFilesMenuTemplate.nib similarity index 100% rename from extras/Demo/Builds/MacOSX/RecentFilesMenuTemplate.nib rename to examples/AnimationAppExample/Builds/MacOSX/RecentFilesMenuTemplate.nib diff --git a/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.sln b/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.sln new file mode 100644 index 0000000000..947a662cca --- /dev/null +++ b/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.sln @@ -0,0 +1,19 @@ +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{1B24A2D5-65BA-C9A3-F617-E93E84F1FF6F}") = "AnimationAppExample", "AnimationAppExample.vcxproj", "{76D4693E-258B-E95E-25F4-37E851715713}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {76D4693E-258B-E95E-25F4-37E851715713}.Debug|Win32.ActiveCfg = Debug|Win32 + {76D4693E-258B-E95E-25F4-37E851715713}.Debug|Win32.Build.0 = Debug|Win32 + {76D4693E-258B-E95E-25F4-37E851715713}.Release|Win32.ActiveCfg = Release|Win32 + {76D4693E-258B-E95E-25F4-37E851715713}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj b/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj new file mode 100644 index 0000000000..b13bc9f835 --- /dev/null +++ b/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj @@ -0,0 +1,1697 @@ + + + + + + Debug + Win32 + + + Release + Win32 + + + + {76D4693E-258B-E95E-25F4-37E851715713} + + + + Application + false + + + Application + false + true + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + .\Debug\ + AnimationAppExample + true + .\Release\ + AnimationAppExample + true + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Disabled + EditAndContinue + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) + MultiThreadedDebug + true + + $(IntDir)\ + $(IntDir)\ + $(IntDir)\ + Level4 + true + true + + + _DEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\AnimationAppExample.exe + true + libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)\AnimationAppExample.pdb + Windows + MachineX86 + false + true + + + true + $(IntDir)\AnimationAppExample.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + MinSpace + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + WIN32;_WINDOWS;NDEBUG;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) + MultiThreaded + true + + $(IntDir)\ + $(IntDir)\ + $(IntDir)\ + Level4 + true + true + + + NDEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\AnimationAppExample.exe + true + %(IgnoreSpecificDefaultLibraries) + false + $(IntDir)\AnimationAppExample.pdb + Windows + MachineX86 + true + true + true + + + true + $(IntDir)\AnimationAppExample.bsc + + + + + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj.filters b/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj.filters new file mode 100644 index 0000000000..6613933900 --- /dev/null +++ b/examples/AnimationAppExample/Builds/VisualStudio2010/AnimationAppExample.vcxproj.filters @@ -0,0 +1,2894 @@ + + + + + + {4BBA0254-0821-03A2-ACF0-0137D7D3A403} + + + {20010451-E090-5607-E02B-4D7344A65340} + + + {422C46B7-0467-2DB0-BF3C-16DFCAFD69AC} + + + {3247ED97-A75A-F50B-8CCC-46155E895806} + + + {A33A1E1D-AC2C-6382-8681-48B0FC374C60} + + + {3FD908F5-98C8-9A61-FC03-0BAF8913CBB0} + + + {11A75801-B027-40BD-4993-023023ACCBF7} + + + {EF2CAB40-0432-429B-C517-86ADF136BB8A} + + + {8F7EC212-3168-AD81-5064-C45BA838C408} + + + {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} + + + {0F766DD4-A277-CB86-5647-42498C8B41E1} + + + {D64942B4-6984-3623-3347-45D472AE1C61} + + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + + + {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} + + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + + + {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} + + + {0B0E7392-324B-088C-FBEB-5FE999D61782} + + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + + + {20254EFE-6CBD-31A7-2119-92B1E0E0E311} + + + {70796D73-6D30-8A1B-4732-7C021E47C05A} + + + {EB8DD942-E2CB-869F-D381-E02A65BA790B} + + + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} + + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + + {476C69CE-0B67-6B85-E888-45D91E37A29E} + + + {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} + + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} + + + {C9F6D785-BF78-5AA1-B479-111C65397864} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {DA0DC4AC-B511-A2D4-199A-C93454D6F114} + + + {91929C6F-7902-B87D-5260-2F6CBF8ACD93} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} + + + {4634FFAE-9586-A970-364C-4FDDA635F99F} + + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {F03654BC-34D8-F975-BEA3-750CC2783D23} + + + {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} + + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + + {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} + + + {7703D2CE-C32A-936A-0EEF-949FE6E52EB5} + + + {8D283B6C-13BA-9EF6-1B18-B1C393786943} + + + {928D8FCC-5E00-174B-6538-93E8D75AB396} + + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + + {3DF036EA-3B80-553B-2494-3AAC835CAE75} + + + {358AEA11-3F96-36AE-7B32-71373B5C5396} + + + {F2A38F45-6E55-E147-2E52-64A89FDD9D59} + + + {6172822C-01A5-E824-12DA-FA43FA934D35} + + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + + + {B098BC87-3298-7E6B-12DC-D26C09CDCAED} + + + {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} + + + {4926B3FF-E797-F586-857A-69D9703FA2D1} + + + {EBC65085-3AD5-280C-1A29-2B1683643AA1} + + + {413F481F-075C-2958-115C-D8268682FCB7} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + + {E37D25CD-4350-4614-055B-7ABC55E67895} + + + {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + + {75F1F352-251A-75E0-D941-8431588F5C1E} + + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} + + + {C60A6FCA-9462-922E-AD8D-69F10C9049AF} + + + {D56498EE-E354-1F00-5EEE-8CF7944BEAFB} + + + {61B2920C-494D-D8CB-C0C7-5DBF3D76D164} + + + {66C9B809-8739-A217-C78D-A15D6089B8E3} + + + {C413328B-5D81-89EE-F4F3-75752E700DE4} + + + {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} + + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {B3141847-8F13-F67D-45B2-E3ECF6E09088} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + + + {151B49D8-6102-F802-1C07-D59931BC0574} + + + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} + + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + + + {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} + + + {EE985DEA-CD83-8132-7219-542BB1DAD560} + + + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} + + + + + AnimationAppExample\Source + + + AnimationAppExample\Source + + + Juce Modules\juce_audio_basics\buffers + + + Juce Modules\juce_audio_basics\buffers + + + Juce Modules\juce_audio_basics\buffers + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\synthesisers + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\midi_io + + + Juce Modules\juce_audio_devices\midi_io + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\sampler + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\scanning + + + Juce Modules\juce_audio_processors\scanning + + + Juce Modules\juce_audio_processors\scanning + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\misc + + + Juce Modules\juce_core\misc + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\hashing + + + Juce Modules\juce_cryptography\hashing + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\documents + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\utils + + + Juce Modules\juce_video\capture + + + Juce Modules\juce_video\native + + + Juce Modules\juce_video\native + + + Juce Modules\juce_video\native + + + Juce Modules\juce_video\native + + + Juce Modules\juce_video\native + + + Juce Modules\juce_video\native + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + + + Juce Modules\juce_audio_basics\buffers + + + Juce Modules\juce_audio_basics\buffers + + + Juce Modules\juce_audio_basics\buffers + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\synthesisers + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\midi_io + + + Juce Modules\juce_audio_devices\midi_io + + + Juce Modules\juce_audio_devices\midi_io + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\sampler + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\scanning + + + Juce Modules\juce_audio_processors\scanning + + + Juce Modules\juce_audio_processors\scanning + + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\misc + + + Juce Modules\juce_core\misc + + + Juce Modules\juce_core\misc + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\hashing + + + Juce Modules\juce_cryptography\hashing + + + Juce Modules\juce_cryptography + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\documents + + + Juce Modules\juce_gui_extra\embedding + + + Juce Modules\juce_gui_extra\embedding + + + Juce Modules\juce_gui_extra\embedding + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\utils + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl + + + Juce Modules\juce_video\playback + + + Juce Modules\juce_video\playback + + + Juce Modules\juce_video\capture + + + Juce Modules\juce_video + + + Juce Library Code + + + Juce Library Code + + + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_core + + + Juce Modules\juce_cryptography + + + Juce Modules\juce_data_structures + + + Juce Modules\juce_events + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics + + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_opengl + + + Juce Modules\juce_video + + + + + Juce Library Code + + + diff --git a/examples/AnimationAppExample/Builds/VisualStudio2010/resources.rc b/examples/AnimationAppExample/Builds/VisualStudio2010/resources.rc new file mode 100644 index 0000000000..d7aef4e24f --- /dev/null +++ b/examples/AnimationAppExample/Builds/VisualStudio2010/resources.rc @@ -0,0 +1,29 @@ +#ifdef JUCE_USER_DEFINED_RC_FILE + #include JUCE_USER_DEFINED_RC_FILE +#else + +#undef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#include + +VS_VERSION_INFO VERSIONINFO +FILEVERSION 1,0,0,0 +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + BEGIN + VALUE "FileDescription", "AnimationAppExample\0" + VALUE "FileVersion", "1.0.0\0" + VALUE "ProductName", "AnimationAppExample\0" + VALUE "ProductVersion", "1.0.0\0" + END + END + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 65001 + END +END + +#endif diff --git a/examples/AnimationAppExample/Builds/iOS/AnimationAppExample.xcodeproj/project.pbxproj b/examples/AnimationAppExample/Builds/iOS/AnimationAppExample.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..9cbf7b58a5 --- /dev/null +++ b/examples/AnimationAppExample/Builds/iOS/AnimationAppExample.xcodeproj/project.pbxproj @@ -0,0 +1,2102 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + + E3498B080326636A372B74AE = {isa = PBXBuildFile; fileRef = 859E13C66F2193112084D1B9; }; + 828D4B32ECB7ECE234A5A1A9 = {isa = PBXBuildFile; fileRef = 66DE43B56D8670C78DD3998D; }; + 96B761E33D6CA3700F0A9A51 = {isa = PBXBuildFile; fileRef = 287976618152E4BA76D627FA; }; + 139AEB224F22582CF606327F = {isa = PBXBuildFile; fileRef = 732EEC584A4CE3ED07C5BEFB; }; + 0DE5F0C9D8D826AF3EEBAC04 = {isa = PBXBuildFile; fileRef = 888284627B1FEA22193130AB; }; + F3F1AF2E0D45882BFE3EDE07 = {isa = PBXBuildFile; fileRef = AF947B0E188B6EA57EB0109B; }; + 64D079C3CBBBB5BC9D7CC531 = {isa = PBXBuildFile; fileRef = 012CB8E6966875E4AE099E8C; }; + CA82C00B49701B9ECEB91AE1 = {isa = PBXBuildFile; fileRef = 3B5B55FF08F71060B836F5DB; }; + 3EBD65476039DBFD1A91FB69 = {isa = PBXBuildFile; fileRef = 30B85C7478732E3A6997065D; }; + AA420D06B14C6AF978603FB7 = {isa = PBXBuildFile; fileRef = 4F582012EC867318FB3781BB; }; + 328BFAEA24EDCBF7B69F4960 = {isa = PBXBuildFile; fileRef = B766DBADE0BD743FAC004870; }; + 84E6553798838003062A7791 = {isa = PBXBuildFile; fileRef = F7B6DBDC7439C90B4E01752E; }; + 9B303E67BC0058053878030C = {isa = PBXBuildFile; fileRef = C1070E62B763F1CCE0BB18F0; }; + ACA92239BEB4C05C418642E2 = {isa = PBXBuildFile; fileRef = DD19124F0A7FD43F31BDEB87; }; + 1EFD155B1968AEC88851F831 = {isa = PBXBuildFile; fileRef = 987AD2821B6419D5FEDCBD7A; }; + 0C7388B5872921063FF273B8 = {isa = PBXBuildFile; fileRef = AD405DDE86D07F955E27EBF8; }; + 9EE1754A8E5230FA1C50713F = {isa = PBXBuildFile; fileRef = B7DD84C8B05ABA4A6915E77E; }; + 1852E56533842FDFBE9A6EE3 = {isa = PBXBuildFile; fileRef = 33E449DEA1FC0CD4CAA3A829; }; + CB79C1D77F4FBF0C64B69E1D = {isa = PBXBuildFile; fileRef = 14BB261A450674034E6080F2; }; + 5E9EFF0130B8CBBEAA0D321B = {isa = PBXBuildFile; fileRef = CC0B7738BD544B955D81BF1E; }; + EF8AB3F393E946FE4A21AA17 = {isa = PBXBuildFile; fileRef = 4B27A11ADAC0D9957BBBCD3E; }; + B70DDF51EDD940F5EF96B96D = {isa = PBXBuildFile; fileRef = 27B720A5E8CF81ABF9E50848; }; + E28816D62DAA38A2794ED6D2 = {isa = PBXBuildFile; fileRef = D8BAA82AC820CEF315BD9DCB; }; + A911433D03B3314558DB8850 = {isa = PBXBuildFile; fileRef = 21CF5364CD4910E49D19F8E2; }; + 590ABC7E64B05F4814FA919E = {isa = PBXBuildFile; fileRef = 6018A3A37F34AE52B39A14D5; }; + 0054E026B84A3A87020CCE48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 0060F61BFBCEF4E9EF8B3CC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 012CB8E6966875E4AE099E8C = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; + 02AC998E808CAF5C148CFFC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 02C14E49091F42750CD72F00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; + 0311666DB95BFAE686267D7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 03457E9DD2B35D7C1B0C7393 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; + 0346DBE09BEC27EA93676FEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 03B79DBA48F6C4122DABEE90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; + 03D03AF17C5E899ED9481518 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; + 03E91AE23ECCF51E3AF9FC90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 04C105672DA409FE8593DB04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; + 0700C7069E1CF3FF8966C0E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 07342D914D2A5AF6075CDB2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; + 0790EC941834B64EA1AC8D5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 07C83735435D264F28158F79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 07E19FB806980020A47AA47D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0852A866937712A0D30684A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 086CE5C768CF5889BDEF8955 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 08C7B33308A32555A7CA21B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; + 08EC867C77B028C336B79752 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; + 097237CCE04B9020343CB28D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 09846FF5D2FFB83242A02FF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0993051FFD1B0C5E92474DBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0AD4B355DBB0AED4C90E5657 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + 0AE6516868244378D09124A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0B7637C0030C06BE612E41E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; + 0B7E069D09A7E46448EAE230 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0B933FCCF82100D67C0B7D34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0BC32F0BB0B5393D25E09D00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0C61EC70BD4EA59AEEBB6669 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 0C89377A44F26612524DA129 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + 0C9B04C3B7D8E1CE4FAC6FF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0CBC9EB8F2C55E88DB0F49BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; + 0D0FAC9754D9469774B8DD2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0D265DF78A9FE5E669F76FC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 0D35F0A502484A40B09F3EBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0D530396A7BA6BA190100C6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0D88ABF90B476D03D3684ABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 0DB1323191C133E48F07C062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; + 0E70A4BFB2F7D1AB6188E72C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 0E894AC7229948568720E294 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 0E8D536FEBD11AEA3C90B5A8 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 0ECA7867513EFA30BEA0BE78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0EF8E3646F6099E89A743D99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; + 0F16DEEC2C4B95E3A9F28CE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; + 0F67C59CB48583941B8656EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; + 102919EC5BCD10DA703688CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; + 109C128BB4A7A05127A0C485 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 11ACB77A3D91503A3DF673C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 11D8AE26FA8880E7E8F3B4EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; + 123B63088FA1C4D1AD225CDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13430EC7CBFEF46874F53731 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 135DC8543A904B7BBAA0FD7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; + 13BF0388489EB44A816C9AF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 14245CED80854EC5291657FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; + 142D03BC875BD387BD10C51F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1450CD0879661355CD52DD8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; + 14AB997C7EB22777C1EF533C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; + 14BB261A450674034E6080F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; + 15029C3F041B27DD7191482F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; + 161F35FA23347F495704C26A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 166BDAF3B9896BCB3771A061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 166C141D440846E85F91747E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 16ECB71D0D2C5C8BEFF4B4C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 1737596EB7F40322C0A5DE20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; + 175654F2545AD9C0603BD0B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; + 176B18B9B61FDA6EC4357EB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; + 17B07A06764A6A7759804033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 17B2789DEC279EE7DB8D9BE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; + 19045B1A4A9E79DB5A44927C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; + 191B98765219765CD56CCFED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 19DC6BDBA978DC67B9783340 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 19E9997C0FE3E36156141D64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A667A0FBCC8FC7EBBD15B20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A7002B936C11924FDC07023 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; + 1A788BE93E528FDAA62EA02B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1AB580D4342BFFD41F220358 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 1AB9713046E08B68A6F672CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1B3B7CBA0D25C83B8AF72641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1B3CC8F665F23CB86253EBCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 1B7AFDD8FCA13757D08B8B3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C71768A34644733E39EEF4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; + 1D5B751294F84B86ABB11D4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1D9FABE954892C169D874E35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; + 1DE0CF80B807A4A702DC68BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + 1E020B9E032C076071700CEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; + 1E6EF8035485237EA92A1310 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; + 1FD6FD7218AB240D23DF4BAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2048DACF787A9BFE011041BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 20E10FBD8694E185CA551EDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2168310E25BD55C9A46499C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; + 2188A5670214696EFCF6810F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; + 21CF5364CD4910E49D19F8E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; + 21D0A71ADD004B35B90F0D1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 21D31B64BAD35C6C8E8E8FC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 221FD10838A8CE36672FABC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; + 2254F8D031DD15BDB278DE3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 22C4F82B505995F81CD682B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; + 2328C66A446079EDDCC8B14E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 234D4927B398ED6E9B7B0E6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + 236F239E035044438B7CDFCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; + 23724FEF549E05851817B4BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; + 23936BBF807CCF5B1EEB9F00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 241453DBDECBE0CCD5C096DE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 24363F41974FD7A3B634B78B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 244B9B4B8307A8C51207D457 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 254D157C0CCE3C7EA022F4CE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 25869F2A5B90C64E857606D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 25B41C0851C004C9D410B7C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 25E6B62A5BF19A0D1E085E10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 260A5BDC20C7B4029DB418E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; + 264F684A80B93F7A189A5FA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 26C95A2DACFF9773038656E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 27240E9968C04288887BFDC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 274569E245BFB279247B4ECC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + 27676EBA6012198993C2CBA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 27A9B065352AE36635780373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 27B720A5E8CF81ABF9E50848 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + 27DC413550834C828252B003 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2807A00AE6C4539CD935F56D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; + 2819AE973B501D15AAB8C937 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 287976618152E4BA76D627FA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 289C3977B67C1898AC3B974D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + 28BEE3C7BE3AE2BD888AC55C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; + 29215FCE04DC4D267FF25E6C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; + 29685DC8679DB5024B747D0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 29710D5E6C3372E4480BF746 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 29D35A5AB22E9443E0ED8F99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; + 29F5A84EE715DA5BCED467A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A098563977566E9A9E8CD7E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A2B7F8BCFC785127CA961A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 2A59F5E28F97A435592E0B58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; + 2A771B60F7C360A111F75AC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + 2AB2B4CC891E77E2DD062BE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B02634F8DA8660ED42B0AEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; + 2B1494112273ADF380C99FD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B4FA0E8FB46CBC71A059FE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B57EB41D3962E3518B79FD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; + 2B69AEC791776F7CF337E38C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B9907A25C1C36C1E46BEA65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B9BAEF9C46C224088F5BB25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; + 2C1B86FD1CB59198522DEF06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2C246301EE0EC4A9B4058F01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; + 2CFC9FB97ED3587D7E0E4E4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; + 2CFEB3BEABF88B0C41D94E94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; + 2D5F3AD1A03B34AE7349DF5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; + 2D8FC1F116F882698F5CFEB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 2DB2DBF293A77B80E01EBAED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2DCAC1795F1B47C592E65D4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + 2E2B14A2334528E4405AEDDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E650C2E92EA2732B66070D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E96848340E1C1B1095AC1F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2FDA8843C89E2D7DFBE3FBFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 301AF9BA843B1955EE001C98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 3095D8D2EF68D6ED502EB00B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; + 30B85C7478732E3A6997065D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 314E9338935BC33A1C468B3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 31AE430D2372CF6283185033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; + 326E293A87E18FC3FBB26B47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 32A667DB98BC4EB30C51F20B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 32C683CBA18109949D53149A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3324210159E5C546DC5C2065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; + 3391FA30F4D45A4A77DC2CE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 33E449DEA1FC0CD4CAA3A829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; + 34A6FFC298D12BF9E4D55AA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 35A7FD6EFDE29D2EBD7DFCB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 35AAFB158E16D03C4D977713 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; + 35E6F6325AF8463C076BA594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 369C06F1DC7B3B7EB497D062 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 36A0FF58D355147F40981C39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 36B8F6CFEEA3C1E2A0D09E56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; + 37381332DDDE8F2B3C66CBDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; + 374277A96D9830E45684FDD8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; + 381AE52C082AE08E724CB954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + 381B8B8A9D5203E73FED79E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 38404F97E5118017DFDCDEC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 389B4E4055A779D0F6B22C5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 38D15A30D4658272F910A7AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 38EDF1EAB12A05CEE439AF23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 3900C9B11914C94DFA1F8C33 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 390351E336C2CF20C38ADB59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 393D0CA8D89217F1F2504768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 394CD5017D81D1CFEBE34894 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3966D734450E72F5682D2F06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3A9FC7EFC378976EE696AE83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 3AE89D0904EE985359A73B91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3AF114AC45249CDA77EF940E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 3B09334ECC8FB54B4B7D7B59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; + 3B5B55FF08F71060B836F5DB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + 3B9903B0A0252D106C92CAA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 3BDF8DF3F3C380B1A4CE6C8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3BF23F0B71FB8E526E895905 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3C825AE2479611DA559164B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; + 3C89D04328C83D2FDD4E5116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + 3CD47BA1CFEFB637DDEAC313 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3D16FF3C64D4248C0C6FF504 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3D24784AEA7726A64A340625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; + 3E19A71C4A345EB5C1BA466D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 3E8E31BB97A86349790D6CC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; + 3F0388309395C138AA68FAD7 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 3FAA5384DA8B28DEB5E57A5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3FECAB20E9C0834676E2D9EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; + 403453363C4785FD451A9BA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 40B9C2276B7EF73860E2606B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 40F0E944D041D96F2DA4C6A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 412D5D6AA4018C8DF59AB741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 414AAB7000E7FDE7683BE72F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 41C74B59D9B392117441DA2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; + 4228B8952E3FBCDA69C1948B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; + 426283CFD858F482E87F530B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; + 42BC8303198293E30AC0B21A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; + 435858CCF38F47E9AAE1B08F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; + 439FC260CD869E30210D98BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; + 4408766B366713F55707B7A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; + 440A182A9068A8FBD011BE1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 44185DE135E354DD4758B3EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 442199479D1499B6A44BD150 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 44443DA5B0FDA2480DFBDFC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; + 44ADFB25768FA3BF27762EBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 44B3428E8BB4B70104CD76CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 44C6568EC00F1682FBCD3B69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; + 44FC8BD37CFE8C0D851C46F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4510E3B6AD441EA03B993692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4570554FB8438C0692EEDC55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; + 464424DDD6A6678B94CE667F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4658E12862C546A62E05E4D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 46885692CC5FDE30FC3649F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 46D8BC7303C892ED3F90E4DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 47E5FB5735D2EC8B039D2691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; + 47E70AF805B1C5C57566C4CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 495EAFDB9DE4E8E7DBA562D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; + 49794569C715BA919A01D72E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A1671B78E589A865FEA3CB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A31DFDB7AC330488B8BBEA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A36826C3F710B92F0347A16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + 4A86B4371AE4FC58D879962C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; + 4ABF36D87D2BBEDA4DE28A4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; + 4ADE9EFB6C41DE44D40C9837 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B27A11ADAC0D9957BBBCD3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; + 4B27C30CF5AC7BFE0AF537AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B8102606812A7964CF8D9CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 4B8342C50F962C3F0AEE9830 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + 4BAF7C54867DA3C275C2F59D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4BDEC9A0A09EEDC9D7BDB826 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; + 4BF9949E0C30EA64B16004BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; + 4C40BFAE1E25F166EBB5EC48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4C87C8EC24CE0EB64640238A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4CF92825BE7B97AC268C2AA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; + 4D5901626201478A459CE46C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 4DB2143B264FC1AE54490BF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; + 4DB48F6BAEFA120A31259EAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E3C26EE8C6F996F207F0C32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4EAE69CF6B5097A57EBCD27B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4EB8D72F57E00C560E370DCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4EBC561A323AEE4D76AD7906 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F2D3BD9697AAFA060EAAA59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 4F582012EC867318FB3781BB = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = AnimationAppExample/Images.xcassets; sourceTree = "SOURCE_ROOT"; }; + 4F5C213B72A375A83FE50979 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F5D668DCEF2B622FD46073D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; + 4F5DED2313FC69EA518E5679 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F96BFF5D1D40B81C861F92F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; + 4FB8B3386156F5702A20F7D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 500F7CB9F45B62E46F4BBA57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; + 51026A3BE98FD70FD916CF45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 518E9E553CD9F7D215B75B88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; + 519CE739793F0797AF1A7957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 52062790A5E737C8846A23A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 531BA61B027758A7978052A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; + 5358DE9C9773654731E6F615 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 5383E87DC6DC1D251C271A50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; + 5384C065CDEB3032907ECCAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; + 553655CA0122E128BC368AD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; + 55417F6D23E7075E5E27BECB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; + 55A4B5CF98FAC1CC23E49C82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + 55CEFA60FA0CBA0E6CB71F5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; + 55D04DC4EA2F037CCD5DF9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 562E99EE1A4B733B7F751955 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; + 56545F3F893C3D8CC9215051 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 567D63D778B7A22C5D97F1C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; + 56985D9599D0D1D00B42F95B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5703889367170F80CAC76898 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; + 570C35930202882A634FC029 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5710CADD28060D8E949D96D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5719A93B0F6AFE95FC49B673 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 57490A9F97D62E7A312EA90C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5774E190A351EDF7B7AAB188 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; + 57A0BF533D7A7B57321A8174 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 5878CA91071620345AB5B3C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; + 595A9929C0E873C30AC9AA87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; + 59CAB9E5A0CBBC51342FC065 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5A1777E116DA01B554C90CDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5A5749D0A878955C964DD2C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5A854859042F6CD761688B25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5AAE605D230E253D4EAC195E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5B5180DAAB935CB6D1DE9AA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; + 5BBC57B395B553CE08AC4BD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; + 5BBF8CA223EEE4D9C769E453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_events/broadcasters/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; + 5C0E42BCF4ED32E1381E7A23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5C58E6217AF57BD2A33ED617 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; + 5C62F423D8469A02E55BF59D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + 5C8795B0DE5C729CA18FE89B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; + 5CDC0F220B1EAE847D38D1DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; + 5D1F3BD1476426752ACB1EB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; + 5D43D909CB26D4A07A62A4F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5D4A62D4893C16D7B17C6A43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5EB144BD6AC4D4DE96ABFCA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; + 6018A3A37F34AE52B39A14D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; + 605EA4B27D057BCB9263BCFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; + 60D8280577C14A7D3F67563D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 610F820C21D914E9794A36EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; + 611A0824757D50610BB03562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; + 61473E0A6AF9B900406695B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 616493921A733162495E7553 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + 61797A8C01DC08E83AFA4540 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; + 618839275E13B9DB660001E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61E1C2246CBD45C5A1F40102 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61F0D5937E23A6A9EE8D479C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; + 6238740697CA1F0746776243 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 62B6E8B6269ADEF23D85FA3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; + 62E534D1F0B31CD4A1B572E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; + 62EA5E33A940F30BBB56E293 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; + 63B031ABCF8DE5C94889823B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; + 63E66F6D161941FE12465C29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 63EE49826BF4CFBD9D546DAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 6421EA349C5D558114D36717 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 64807B3EFFBDC3348512901E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 65DF385E92A4A65760DC3BD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; + 66897EA1FD2CDFB4CED47F8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; + 66B37CB373F19F65553466C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 66CEE40E51335F661B5C5C66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 66DE43B56D8670C78DD3998D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + 66E854431C2BBDEE56EA43C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 673759E656DBA5A9377433E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 674E13DA209E762DF15E9E29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 67771057800F9416E9777625 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 67895BDE8FA4B2A01E3B8B12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; + 6804336FE1AB499087ACE437 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; + 68097881EEDDE0FD03100CC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; + 684E11B1CE018B2C46938D80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 68743DE3AA833D6F02F754D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 68FAA921E5D8CFAF9CC07C2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6911E01E967839199E4C9822 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; + 693B6DC20214C1ED9C1E89F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; + 69449AB58A9C0AB552F754F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; + 69A2DA87D304FD486A872C1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; + 69C36A56AE1A2E8CF64FE388 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 6A1D79062B92685A87BEE5F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; + 6A22C06C6FE2B6B494B4878D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 6A8AC5E55EE51EE0476D852F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; + 6B103C0FB5E6E3618ECD3B48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6B5C2F14A2268F371F1350B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 6BE6A3A14057591A3B4EF2C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6C03031AAE5A7C3372D4F1CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 6C502DF33FB5C14B8A67B25D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D0D0EC5B978695152A0B84F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 6D3F3D0139FAC58B2BAA6047 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D5EE68347208091600E94A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 6DE6751E6A4F0DDE9C7F24B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; + 6E0713769EA84EE0471D9811 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; + 6E6672E4055AC4F6D8688310 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; + 6E841DAA09FE06910D94447D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; + 6E9C1F4D69A9C99433DC67C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; + 6EEECDA2EB328FB597208954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6EFC227515CACDE0F8664EC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F6F888BFFA4BB40DD71285E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; + 7022B01ECEE7000DE6008C0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; + 70B18C93C5696330A877B330 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7141B07690C1A022A2BFFBBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; + 71881F8A6973AACD78ABA719 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 71B0F66C20CF48F49B3152AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 71DF518DE7A248B97C8E1C2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 72696E2F6E8EB43A8E604390 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; + 732EEC584A4CE3ED07C5BEFB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + 73CA6BCA313B0239842F298C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; + 73FF82BCB568578396E88C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; + 74302B51B991EA1775AEFC67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; + 749854CD2D13BBBA500F353F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 74AB51B6E97964B27B1CD019 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 74B477DE4CFC95E20DBB0D91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; + 75D038033B2083D5EFE620A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; + 7627F01C1E5383207D2C0BFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + 7639526FBF7A4F41961483ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 766EE2CCD4E86729C6CE8112 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 768754211363FED3D2188C9D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 76F1A69F15F53D17C632A644 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7743414F79908801328D9F03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 77AE8FD7436387126D3BBBAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 782E3434FEA190A986EAC816 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 791ADFB0FFAEE65058B6FC8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 799472026100D7BAE015F6A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; + 7A029D97E723C7F1BDDCAA49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7A46778023CF61B3F417F9AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; + 7A6E1CBA343C07AC187A3EE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; + 7AC4D7A22EE9E1F4FBD407C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; + 7AC8C094442A603DE6257BB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; + 7BA2EA5655704E5358ABAA9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7BC8F7015F35BAFF4AEDA0E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; + 7C7B6D8D155687966F681F5B = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 7D8D285B8414388FDB083AFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; + 7DCF49E37B27971A7E597555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7E0DD06926DAC8EE93BD4F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 7EB8C7E000F0DDAAB4F47802 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + 7F0614F4F47EB171B8476BDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F162E198ECF41AA895DB94B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 7F171BE6BFAA1E3E2A9BED61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; + 7F2BBAF79EB32BB9904A76FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; + 7FC89C1EEB42DE3C9628591C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8001506F637B2516AAC5C0D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 803480FD5E7181E0D64FFC53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 805EB95DB4B8045064CE9ED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 805F27CEEC53F4E659884D7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; + 807E7971CB75C806D7DB5DF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 8102EBF90140E78193692AEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; + 814E0D982BC2A18B9BAF3E38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 823BBAE97A02475F25E54F9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 82A390DEE5A3B2EFDF7A65E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 830ADB6740EF70992E71895F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8314FE695F91DA2FAB51920E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 83325A69170997E33D73770A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 833CD270A139A70FF4E60D35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 83BA5BED925F6F827DF98CA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 842433A42308565BF3C1542A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 843BE36A2285F73A3FBB5660 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 84494501A6148DAFE162650B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; + 84ABA9491A70313AD6BF6F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 853D2D1ADD05C320052DD5FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 859E13C66F2193112084D1B9 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 8632589E0C21E3B0A5DA0333 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 8683CDE5FD2DFCB2CFC8F410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 868955327EBBD0C2C2447DB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; + 8741126A9694372E46E3FD32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 877ED7656241F46291022910 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; + 87E61959D8EA529461A0D257 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 87EDBC629357F63AB8E7B507 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 884AA1209A726AEAF76E31B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8866CF798E9F84C49B9D7DCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 888284627B1FEA22193130AB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; + 88CC8BC2EA8CDB378A03FADA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 88EF4C8D3A1D2498D8ADB6E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8945894D17A9407EEEE3B8BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 897B10399D1CA882B5B98D0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; + 897C7B6FB012647ED8AB5D05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 89ACAEA951C470AF8683AABD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 89CBCB2D4660B56C1A939011 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 89F5A5C12916F02E579D6394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A4A25946040DED54DB8F3B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; + 8B155ED74D3D0EB7E890E421 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 8B539DB72CC92EEC7F96C8E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; + 8B7C0F839098C534A7B4C725 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8BE44C96A60C5D9B9F503409 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C105487633A9BD04FDEE50A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + 8C24F74CB23F1B82C80386FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C3A6351780E678334FA1406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + 8C547C48DD5B3A854DBFF0F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C6A342773288620A8CC2598 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C9D252ABA3CDDC81B33884D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C9EC3F9C24081ECEF3FCEFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8CA01F9530AC5512C6B74325 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8D3FB0417A39CAEC03D44D73 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 8DC827CCF543708CF729FED6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8DE969191661B557B4222D50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 8DEFACA6858D254B4202AF12 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 8E407C1CF739A93FD2B3B38C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; + 8E95A3B7C194244B92D5D65A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; + 8EA18CA66CABC9B5087DBDD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8EDD1755AEE1C95660A06BF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; + 8EFB4EBA0836D5401B6D3DFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + 8FA02AA8698232B53D4BFDBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90841E3B0B2548A5BD66F15E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90B6C81CFB0DE386C673F62E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90BE189372A13866896CE817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90FEA7DB5EFC4E9B2E933056 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 911B308D5222BDFD954DBB32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 916001804771DF943551AAEF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; + 91B991143655810C26644D50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; + 91CEFA76775CD035E2F9200F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 91D09C7242A24405FB364449 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + 9211B175E63E325D4FF6B789 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 92172AE93327D4F8008A0AFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; + 926063234BAFA6D29366E43E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 92BB22C929A3A76CE6F29C7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 92DF4A828DC5CE370E36044C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; + 932126F914644642A8244676 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 935BCEB2593A51E53187ABC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; + 93667813A711750790201F8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; + 93CC262389F622F8AB79CA60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; + 941219816EB5D7A2231019FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; + 9424FDB8C564B73250B7B20A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 94BFC3162953A5E7E192276A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; + 94FAC7EB87C8EBE67F68AD60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 95412F7C12937CC7AC22ADCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; + 95440A40B2FB3CE5E09D57B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9692128AC24CF671A9C0457B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + 96E4B48CF055ED116E5CB3AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; + 979A030D4807A573FAA18318 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 97EDCA2A04EF5ADAAD9DC594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 987AD2821B6419D5FEDCBD7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; + 98C77B9D95141EBC60E6AE67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 98D247A4824D969367AFD0FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + 996A274720539E8497291E85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 99A3B01A6398623F40C528FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; + 9A4FCF66FF42906A7A2187A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + 9C05D3A33B0D7B6B2EA43C7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9C17E6FC9A4D7C8734800649 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9C3E556586147F27B4EDC982 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9C599E35E8A990404EEF805A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9C8263A9C3210CBC6C909BDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; + 9CC0E3267A9D1EF3C8E37601 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; }; + 9CC22BDB1B3FF427D6525D21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 9D50B3000D941FDCB620068F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D61877D2691EB78B2ED69EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D91916A769A7E2967368795 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9DC4092F746AB0F5A73D929D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 9DC79DF0A43DA6B06B7B1F44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; + 9DCDB2CA1444618C4054A114 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; + 9E44079E499D4F4ECE55354A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F522CA5A8E82BF69E7403BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; + 9F5FD873C8192683DB089745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F70142818A7806830EEBD7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 9F7AC745AA0588C821A014D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 9FBAD3EFE40ACEB06B155A09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9FC1BB191F1EB657A181866D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; + A010D6D997B85A393165DAB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + A058E50779879A7D9A813A4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A0850087D0288361E552BE9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + A09CB6FA9736BD45103AFF46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + A0F2EAF085969426AC73C85D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; + A1A621FDC626245B1B3C1C4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A1C77E9A6624B8B1A461C038 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; + A2208C87019608EBF813EAA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; + A23966DF7E681FA878B27B92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + A281FFA1C7E3AFB8246FD577 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A292587AA4633141BA378473 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; + A3D0C263C912566AECB57679 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; + A3E01235E4AD9DBE2405F792 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + A42A97232CE0593D8D989FC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + A4F394FB62E70E3A3A02E4C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + A50AF1519D78428A8DCD91BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + A53228473B7F7BCF946F15DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A54AED02A4929ED6EB693CB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; + A54B5504235B3324635B1DB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; + A587862CF3C96C6C648216A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; + A5CEADBA23491564FEB6D4EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + A5DEEB6DADAA5AB2CF41A880 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + A61AD5378601F9DDEB8DED03 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; + A67C5701B28E64F889A92422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; + A6AD00FEFB31915AB0F2798F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; + A76D6B94991D6E028EE8D1AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + A782FF0CD79464F3E015647E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + A7884EC24DD007D6232DB822 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + A7B28AD8606992FBE04C527C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + A826C1C083678A4E9279C118 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; + A8A277CAF10A3FEB258174C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; + A8C570DF829A8B8581B4E8CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; + A917646C0153D2A57E3C5677 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; + AAA3ED492FF78DBBF86DC612 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; + AF59758C300E586A7A6338D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; + AF947B0E188B6EA57EB0109B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + A748C987924800FDBA2E2184 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AnimationAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; + A789D75FEFFFB7E8E835FBAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + A8CAB6FAB9BC1CC96FDE7BC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + A95D718F031CB8883DFDE915 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9608756E1A18BAFCC48A064 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; + A98EED399E310BF85EBBCE12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + AA5CDD430B68BBE10A9026C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB3C130E565756182528752D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB856191A15A8C9016D974D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; + ABA2E1FE9912D5C28F177E56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + AC018F2C47CF57EB4A87AC36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + AC2AE970951E20A199938AFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; + AC3184BE8D8804394FCCDCB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; + AC42B6006776E1CE3A3A94A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; + AC56A48CC01AABBE45F51970 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + AC725293BD38E8C66E35EED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; + ACAC59A1C54DC52E8E2438CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + AD405DDE86D07F955E27EBF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; + AD41400898312123119E987A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + AD54DAEAB7840FC18DA65503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + AD648ADDD885B93B2EB60C88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSampleBuffer.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + AD8417869D43ED72319C283C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + ADCA2F92E2C17964A4AD750E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + AE381B9D6E2A4DA363C7DD3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; + AF885F6112CEA5C2D7934AA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; + B004D25E0DC1AA2C4CD3788A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + B0286AC6D04C5D080A299A1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0589203065E4CF2C002B0D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + B0626D2C611D9E3DF1408BEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; + B15DC22CA1E52983F4F57A9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + B189762C440B38635351E0A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; + B1A41C6141726A390E2182A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; + B1B7C62CA04ACBAC6CD1C2AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; + B1C799A152189A282E6CAC76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + B28F34DD7CABFD48B1EE3CCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; + B2D42B884600CE62E3253DA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; + B305ACE053406FF288E500F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + B316291E570F37785C40FE88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; + B3261106892038D4F954E6F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; + B32716A0B0702E6861726529 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + B3FBDBEBC38720E957C15BE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; + B401E96340B8AB5DE8CBF5C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B409D881BE39C4704C94996C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + B471C2AB67E7C68D1C7D729D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + B4769129853D2822D3DB38D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; + B5142BDA7EBA15F2DB1BB3FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + B54A14A497368A580B7D9AEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + B57640F7EDADCFE17719EE68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B5C3814B2174E5127F42D721 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; + B60524021E6FC59416222870 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + B6173E37D15602163B7C0441 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; + B6411B03A6D0185B11DBDA15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; + B6ABBE7782ECD38631EB11BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; + B6BE7EF02190070336E63E89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; + B6C7114A31FD6B1DEB08346F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B6D9BF4B75784D01B7CDE1AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; + B70E52FF75D44F0F1F0B31D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + B766DBADE0BD743FAC004870 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = "SOURCE_ROOT"; }; + B7855FA22C92F7EE272A866E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; + B7DD84C8B05ABA4A6915E77E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; + B83DDFEEA66888E9616BCE82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B88950266CC4244E1B5394F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; + BA7FDBE53073F3261D962FF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + BACA17304411EED8B219D2AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; + BAD1E66E3AA09ADD70061A50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + BAE06A3352E39521CE5D94EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + BB144FF841A99B08D5479777 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + BC02503FFF515269351DF89B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; + BC0ED0B33BB83E19D9609152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; + BC1DBF05964D3B9130CD8CB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BCFE159BD9F2DA5515E028A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; + BD588F8D5FD1E6FE88E9D3E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BD7B0136829554046A511588 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDA5B0C014F6DCC188465060 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + BDE0C2D342D03C389560501F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; + BE61994F6993AE76CBBF1EAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; + BE64EDA4F7260D2D5B7E0410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + BEC8EC4C23F9AA5C8DFEA15A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; + BF40FF2E0FA609212C849FBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + BFB12FD84F14C9B31249FC04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + BFBF32B0E491C9D4527DF9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + C088D98E527C1DA17B55A9D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0BA74AF0382D87B0E7BCEB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; + C0FDDD3106A13770B141E5F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; + C1070E62B763F1CCE0BB18F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + C186342C3FFB4DE250556D70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + C21701DD3A4A2628C63CB70A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; + C296F214D5B65857DC3DA585 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + C3DEEC17595B1AB020ADA47F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C45AB95F4CDF31A41199E6D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C51A754A0E65CA141A2C3310 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C52E8074125FEED4DB727EDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; + C52FB75A0A93BB1397D1F962 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + C551CC8801B93AC70F6E4F76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C5C3838D0FDC65F44C9D1A9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; + C6CD42F1DA2F444A59CD4AF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + C73B4B312C3A4CE4F8E742C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; + C7581A35068A3FB43786F4BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; + C776DAD938AD7E1207DBCEEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; + C7D5A8B28D0B7DE58629AA04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; + C884444C380A4B053DB70D12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + C8A5AD5503F33596C4147ACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; + C8F82FBA1E0EF7EEA5BD02B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + C9A25E2EF32224159B617D5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C9BA40AFF2AD427CE4D480D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; + CA025D4369C240E6FA30CE2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; + CB4D4DA89BA649D3F1B2A645 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; + CB5874E2A70E8A6A01FE8C9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + CC0B7738BD544B955D81BF1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; + CC3F295E9D9E5863779F9ACD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; + CC4B3BCEE612C95F27680EA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + CC8F24C4E5FC5C12AA30F6CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + CC96E8E65FDFE4376F71D7B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + CCA3065F893912F3E3625C13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; + CCEBEEF441D3FCFE411AAAD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + CCF8FB3EA0246D83E3D2E760 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + CCF94157A15DD29B6C5DA939 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; + CD3A68C29B7A733E5954BDA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; + CD405182963BEB73FB9E368D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; + CD4803D5DD14A33CF5AA9FDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + CD965406DB7511EB187919E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; + CDFAC8C57A364EEE32CE125E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; + CE0CE24264C96E86062E0250 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + CE19308F9CD1B8F05E6EF6C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; + CE4F0A27AAADFD53316A17BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; + CE75A83F0AA70025C36151B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; + CEC05A60A0E19B07F6A3CE6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF4DDBE1126E8C8C3A37DC78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF4E3CDCC9837C7E52197686 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; + CFF4FDD0FC27C36843B20BFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; + D00157FA3D14BFECB7FE7232 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; + D01D74EE9A00B0813B00FDD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + D07A5399F09462A5D7041225 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + D0A5B1AE7B7B56633AF2D5E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + D0AFF0790D81DB8F66173737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; + D0B5B79546163A6DE73D0E2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + D1000A39817E9B771A4FB856 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; + D10497F87C560FA833756730 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + D104C8636576DFE8A2D11430 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; + D108D5FFE66F80627621DCA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + D11D931DAED4F636E8A60264 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + D12F8398C3EA9BA0FA88B5CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; + D19705FE67C941DA74C31A9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; + D219A10E7C41110A1AA4FBB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + D26821159E190113FEBF99BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + D298D1DE4D2FE281CA30910C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; + D2A5F78D0EF37F1E45DF39D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + D3B4D56DE3F90D9A445A47A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + D3C1097E92146B596194A067 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; + D40C36493501EA97A8D1EB50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; + D4BA573C125944E2773D747F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; + D52EB7F089EF359EDCB199AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; + D57735149DD4975283A0C754 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + D5C10F9CC5ADFC1B63AD1DB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + D5EC3B41088855C3D481A73E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + D64B71F992FF01CB0EE89641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; + D6D37626671B0FB1CE8505C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; + D6ECAF8B2A4E8B6C97B89FFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; + D763221FDA235D75039D4C46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + D7C8F6360C455C0F76E35978 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; + D7E612935BA192BF5D24B9A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + D80EEBBDEC364958AE05AFFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + D8256B8AA794F43A2259638A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; + D886106C60A496E47C48AFB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8BAA82AC820CEF315BD9DCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; + D949A0753DEE4B4AACDDA3AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; + D9FAC914CA572410C055D109 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + DA353BCF838D64BA343AC0E1 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + DA9671908F37549C583C61E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + DA98B32DCA0DEF0113C22F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; + DAB059DA13868A81301513F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; + DAC4442F8C2F142270E92349 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + DB1C6393173661404927B4B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + DB4AC9766332105669D51C1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; + DBB34599E380FB1F37A28B27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; + DBDED1D6237A21D03E68D323 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + DBFBBC58ED4A18EA9FE04D1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; + DC3B995E7B51FC0B76826C86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC6461EF11D5745DF8C00E16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; + DC66DC84909A3802527414C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC94270BB4A70056907C3CDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; + DD03B6CE6F750A9CECA7EDEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD19124F0A7FD43F31BDEB87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; + DD2007C851B70E2C71171145 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD73087B002B1DB6B90B666E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + DE1943CA08D7FAB2E3EC0A14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; + DE4C0926D2EFA7649BD3AAA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; + DE4DC23FAE4C420D489ABD17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; + DEEA654926310D5B37A191C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; + DFAD61F886BEAAAE535BBF81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; + DFC58448ADEA2B5D2FF5F8D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; + DFD9E836DB24F4DE75A94C29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + E0A44ED2A465E22D93420F88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; + E0EF847C7052C5FFA2A7CF8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; + E0FCA8F19A081CE941B273FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; + E109BFE0F2475C97F17CA5AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; + E13860F17C7FC399EF28EC1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; + E1868998BA7B20DF7ED0B5E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + E1A153E1CA08E918F65C2B4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + E1AC4AB03052A8F3FF90FBA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; + E21A45155C6954C6E50CCAF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; + E2307A386F9B96576696354B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + E29A372A41F835609F81CC43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + E2E3FA0BA7B7C8EB3C47B642 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; + E323EAC836E3B5BB29B6AE06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; + E40FB3B047D27337B9A9CACA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; + E443717EB8EC16A0B1814BAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + E4D5FB6A6F806D9400BBF344 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; + E57F103FCFDEE26617E3F8F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + E587838C598E06E7959F2A31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; + E5918150BDBDBCC3060C9FB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; + E5AF1F5B3F7F2B30606FBF24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + E5B323382721E0B714F5D805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + E5B84D5F7CF2B74715EEF3B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + E652F16998FA1CBF2068C6FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + E6BA3A4991987C4AB55F5948 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; + E6D8902FFF0C8CDBB3E4BEA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + E6E99E6E9BB715D12B35AB4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + E70034BF5EF1721B245C3079 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; + E7488E12D0F3300AE33E0B9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + E7EC04A96E1CBFA9428A4B80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; + E958ECCACCCE70690FAE58B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E973909AF8AFFB788A250CB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; + E9A4C91E94B6D096BD8217D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; + E9C249D9F38B0DFAF0823653 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + EA13B2FC256C7BCF0900369E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; + EA5874F225E76DED69BD7132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; + EA749A33B0E635F691A42C64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; + EA779F8A580E3D22A7CBD51E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + EAAFB86397B191FF3713155B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + EBC4E11E36D206EDF01E6EB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + EBD6F8CE3122B2AA015A62BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; + EBDC0E12D4ED20F5DB90BC26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC11D53A4118E15738CC70BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC9898734E8AFE5215705476 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; + ECD7A374DADD305C66141AF4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + ED5E6273C8910BF1F8CBDB9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + ED773069A737B4877D02DD90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; + ED7E17722B60B7D89188CE60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; + ED8032A884A03337DAA1D453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; + EE577E6ABD70D104CD83186C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; + EEBBCD11005AE9AD87B36F32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + EF8B8FB4B02133457562E1F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + EFA1E7B282EF67800F4766AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + F0B46A9181B1707349A20399 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F0D54DDE8C2AD1D018A61FDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; + F0E4B5B18AAB82215F5C6AE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + F113DFEACAF2D8230F0DF5E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F16734BCF880A8180C06018D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + F2040E4B76F8783B471CECED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + F20F182CBEF008AA1B1BB52A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + F22781915698D59D4CBE984D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + F233E88B6F2BC6906819AE6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + F257AD1B82D5595FF9C3F1CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + F26953C1E056357A3DFDF35C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; + F2A1FCAC1825462CD568D442 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; + F2DDCDF62D2587FB565A442A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + F30876EE30580650FD17B801 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + F3154C77D5DFCE8D71084F23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; + F33B267B702055F8CE27BDB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; + F34126F005008CBB1C42B68F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; + F36959B167E88B220CF9D8FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + F36FACCDB4B94286F6042490 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; + F382E14FAFF5CDEBFEA81B00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F38F8132499ADBD3344E8449 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; + F3A0B8ADF39FA8F15A6D8E23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + F3BD246F4283B08B1E21C75B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; + F3C52FC514B9B3A2DFD7E3F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + F4454839EB930FC98D63AED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; + F49471EE0681DBD1115D927B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + F4A977844BD67D5C2BEFCDDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; + F4F618373A81FDC73AB27A91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; + F5091F49E07C6DF8F644BAF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; + F64C6AC0DC0376A80A74A82A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; + F65A6A3350F6251E8BBF8CF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + F73B6D934AEC9887D9EBB5E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; + F79ADEBA7B305354085FFB8D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + F7B6DBDC7439C90B4E01752E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; + F7E781AFAA34B511C812896A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + F831631700830F81994D9980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; + F83392D9825422AF0DB638D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; + F838183EDFF5937C2879EE41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; + F8EB370470B7928A80032F7C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; + F95533D725E548643CA584D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + F9609B0A0387932B86A6FABE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + F994D2E0DF00D0A7765068EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + F9B00F8F537F74527F6C463C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + FA2DB83279928FFB76A4BC6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; + FAB998A70437EE4D89CABE2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; + FAC04A1B47255DA7A6397737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + FAF4C6D8D1D59932F12DF6A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; + FB3BE7E3D0A04791487E9E0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + FB459E95101C8A92E5B39A67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + FB81D25CF4825A9A186B6790 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + FBC55E440EF1EA83FC0DAA5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + FBDBD56614E38BB5A5592D32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + FCA9526394A63B33405F8E58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + FCC9F258531F00BCD91C63DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD05E73E3F022E08D70B9569 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + FD1FFBCE5E94D08B6FB60F70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; + FD5262552A90A9DFACB3C07F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; + FD5E948C1A89B11770A20704 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; + FDA36D1F836D00DE705CD06F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + FDE0D8E73B0ED8A938C99AAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; + FE1E97C9233F2D472C7C6128 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + FE41044F09ABE0A6BC0F9293 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; + FE55A1DFB90A1A5EF37B1741 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; + FEA645D52C593ECCEA779BAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; + FF1CEE8501CA0F081EE0E3AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + FF1F4F1262BB429E80492B13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; + FF3D4768BC96B79F49B10894 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; + FF70C4AB4F37D7C7E1668660 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; + FF7A26DADF1579C43D80454F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F41B5C4D3F9CE9C17373AB3 = {isa = PBXGroup; children = ( + B766DBADE0BD743FAC004870, + F7B6DBDC7439C90B4E01752E, ); name = Source; sourceTree = ""; }; + C69760E59D600CF000D468E8 = {isa = PBXGroup; children = ( + 9F41B5C4D3F9CE9C17373AB3, ); name = AnimationAppExample; sourceTree = ""; }; + 56E5D80A2B5A0AB691ABB90D = {isa = PBXGroup; children = ( + AC2AE970951E20A199938AFB, + 7A46778023CF61B3F417F9AC, + AD648ADDD885B93B2EB60C88, + 6D0D0EC5B978695152A0B84F, + F34126F005008CBB1C42B68F, + 03D03AF17C5E899ED9481518, ); name = buffers; sourceTree = ""; }; + 976965B1038594B4C210B247 = {isa = PBXGroup; children = ( + 9F5FD873C8192683DB089745, + 5358DE9C9773654731E6F615, + 8DC827CCF543708CF729FED6, + A917646C0153D2A57E3C5677, + 95440A40B2FB3CE5E09D57B4, + 6A1D79062B92685A87BEE5F6, + 8CA01F9530AC5512C6B74325, + AC3184BE8D8804394FCCDCB6, + 8FA02AA8698232B53D4BFDBB, + 8EDD1755AEE1C95660A06BF2, ); name = midi; sourceTree = ""; }; + 26A3DDC7B0D9C11EC02E6407 = {isa = PBXGroup; children = ( + D64B71F992FF01CB0EE89641, + 1B3B7CBA0D25C83B8AF72641, + FDE0D8E73B0ED8A938C99AAD, + 0311666DB95BFAE686267D7C, + 403453363C4785FD451A9BA1, + CCA3065F893912F3E3625C13, ); name = effects; sourceTree = ""; }; + FE8AB04D3B86B9666AD12C5B = {isa = PBXGroup; children = ( + 086CE5C768CF5889BDEF8955, + DA9671908F37549C583C61E5, + 97EDCA2A04EF5ADAAD9DC594, + 4EAE69CF6B5097A57EBCD27B, + BFB12FD84F14C9B31249FC04, + 6EFC227515CACDE0F8664EC2, + 8B155ED74D3D0EB7E890E421, + 4EBC561A323AEE4D76AD7906, + 979A030D4807A573FAA18318, + 83BA5BED925F6F827DF98CA8, + 570C35930202882A634FC029, + 44B3428E8BB4B70104CD76CF, + 1D5B751294F84B86ABB11D4A, + 301AF9BA843B1955EE001C98, + B5142BDA7EBA15F2DB1BB3FA, + 3900C9B11914C94DFA1F8C33, ); name = sources; sourceTree = ""; }; + 11ABF0A415636F8CD40A3097 = {isa = PBXGroup; children = ( + 9D91916A769A7E2967368795, + 8C105487633A9BD04FDEE50A, ); name = synthesisers; sourceTree = ""; }; + AF12826F0B38E7FC1176C648 = {isa = PBXGroup; children = ( + 56E5D80A2B5A0AB691ABB90D, + 976965B1038594B4C210B247, + 26A3DDC7B0D9C11EC02E6407, + FE8AB04D3B86B9666AD12C5B, + 11ABF0A415636F8CD40A3097, + 8DEFACA6858D254B4202AF12, + 3B9903B0A0252D106C92CAA9, ); name = "juce_audio_basics"; sourceTree = ""; }; + 3B35E0DA3DB0B1509311FBDF = {isa = PBXGroup; children = ( + 884AA1209A726AEAF76E31B0, + 3D24784AEA7726A64A340625, + 4A1671B78E589A865FEA3CB1, + 62E534D1F0B31CD4A1B572E1, + B6173E37D15602163B7C0441, + 4BF9949E0C30EA64B16004BE, + 04C105672DA409FE8593DB04, ); name = "audio_io"; sourceTree = ""; }; + D487CFDA56FA408A04203A20 = {isa = PBXGroup; children = ( + BC02503FFF515269351DF89B, + A789D75FEFFFB7E8E835FBAB, + B004D25E0DC1AA2C4CD3788A, + D298D1DE4D2FE281CA30910C, + CE75A83F0AA70025C36151B1, ); name = "midi_io"; sourceTree = ""; }; + C3D887B6F1284C2394FD72D3 = {isa = PBXGroup; children = ( + 814E0D982BC2A18B9BAF3E38, + B6411B03A6D0185B11DBDA15, + 911B308D5222BDFD954DBB32, + DFC58448ADEA2B5D2FF5F8D3, ); name = sources; sourceTree = ""; }; + 09D6686EACFD43021C0E69F3 = {isa = PBXGroup; children = ( + 41C74B59D9B392117441DA2D, + 35A7FD6EFDE29D2EBD7DFCB8, + BDE0C2D342D03C389560501F, ); name = "audio_cd"; sourceTree = ""; }; + A62DE30F63767AFA483DE8C6 = {isa = PBXGroup; children = ( + FCA9526394A63B33405F8E58, + B1C799A152189A282E6CAC76, + 2A098563977566E9A9E8CD7E, + F30876EE30580650FD17B801, + 95412F7C12937CC7AC22ADCF, + B0286AC6D04C5D080A299A1C, + 32C683CBA18109949D53149A, + EFA1E7B282EF67800F4766AE, + 55417F6D23E7075E5E27BECB, + 5EB144BD6AC4D4DE96ABFCA2, + 25B41C0851C004C9D410B7C8, + 56545F3F893C3D8CC9215051, + 7AC4D7A22EE9E1F4FBD407C7, + 805F27CEEC53F4E659884D7A, + 29F5A84EE715DA5BCED467A1, + D763221FDA235D75039D4C46, + B2D42B884600CE62E3253DA3, + 5719A93B0F6AFE95FC49B673, + 73FF82BCB568578396E88C92, ); name = native; sourceTree = ""; }; + 270A86F6A3CE512F0B3EA8DC = {isa = PBXGroup; children = ( + 3B35E0DA3DB0B1509311FBDF, + D487CFDA56FA408A04203A20, + C3D887B6F1284C2394FD72D3, + 09D6686EACFD43021C0E69F3, + A62DE30F63767AFA483DE8C6, + 442199479D1499B6A44BD150, + B1A41C6141726A390E2182A2, ); name = "juce_audio_devices"; sourceTree = ""; }; + 72D396CB5861C9C441B3E360 = {isa = PBXGroup; children = ( + A76D6B94991D6E028EE8D1AA, + 0E70A4BFB2F7D1AB6188E72C, + CCF8FB3EA0246D83E3D2E760, + FF1CEE8501CA0F081EE0E3AE, + E1A153E1CA08E918F65C2B4D, + E5AF1F5B3F7F2B30606FBF24, + 853D2D1ADD05C320052DD5FC, + FE55A1DFB90A1A5EF37B1741, + B5C3814B2174E5127F42D721, + D1000A39817E9B771A4FB856, + 71DF518DE7A248B97C8E1C2E, + 6E6672E4055AC4F6D8688310, + 63E66F6D161941FE12465C29, + AD8417869D43ED72319C283C, + 9CC22BDB1B3FF427D6525D21, ); name = format; sourceTree = ""; }; + 23741F076745FB046C07FB1D = {isa = PBXGroup; children = ( + AB3C130E565756182528752D, + 7F162E198ECF41AA895DB94B, + 0BC32F0BB0B5393D25E09D00, + D80EEBBDEC364958AE05AFFB, + 0AE6516868244378D09124A0, + E57F103FCFDEE26617E3F8F2, + 932126F914644642A8244676, + 1AB580D4342BFFD41F220358, + 264F684A80B93F7A189A5FA5, + F65A6A3350F6251E8BBF8CF7, + D108D5FFE66F80627621DCA0, + CD4803D5DD14A33CF5AA9FDE, + 4B27C30CF5AC7BFE0AF537AD, + 996A274720539E8497291E85, + 0D530396A7BA6BA190100C6E, + 46885692CC5FDE30FC3649F6, + C52FB75A0A93BB1397D1F962, + 4B8102606812A7964CF8D9CE, ); name = codecs; sourceTree = ""; }; + EA0CB9DC4E43539FB25FBC68 = {isa = PBXGroup; children = ( + 5774E190A351EDF7B7AAB188, + EA749A33B0E635F691A42C64, ); name = sampler; sourceTree = ""; }; + D8CF14F51DEE1EA3625BFE6E = {isa = PBXGroup; children = ( + 72D396CB5861C9C441B3E360, + 23741F076745FB046C07FB1D, + EA0CB9DC4E43539FB25FBC68, + 768754211363FED3D2188C9D, + 62B6E8B6269ADEF23D85FA3E, ); name = "juce_audio_formats"; sourceTree = ""; }; + 2127B046D500ADBA07220814 = {isa = PBXGroup; children = ( + A61AD5378601F9DDEB8DED03, + E323EAC836E3B5BB29B6AE06, + E2E3FA0BA7B7C8EB3C47B642, + ED773069A737B4877D02DD90, + E5B323382721E0B714F5D805, + 40B9C2276B7EF73860E2606B, + 15029C3F041B27DD7191482F, + A8C570DF829A8B8581B4E8CC, + 2D5F3AD1A03B34AE7349DF5F, + 102919EC5BCD10DA703688CF, + 673759E656DBA5A9377433E5, + FAC04A1B47255DA7A6397737, + EC11D53A4118E15738CC70BB, + B6ABBE7782ECD38631EB11BC, ); name = processors; sourceTree = ""; }; + DB8C9872311AD82A6BE28BCE = {isa = PBXGroup; children = ( + 8741126A9694372E46E3FD32, + 381B8B8A9D5203E73FED79E9, + 83325A69170997E33D73770A, + F3C52FC514B9B3A2DFD7E3F6, ); name = format; sourceTree = ""; }; + CD61E634B4D011ABCFA7E39F = {isa = PBXGroup; children = ( + A50AF1519D78428A8DCD91BF, + E587838C598E06E7959F2A31, + E6E99E6E9BB715D12B35AB4A, + 38EDF1EAB12A05CEE439AF23, + 36B8F6CFEEA3C1E2A0D09E56, + 2B02634F8DA8660ED42B0AEF, + F79ADEBA7B305354085FFB8D, + 66E854431C2BBDEE56EA43C8, + 0F67C59CB48583941B8656EF, + BB144FF841A99B08D5479777, + E652F16998FA1CBF2068C6FC, ); name = "format_types"; sourceTree = ""; }; + 6C9E51DC570947CDBD246B3E = {isa = PBXGroup; children = ( + 0B933FCCF82100D67C0B7D34, + B7855FA22C92F7EE272A866E, + 2E650C2E92EA2732B66070D4, + EBD6F8CE3122B2AA015A62BB, + A53228473B7F7BCF946F15DF, + 88EF4C8D3A1D2498D8ADB6E0, ); name = scanning; sourceTree = ""; }; + BA9B6357DA1BF8D6E3120176 = {isa = PBXGroup; children = ( + 2127B046D500ADBA07220814, + DB8C9872311AD82A6BE28BCE, + CD61E634B4D011ABCFA7E39F, + 6C9E51DC570947CDBD246B3E, + 3F0388309395C138AA68FAD7, + 6E841DAA09FE06910D94447D, ); name = "juce_audio_processors"; sourceTree = ""; }; + 8C7AB91AFCAF2F99D0E906B0 = {isa = PBXGroup; children = ( + 5A854859042F6CD761688B25, + A42A97232CE0593D8D989FC1, + 8E407C1CF739A93FD2B3B38C, + 7AC8C094442A603DE6257BB1, + 4A86B4371AE4FC58D879962C, + D6ECAF8B2A4E8B6C97B89FFE, + 1AB9713046E08B68A6F672CF, + 22C4F82B505995F81CD682B5, + FF7A26DADF1579C43D80454F, + 916001804771DF943551AAEF, + 61797A8C01DC08E83AFA4540, + 935BCEB2593A51E53187ABC2, + D9FAC914CA572410C055D109, + 17B07A06764A6A7759804033, + 14245CED80854EC5291657FA, + 926063234BAFA6D29366E43E, + F4454839EB930FC98D63AED3, + 389B4E4055A779D0F6B22C5F, + 1450CD0879661355CD52DD8D, + F2A1FCAC1825462CD568D442, + F49471EE0681DBD1115D927B, + C0FDDD3106A13770B141E5F2, ); name = text; sourceTree = ""; }; + 6898E6C42CC9520DC26F9FBF = {isa = PBXGroup; children = ( + BAE06A3352E39521CE5D94EB, + AD41400898312123119E987A, + A3D0C263C912566AECB57679, + AC42B6006776E1CE3A3A94A0, + 1B3CC8F665F23CB86253EBCE, + 4B8342C50F962C3F0AEE9830, + 8B7C0F839098C534A7B4C725, + B28F34DD7CABFD48B1EE3CCE, + CA025D4369C240E6FA30CE2B, ); name = maths; sourceTree = ""; }; + 01A8BF73C8C9D282E9E58D7A = {isa = PBXGroup; children = ( + E1AC4AB03052A8F3FF90FBA4, + 4BDEC9A0A09EEDC9D7BDB826, + 08EC867C77B028C336B79752, + 68097881EEDDE0FD03100CC5, + C0BA74AF0382D87B0E7BCEB3, + FAF4C6D8D1D59932F12DF6A7, + 8C6A342773288620A8CC2598, + ED5E6273C8910BF1F8CBDB9B, + 097237CCE04B9020343CB28D, + 61F0D5937E23A6A9EE8D479C, + F22781915698D59D4CBE984D, + 289C3977B67C1898AC3B974D, + 4A36826C3F710B92F0347A16, + ED7E17722B60B7D89188CE60, ); name = memory; sourceTree = ""; }; + DD57AFE6D9A0218912B3DD93 = {isa = PBXGroup; children = ( + 6EEECDA2EB328FB597208954, + C7581A35068A3FB43786F4BE, + 0C89377A44F26612524DA129, + E973909AF8AFFB788A250CB6, + D12F8398C3EA9BA0FA88B5CF, + CCF94157A15DD29B6C5DA939, + FD1FFBCE5E94D08B6FB60F70, + FF70C4AB4F37D7C7E1668660, + F36FACCDB4B94286F6042490, + DD2007C851B70E2C71171145, + E4D5FB6A6F806D9400BBF344, + 3A9FC7EFC378976EE696AE83, + 749854CD2D13BBBA500F353F, + AC725293BD38E8C66E35EED3, + D949A0753DEE4B4AACDDA3AF, + FE41044F09ABE0A6BC0F9293, + 4DB2143B264FC1AE54490BF9, + 55CEFA60FA0CBA0E6CB71F5D, + 4570554FB8438C0692EEDC55, + 1C71768A34644733E39EEF4F, ); name = containers; sourceTree = ""; }; + 7A970EF4CD9FEB460B82CAB2 = {isa = PBXGroup; children = ( + 381AE52C082AE08E724CB954, + D11D931DAED4F636E8A60264, + EA5874F225E76DED69BD7132, + E7EC04A96E1CBFA9428A4B80, + 3AE89D0904EE985359A73B91, + A292587AA4633141BA378473, + F9609B0A0387932B86A6FABE, + 9F522CA5A8E82BF69E7403BF, + F5091F49E07C6DF8F644BAF0, + B409D881BE39C4704C94996C, + 69A2DA87D304FD486A872C1B, + 0AD4B355DBB0AED4C90E5657, + 91D09C7242A24405FB364449, + A9608756E1A18BAFCC48A064, + 44185DE135E354DD4758B3EA, + 426283CFD858F482E87F530B, + 6F6F888BFFA4BB40DD71285E, + 390351E336C2CF20C38ADB59, + 897B10399D1CA882B5B98D0F, + 7743414F79908801328D9F03, + DE4C0926D2EFA7649BD3AAA5, + 3E19A71C4A345EB5C1BA466D, ); name = threads; sourceTree = ""; }; + A7DDE84C6BDC340DFEAC5C86 = {isa = PBXGroup; children = ( + 24363F41974FD7A3B634B78B, + E21A45155C6954C6E50CCAF6, + 4ADE9EFB6C41DE44D40C9837, + CE19308F9CD1B8F05E6EF6C5, + ED8032A884A03337DAA1D453, + 5CDC0F220B1EAE847D38D1DE, ); name = time; sourceTree = ""; }; + 0B90B115C693F54D5DF8E732 = {isa = PBXGroup; children = ( + 9D50B3000D941FDCB620068F, + AF885F6112CEA5C2D7934AA3, + 3FECAB20E9C0834676E2D9EB, + 175654F2545AD9C0603BD0B4, + E443717EB8EC16A0B1814BAC, + FB459E95101C8A92E5B39A67, + 57490A9F97D62E7A312EA90C, + DFD9E836DB24F4DE75A94C29, + 87EDBC629357F63AB8E7B507, + A23966DF7E681FA878B27B92, + 70B18C93C5696330A877B330, + 35AAFB158E16D03C4D977713, + 605EA4B27D057BCB9263BCFA, + D10497F87C560FA833756730, + 176B18B9B61FDA6EC4357EB6, + 07C83735435D264F28158F79, + AC018F2C47CF57EB4A87AC36, ); name = files; sourceTree = ""; }; + 9E9C1F84B44CA85F5F472594 = {isa = PBXGroup; children = ( + 90B6C81CFB0DE386C673F62E, + 7639526FBF7A4F41961483ED, + 84ABA9491A70313AD6BF6F9A, + 6A22C06C6FE2B6B494B4878D, + A4F394FB62E70E3A3A02E4C7, + 8C3A6351780E678334FA1406, + 9E44079E499D4F4ECE55354A, + 2B57EB41D3962E3518B79FD8, + D6D37626671B0FB1CE8505C9, + DBFBBC58ED4A18EA9FE04D1D, ); name = network; sourceTree = ""; }; + B87CA56B966A881DBF190AE7 = {isa = PBXGroup; children = ( + 23936BBF807CCF5B1EEB9F00, + BDA5B0C014F6DCC188465060, + 6C502DF33FB5C14B8A67B25D, + 7E0DD06926DAC8EE93BD4F08, + 6421EA349C5D558114D36717, + 440A182A9068A8FBD011BE1A, + E5918150BDBDBCC3060C9FB3, + 47E70AF805B1C5C57566C4CB, + 52062790A5E737C8846A23A2, + ECD7A374DADD305C66141AF4, + 8945894D17A9407EEEE3B8BD, + 07E19FB806980020A47AA47D, + 803480FD5E7181E0D64FFC53, + B305ACE053406FF288E500F8, + D0AFF0790D81DB8F66173737, ); name = streams; sourceTree = ""; }; + C0BC501BDABAB02545D8CED7 = {isa = PBXGroup; children = ( + DEEA654926310D5B37A191C9, + 234D4927B398ED6E9B7B0E6B, + 5D43D909CB26D4A07A62A4F7, + D52EB7F089EF359EDCB199AF, ); name = logging; sourceTree = ""; }; + 314A7534CB4D49F809F0BF86 = {isa = PBXGroup; children = ( + 7141B07690C1A022A2BFFBBB, + DAB059DA13868A81301513F7, + 07342D914D2A5AF6075CDB2D, + 3CD47BA1CFEFB637DDEAC313, + 03B79DBA48F6C4122DABEE90, + 67895BDE8FA4B2A01E3B8B12, ); name = system; sourceTree = ""; }; + 61DC39E8E45840C4E9876585 = {isa = PBXGroup; children = ( + 03E91AE23ECCF51E3AF9FC90, + D19705FE67C941DA74C31A9D, + EAAFB86397B191FF3713155B, + E40FB3B047D27337B9A9CACA, ); name = xml; sourceTree = ""; }; + 044DA355DFC10789F7E2671A = {isa = PBXGroup; children = ( + BD7B0136829554046A511588, + 9DCDB2CA1444618C4054A114, + 1737596EB7F40322C0A5DE20, + 5C58E6217AF57BD2A33ED617, ); name = javascript; sourceTree = ""; }; + 9EE7BD032D2E50758043A0FF = {isa = PBXGroup; children = ( + DB1C6393173661404927B4B7, + 6C03031AAE5A7C3372D4F1CF, + FBDBD56614E38BB5A5592D32, + 9F7AC745AA0588C821A014D0, + 3FAA5384DA8B28DEB5E57A5D, + DFAD61F886BEAAAE535BBF81, ); name = zip; sourceTree = ""; }; + 6BA585E8E2F21352228FF71C = {isa = PBXGroup; children = ( + 5878CA91071620345AB5B3C4, + 1E6EF8035485237EA92A1310, ); name = "unit_tests"; sourceTree = ""; }; + 246C87B7ECF29ACA118F0242 = {isa = PBXGroup; children = ( + 9C17E6FC9A4D7C8734800649, + 941219816EB5D7A2231019FA, + BACA17304411EED8B219D2AC, + 98D247A4824D969367AFD0FB, + F73B6D934AEC9887D9EBB5E2, ); name = misc; sourceTree = ""; }; + A37D31A95DAA40A87611411B = {isa = PBXGroup; children = ( + 6238740697CA1F0746776243, + A782FF0CD79464F3E015647E, + DC3B995E7B51FC0B76826C86, + 8C24F74CB23F1B82C80386FF, + C186342C3FFB4DE250556D70, + CCEBEEF441D3FCFE411AAAD6, + 823BBAE97A02475F25E54F9D, + 161F35FA23347F495704C26A, + 9FBAD3EFE40ACEB06B155A09, + 13430EC7CBFEF46874F53731, + 4DB48F6BAEFA120A31259EAE, + B15DC22CA1E52983F4F57A9D, + 5703889367170F80CAC76898, + E0A44ED2A465E22D93420F88, + A2208C87019608EBF813EAA8, + CD405182963BEB73FB9E368D, + 9C8263A9C3210CBC6C909BDF, + BE64EDA4F7260D2D5B7E0410, + 618839275E13B9DB660001E4, + 84494501A6148DAFE162650B, + C9BA40AFF2AD427CE4D480D7, + 02AC998E808CAF5C148CFFC5, + CB5874E2A70E8A6A01FE8C9F, + 7DCF49E37B27971A7E597555, + 843BE36A2285F73A3FBB5660, + 40F0E944D041D96F2DA4C6A2, ); name = native; sourceTree = ""; }; + 5CF56D8EDFCB4673E75EB0E4 = {isa = PBXGroup; children = ( + 8C7AB91AFCAF2F99D0E906B0, + 6898E6C42CC9520DC26F9FBF, + 01A8BF73C8C9D282E9E58D7A, + DD57AFE6D9A0218912B3DD93, + 7A970EF4CD9FEB460B82CAB2, + A7DDE84C6BDC340DFEAC5C86, + 0B90B115C693F54D5DF8E732, + 9E9C1F84B44CA85F5F472594, + B87CA56B966A881DBF190AE7, + C0BC501BDABAB02545D8CED7, + 314A7534CB4D49F809F0BF86, + 61DC39E8E45840C4E9876585, + 044DA355DFC10789F7E2671A, + 9EE7BD032D2E50758043A0FF, + 6BA585E8E2F21352228FF71C, + 246C87B7ECF29ACA118F0242, + A37D31A95DAA40A87611411B, + DA353BCF838D64BA343AC0E1, + 74302B51B991EA1775AEFC67, ); name = "juce_core"; sourceTree = ""; }; + A24377A329F782F1DF1A9E92 = {isa = PBXGroup; children = ( + 9C05D3A33B0D7B6B2EA43C7A, + 567D63D778B7A22C5D97F1C5, + 9C599E35E8A990404EEF805A, + CFF4FDD0FC27C36843B20BFC, + 29D35A5AB22E9443E0ED8F99, + 66897EA1FD2CDFB4CED47F8B, ); name = encryption; sourceTree = ""; }; + D05EA809F9DB6CFD6B0BFEC0 = {isa = PBXGroup; children = ( + 4C87C8EC24CE0EB64640238A, + 2CFC9FB97ED3587D7E0E4E4B, + 4228B8952E3FBCDA69C1948B, + F8EB370470B7928A80032F7C, ); name = hashing; sourceTree = ""; }; + 752AB8D433735A877FC90255 = {isa = PBXGroup; children = ( + A24377A329F782F1DF1A9E92, + D05EA809F9DB6CFD6B0BFEC0, + 19DC6BDBA978DC67B9783340, + E109BFE0F2475C97F17CA5AF, ); name = "juce_cryptography"; sourceTree = ""; }; + 569E6262B6ED4B4C394F150B = {isa = PBXGroup; children = ( + 2E96848340E1C1B1095AC1F3, + 9A4FCF66FF42906A7A2187A5, + 2B1494112273ADF380C99FD3, + 73CA6BCA313B0239842F298C, ); name = values; sourceTree = ""; }; + F3B535506E5F093EB8206BDA = {isa = PBXGroup; children = ( + 616493921A733162495E7553, + 369C06F1DC7B3B7EB497D062, + F7E781AFAA34B511C812896A, ); name = undomanager; sourceTree = ""; }; + E4B1CF3D54E0B5547CDF9A87 = {isa = PBXGroup; children = ( + 09846FF5D2FFB83242A02FF4, + B4769129853D2822D3DB38D1, + FBC55E440EF1EA83FC0DAA5A, + AF59758C300E586A7A6338D1, ); name = "app_properties"; sourceTree = ""; }; + 670AA26A4F8D5CF111CE304F = {isa = PBXGroup; children = ( + 569E6262B6ED4B4C394F150B, + F3B535506E5F093EB8206BDA, + E4B1CF3D54E0B5547CDF9A87, + FB81D25CF4825A9A186B6790, + D3B4D56DE3F90D9A445A47A6, ); name = "juce_data_structures"; sourceTree = ""; }; + A9C383106F234D341DE730BA = {isa = PBXGroup; children = ( + EEBBCD11005AE9AD87B36F32, + 868955327EBBD0C2C2447DB3, + C5C3838D0FDC65F44C9D1A9A, + F3BD246F4283B08B1E21C75B, + 3324210159E5C546DC5C2065, + 6804336FE1AB499087ACE437, + DB4AC9766332105669D51C1E, + 314E9338935BC33A1C468B3E, + AE381B9D6E2A4DA363C7DD3F, + 8C547C48DD5B3A854DBFF0F3, + A54AED02A4929ED6EB693CB9, + AB856191A15A8C9016D974D5, + CD965406DB7511EB187919E7, ); name = messages; sourceTree = ""; }; + F197372050DC8782B9089C8A = {isa = PBXGroup; children = ( + 7A029D97E723C7F1BDDCAA49, + F3A0B8ADF39FA8F15A6D8E23, + B6D9BF4B75784D01B7CDE1AF, + 7F2BBAF79EB32BB9904A76FF, ); name = timers; sourceTree = ""; }; + 59EA583396C9C41EDC94D5F6 = {isa = PBXGroup; children = ( + B32716A0B0702E6861726529, + 2DCAC1795F1B47C592E65D4E, + D7C8F6360C455C0F76E35978, + 59CAB9E5A0CBBC51342FC065, + E70034BF5EF1721B245C3079, + 142D03BC875BD387BD10C51F, + 5C62F423D8469A02E55BF59D, + 435858CCF38F47E9AAE1B08F, + 5BBF8CA223EEE4D9C769E453, ); name = broadcasters; sourceTree = ""; }; + B90F0A1A63C3408C288F6D8C = {isa = PBXGroup; children = ( + 6D3F3D0139FAC58B2BAA6047, + 9DC4092F746AB0F5A73D929D, + A587862CF3C96C6C648216A3, + DD73087B002B1DB6B90B666E, + 4F5DED2313FC69EA518E5679, + 1E020B9E032C076071700CEC, ); name = interprocess; sourceTree = ""; }; + C271DA3D9CE655C433BB4DD3 = {isa = PBXGroup; children = ( + 88CC8BC2EA8CDB378A03FADA, + 3C89D04328C83D2FDD4E5116, + 89CBCB2D4660B56C1A939011, + 7627F01C1E5383207D2C0BFB, + 17B2789DEC279EE7DB8D9BE4, + 93667813A711750790201F8D, + AAA3ED492FF78DBBF86DC612, + D219A10E7C41110A1AA4FBB9, ); name = native; sourceTree = ""; }; + 4F8A65DC4E47B7CB0DB88369 = {isa = PBXGroup; children = ( + A9C383106F234D341DE730BA, + F197372050DC8782B9089C8A, + 59EA583396C9C41EDC94D5F6, + B90F0A1A63C3408C288F6D8C, + C271DA3D9CE655C433BB4DD3, + 7C7B6D8D155687966F681F5B, + 63B031ABCF8DE5C94889823B, ); name = "juce_events"; sourceTree = ""; }; + BA53DF8ABDA9DAD0F963BC8B = {isa = PBXGroup; children = ( + C7D5A8B28D0B7DE58629AA04, + 5C8795B0DE5C729CA18FE89B, + 2E2B14A2334528E4405AEDDC, + 8A4A25946040DED54DB8F3B1, + BC0ED0B33BB83E19D9609152, + C776DAD938AD7E1207DBCEEB, + 5A1777E116DA01B554C90CDA, + 236F239E035044438B7CDFCB, + 91B991143655810C26644D50, ); name = colour; sourceTree = ""; }; + 88878CC1561F13CF681027E9 = {isa = PBXGroup; children = ( + 326E293A87E18FC3FBB26B47, + 2048DACF787A9BFE011041BC, + EBC4E11E36D206EDF01E6EB0, + D0A5B1AE7B7B56633AF2D5E2, + 64807B3EFFBDC3348512901E, + 123B63088FA1C4D1AD225CDB, + 2FDA8843C89E2D7DFBE3FBFD, ); name = contexts; sourceTree = ""; }; + D5CDF20FB8932DEA5810EEE1 = {isa = PBXGroup; children = ( + BE61994F6993AE76CBBF1EAB, + 6911E01E967839199E4C9822, + F994D2E0DF00D0A7765068EF, + 2807A00AE6C4539CD935F56D, + 94FAC7EB87C8EBE67F68AD60, + 9FC1BB191F1EB657A181866D, + 3966D734450E72F5682D2F06, + DE4DC23FAE4C420D489ABD17, ); name = images; sourceTree = ""; }; + 2C9A23E9808933102222B6EB = {isa = PBXGroup; children = ( + 55D04DC4EA2F037CCD5DF9A6, + 244B9B4B8307A8C51207D457, + 4FB8B3386156F5702A20F7D8, ); name = "image_formats"; sourceTree = ""; }; + A0E5437DC111A1AAB63CCD16 = {isa = PBXGroup; children = ( + CF4DDBE1126E8C8C3A37DC78, + 2CFEB3BEABF88B0C41D94E94, + 92172AE93327D4F8008A0AFD, + 3095D8D2EF68D6ED502EB00B, + BFBF32B0E491C9D4527DF9A6, + DE1943CA08D7FAB2E3EC0A14, + 2AB2B4CC891E77E2DD062BE3, + 5D1F3BD1476426752ACB1EB2, + B471C2AB67E7C68D1C7D729D, + BEC8EC4C23F9AA5C8DFEA15A, + 2B9907A25C1C36C1E46BEA65, + 03457E9DD2B35D7C1B0C7393, + A54B5504235B3324635B1DB3, + 3AF114AC45249CDA77EF940E, + B6BE7EF02190070336E63E89, ); name = geometry; sourceTree = ""; }; + FD44264B8C9437DCF22CE602 = {isa = PBXGroup; children = ( + 610F820C21D914E9794A36EE, + 7BA2EA5655704E5358ABAA9D, + 62EA5E33A940F30BBB56E293, ); name = placement; sourceTree = ""; }; + 5BFD15FEDAA57F0C3DA99850 = {isa = PBXGroup; children = ( + A010D6D997B85A393165DAB3, + 44443DA5B0FDA2480DFBDFC7, + C6CD42F1DA2F444A59CD4AF0, + 2A771B60F7C360A111F75AC6, + 1A667A0FBCC8FC7EBBD15B20, + 6E0713769EA84EE0471D9811, + C73B4B312C3A4CE4F8E742C2, + 42BC8303198293E30AC0B21A, + 393D0CA8D89217F1F2504768, + F64C6AC0DC0376A80A74A82A, + EBDC0E12D4ED20F5DB90BC26, + A8A277CAF10A3FEB258174C2, ); name = fonts; sourceTree = ""; }; + 2925596DB97C0571478FCE48 = {isa = PBXGroup; children = ( + 1B7AFDD8FCA13757D08B8B3E, + F0E4B5B18AAB82215F5C6AE1, + C296F214D5B65857DC3DA585, + E7488E12D0F3300AE33E0B9E, + 63EE49826BF4CFBD9D546DAC, ); name = effects; sourceTree = ""; }; + E62D8A1F0BDD00ABB882F291 = {isa = PBXGroup; children = ( + 9D61877D2691EB78B2ED69EA, + E9C249D9F38B0DFAF0823653, + 8EA18CA66CABC9B5087DBDD2, + 4F5C213B72A375A83FE50979, + A5CEADBA23491564FEB6D4EC, + 3E8E31BB97A86349790D6CC3, + 3391FA30F4D45A4A77DC2CE1, + AC56A48CC01AABBE45F51970, + A8CAB6FAB9BC1CC96FDE7BC2, + A3E01235E4AD9DBE2405F792, + C884444C380A4B053DB70D12, + F36959B167E88B220CF9D8FE, + F2040E4B76F8783B471CECED, ); name = native; sourceTree = ""; }; + B78A49A94757B1530E3E282B = {isa = PBXGroup; children = ( + BA53DF8ABDA9DAD0F963BC8B, + 88878CC1561F13CF681027E9, + D5CDF20FB8932DEA5810EEE1, + 2C9A23E9808933102222B6EB, + A0E5437DC111A1AAB63CCD16, + FD44264B8C9437DCF22CE602, + 5BFD15FEDAA57F0C3DA99850, + 2925596DB97C0571478FCE48, + E62D8A1F0BDD00ABB882F291, + 241453DBDECBE0CCD5C096DE, + 7022B01ECEE7000DE6008C0A, ); name = "juce_graphics"; sourceTree = ""; }; + 978A5EA7C209E97691DF1580 = {isa = PBXGroup; children = ( + 2A59F5E28F97A435592E0B58, + 4A31DFDB7AC330488B8BBEA3, + FEA645D52C593ECCEA779BAF, + E2307A386F9B96576696354B, + A6AD00FEFB31915AB0F2798F, + AA5CDD430B68BBE10A9026C5, + 5384C065CDEB3032907ECCAF, + 8001506F637B2516AAC5C0D8, + 0B7637C0030C06BE612E41E8, ); name = components; sourceTree = ""; }; + 0A15D9E1577644179886B0D6 = {isa = PBXGroup; children = ( + 89F5A5C12916F02E579D6394, + 1D9FABE954892C169D874E35, + A5DEEB6DADAA5AB2CF41A880, + 8102EBF90140E78193692AEB, + CC8F24C4E5FC5C12AA30F6CF, + 36A0FF58D355147F40981C39, + 38404F97E5118017DFDCDEC4, + 5A5749D0A878955C964DD2C5, + B3261106892038D4F954E6F9, + 833CD270A139A70FF4E60D35, + F38F8132499ADBD3344E8449, + 61473E0A6AF9B900406695B8, + 8DE969191661B557B4222D50, + 19E9997C0FE3E36156141D64, + 57A0BF533D7A7B57321A8174, + 2819AE973B501D15AAB8C937, + C8A5AD5503F33596C4147ACB, + 72696E2F6E8EB43A8E604390, + ABA2E1FE9912D5C28F177E56, + 8B539DB72CC92EEC7F96C8E6, ); name = mouse; sourceTree = ""; }; + FE8E15A77FCDCB00FBF381DC = {isa = PBXGroup; children = ( + 46D8BC7303C892ED3F90E4DA, + 29710D5E6C3372E4480BF746, + 38D15A30D4658272F910A7AB, + D07A5399F09462A5D7041225, + 0060F61BFBCEF4E9EF8B3CC0, + 8EFB4EBA0836D5401B6D3DFB, + E13860F17C7FC399EF28EC1A, + B1B7C62CA04ACBAC6CD1C2AD, + 49794569C715BA919A01D72E, + FD5262552A90A9DFACB3C07F, + 74B477DE4CFC95E20DBB0D91, + B0626D2C611D9E3DF1408BEA, + 90FEA7DB5EFC4E9B2E933056, ); name = keyboard; sourceTree = ""; }; + 5D48FC8B43CBDC08DB9531D9 = {isa = PBXGroup; children = ( + 0C9B04C3B7D8E1CE4FAC6FF6, + 5383E87DC6DC1D251C271A50, + EA779F8A580E3D22A7CBD51E, + E958ECCACCCE70690FAE58B9, + 5D4A62D4893C16D7B17C6A43, + 0F16DEEC2C4B95E3A9F28CE5, + 32A667DB98BC4EB30C51F20B, + 60D8280577C14A7D3F67563D, + A95D718F031CB8883DFDE915, + 7D8D285B8414388FDB083AFF, + 23724FEF549E05851817B4BB, + 65DF385E92A4A65760DC3BD0, + 3D16FF3C64D4248C0C6FF504, + 27676EBA6012198993C2CBA0, + 68743DE3AA833D6F02F754D7, + 9F70142818A7806830EEBD7C, + 44FC8BD37CFE8C0D851C46F9, + 842433A42308565BF3C1542A, + 74AB51B6E97964B27B1CD019, + 7BC8F7015F35BAFF4AEDA0E6, + E5B84D5F7CF2B74715EEF3B3, + 66CEE40E51335F661B5C5C66, + 260A5BDC20C7B4029DB418E4, + 44C6568EC00F1682FBCD3B69, + F26953C1E056357A3DFDF35C, + A826C1C083678A4E9279C118, + 6DE6751E6A4F0DDE9C7F24B3, ); name = widgets; sourceTree = ""; }; + F4827EC22DDE876BA01A1012 = {isa = PBXGroup; children = ( + 8314FE695F91DA2FAB51920E, + DC6461EF11D5745DF8C00E16, + 464424DDD6A6678B94CE667F, + 2B9BAEF9C46C224088F5BB25, + 4BAF7C54867DA3C275C2F59D, + 6A8AC5E55EE51EE0476D852F, + FDA36D1F836D00DE705CD06F, + FF1F4F1262BB429E80492B13, + BF40FF2E0FA609212C849FBC, + 766EE2CCD4E86729C6CE8112, + 8E95A3B7C194244B92D5D65A, + D5C10F9CC5ADFC1B63AD1DB9, + 166BDAF3B9896BCB3771A061, + 0346DBE09BEC27EA93676FEB, + E9A4C91E94B6D096BD8217D7, + 8683CDE5FD2DFCB2CFC8F410, + EA13B2FC256C7BCF0900369E, + 27240E9968C04288887BFDC7, + 25869F2A5B90C64E857606D8, ); name = windows; sourceTree = ""; }; + EC71C6DC0803DBC6F5B71C8B = {isa = PBXGroup; children = ( + C9A25E2EF32224159B617D5E, + 0054E026B84A3A87020CCE48, + DA98B32DCA0DEF0113C22F9A, + 500F7CB9F45B62E46F4BBA57, + 595A9929C0E873C30AC9AA87, + 439FC260CD869E30210D98BF, ); name = menus; sourceTree = ""; }; + E30E1398A3CACDD90FC9C219 = {isa = PBXGroup; children = ( + F4F618373A81FDC73AB27A91, + 799472026100D7BAE015F6A6, + 34A6FFC298D12BF9E4D55AA1, + 7A6E1CBA343C07AC187A3EE8, + 7F0614F4F47EB171B8476BDC, + 19045B1A4A9E79DB5A44927C, + CC3F295E9D9E5863779F9ACD, + 3B09334ECC8FB54B4B7D7B59, + DC66DC84909A3802527414C2, + 7F171BE6BFAA1E3E2A9BED61, + C8F82FBA1E0EF7EEA5BD02B9, + BCFE159BD9F2DA5515E028A4, + 4C40BFAE1E25F166EBB5EC48, + 25E6B62A5BF19A0D1E085E10, + 684E11B1CE018B2C46938D80, + DBB34599E380FB1F37A28B27, + 2DB2DBF293A77B80E01EBAED, + ADCA2F92E2C17964A4AD750E, + 82A390DEE5A3B2EFDF7A65E6, + 674E13DA209E762DF15E9E29, + B6C7114A31FD6B1DEB08346F, + 6D5EE68347208091600E94A2, + FCC9F258531F00BCD91C63DF, + F233E88B6F2BC6906819AE6A, + 9C3E556586147F27B4EDC982, + 135DC8543A904B7BBAA0FD7B, + D01D74EE9A00B0813B00FDD1, + A1C77E9A6624B8B1A461C038, + F831631700830F81994D9980, + F33B267B702055F8CE27BDB8, + 8C9D252ABA3CDDC81B33884D, + D40C36493501EA97A8D1EB50, + 8C9EC3F9C24081ECEF3FCEFD, + 4658E12862C546A62E05E4D3, + D886106C60A496E47C48AFB4, + 374277A96D9830E45684FDD8, ); name = layout; sourceTree = ""; }; + 3826467DFB859364DD1392F0 = {isa = PBXGroup; children = ( + 782E3434FEA190A986EAC816, + E6BA3A4991987C4AB55F5948, + 93CC262389F622F8AB79CA60, + 02C14E49091F42750CD72F00, + 35E6F6325AF8463C076BA594, + 92DF4A828DC5CE370E36044C, + 0B7E069D09A7E46448EAE230, + F16734BCF880A8180C06018D, + D0B5B79546163A6DE73D0E2E, + F4A977844BD67D5C2BEFCDDC, + 5AAE605D230E253D4EAC195E, + 4408766B366713F55707B7A8, + 6BE6A3A14057591A3B4EF2C4, + CB4D4DA89BA649D3F1B2A645, + F2DDCDF62D2587FB565A442A, + B88950266CC4244E1B5394F2, + C088D98E527C1DA17B55A9D9, + B70E52FF75D44F0F1F0B31D2, ); name = buttons; sourceTree = ""; }; + B2943EF1FA5DBD81A406374F = {isa = PBXGroup; children = ( + D5EC3B41088855C3D481A73E, + CD3A68C29B7A733E5954BDA3, + 76F1A69F15F53D17C632A644, + 14AB997C7EB22777C1EF533C, + 51026A3BE98FD70FD916CF45, + D3C1097E92146B596194A067, + B316291E570F37785C40FE88, + FA2DB83279928FFB76A4BC6E, + 4E3C26EE8C6F996F207F0C32, + 1DE0CF80B807A4A702DC68BD, + 21D31B64BAD35C6C8E8E8FC0, + 29215FCE04DC4D267FF25E6C, + 412D5D6AA4018C8DF59AB741, + 807E7971CB75C806D7DB5DF2, ); name = positioning; sourceTree = ""; }; + B2AAEBDCA5147C75A44D4791 = {isa = PBXGroup; children = ( + CEC05A60A0E19B07F6A3CE6B, + 5BBC57B395B553CE08AC4BD7, + 94BFC3162953A5E7E192276A, + 2168310E25BD55C9A46499C6, + 92BB22C929A3A76CE6F29C7A, + CE4F0A27AAADFD53316A17BC, + D00157FA3D14BFECB7FE7232, + FD5E948C1A89B11770A20704, + B54A14A497368A580B7D9AEB, + 16ECB71D0D2C5C8BEFF4B4C6, + 8BE44C96A60C5D9B9F503409, + 6E9C1F4D69A9C99433DC67C6, + EE577E6ABD70D104CD83186C, + F0D54DDE8C2AD1D018A61FDB, + C21701DD3A4A2628C63CB70A, ); name = drawables; sourceTree = ""; }; + 0EADBF64826A3D243FB6E1DD = {isa = PBXGroup; children = ( + F20F182CBEF008AA1B1BB52A, + 0C61EC70BD4EA59AEEBB6669, + A1A621FDC626245B1B3C1C4D, + 9424FDB8C564B73250B7B20A, + 0ECA7867513EFA30BEA0BE78, + 4F2D3BD9697AAFA060EAAA59, + 20E10FBD8694E185CA551EDE, + 109C128BB4A7A05127A0C485, + 6B103C0FB5E6E3618ECD3B48, + EF8B8FB4B02133457562E1F4, + 7FC89C1EEB42DE3C9628591C, + FB3BE7E3D0A04791487E9E0C, + 1A788BE93E528FDAA62EA02B, + DAC4442F8C2F142270E92349, ); name = properties; sourceTree = ""; }; + 1E19112B929FF59057A4B030 = {isa = PBXGroup; children = ( + 0700C7069E1CF3FF8966C0E3, + 4CF92825BE7B97AC268C2AA5, + 56985D9599D0D1D00B42F95B, + 0CBC9EB8F2C55E88DB0F49BD, + 5710CADD28060D8E949D96D5, + 31AE430D2372CF6283185033, + B3FBDBEBC38720E957C15BE9, + 69449AB58A9C0AB552F754F4, ); name = lookandfeel; sourceTree = ""; }; + 1206D5C335340736A3A574B9 = {isa = PBXGroup; children = ( + D7E612935BA192BF5D24B9A3, + F382E14FAFF5CDEBFEA81B00, + 98C77B9D95141EBC60E6AE67, + F3154C77D5DFCE8D71084F23, + 27A9B065352AE36635780373, + B57640F7EDADCFE17719EE68, + D8256B8AA794F43A2259638A, + 0D35F0A502484A40B09F3EBF, + C52E8074125FEED4DB727EDF, + 90BE189372A13866896CE817, + 4ABF36D87D2BBEDA4DE28A4E, + 1FD6FD7218AB240D23DF4BAD, + 2D8FC1F116F882698F5CFEB9, + C51A754A0E65CA141A2C3310, + C551CC8801B93AC70F6E4F76, + 830ADB6740EF70992E71895F, + 3BF23F0B71FB8E526E895905, + FD05E73E3F022E08D70B9569, + 27DC413550834C828252B003, + BC1DBF05964D3B9130CD8CB6, + C3DEEC17595B1AB020ADA47F, + 67771057800F9416E9777625, ); name = filebrowser; sourceTree = ""; }; + 53440A90525AC832090A35F2 = {isa = PBXGroup; children = ( + 4F5D668DCEF2B622FD46073D, + 791ADFB0FFAEE65058B6FC8A, + 0DB1323191C133E48F07C062, + D26821159E190113FEBF99BA, + A0F2EAF085969426AC73C85D, + D4BA573C125944E2773D747F, + 0D265DF78A9FE5E669F76FC3, + 9211B175E63E325D4FF6B789, + 3C825AE2479611DA559164B5, ); name = commands; sourceTree = ""; }; + 815FFA61CB68244C4BFA9A78 = {isa = PBXGroup; children = ( + E6D8902FFF0C8CDBB3E4BEA3, + F0B46A9181B1707349A20399, + FAB998A70437EE4D89CABE2F, + 96E4B48CF055ED116E5CB3AB, ); name = misc; sourceTree = ""; }; + 8B10235D6698BCD336ECB195 = {isa = PBXGroup; children = ( + B189762C440B38635351E0A3, + 47E5FB5735D2EC8B039D2691, ); name = application; sourceTree = ""; }; + 3900F1137E25F9A2DEDF4119 = {isa = PBXGroup; children = ( + 61E1C2246CBD45C5A1F40102, + 8866CF798E9F84C49B9D7DCC, + E1868998BA7B20DF7ED0B5E1, + 55A4B5CF98FAC1CC23E49C82, + F83392D9825422AF0DB638D0, + 2B4FA0E8FB46CBC71A059FE7, + 26C95A2DACFF9773038656E0, + 99A3B01A6398623F40C528FC, + 221FD10838A8CE36672FABC0, + 0EF8E3646F6099E89A743D99, + 7EB8C7E000F0DDAAB4F47802, + A7884EC24DD007D6232DB822, + 2A2B7F8BCFC785127CA961A9, + 562E99EE1A4B733B7F751955, + 90841E3B0B2548A5BD66F15E, + F95533D725E548643CA584D7, ); name = native; sourceTree = ""; }; + 9A76685D3735D1F1DB8E4DB3 = {isa = PBXGroup; children = ( + 978A5EA7C209E97691DF1580, + 0A15D9E1577644179886B0D6, + FE8E15A77FCDCB00FBF381DC, + 5D48FC8B43CBDC08DB9531D9, + F4827EC22DDE876BA01A1012, + EC71C6DC0803DBC6F5B71C8B, + E30E1398A3CACDD90FC9C219, + 3826467DFB859364DD1392F0, + B2943EF1FA5DBD81A406374F, + B2AAEBDCA5147C75A44D4791, + 0EADBF64826A3D243FB6E1DD, + 1E19112B929FF59057A4B030, + 1206D5C335340736A3A574B9, + 53440A90525AC832090A35F2, + 815FFA61CB68244C4BFA9A78, + 8B10235D6698BCD336ECB195, + 3900F1137E25F9A2DEDF4119, + 0E8D536FEBD11AEA3C90B5A8, + D104C8636576DFE8A2D11430, ); name = "juce_gui_basics"; sourceTree = ""; }; + 45216CE44016DA606FE98125 = {isa = PBXGroup; children = ( + A7B28AD8606992FBE04C527C, + 13BF0388489EB44A816C9AF6, + 68FAA921E5D8CFAF9CC07C2F, + 191B98765219765CD56CCFED, + D2A5F78D0EF37F1E45DF39D4, + CC4B3BCEE612C95F27680EA9, + 69C36A56AE1A2E8CF64FE388, + 89ACAEA951C470AF8683AABD, + BAD1E66E3AA09ADD70061A50, + 91CEFA76775CD035E2F9200F, + 0852A866937712A0D30684A0, + FE1E97C9233F2D472C7C6128, ); name = "code_editor"; sourceTree = ""; }; + 13374F67832C9086375A10EA = {isa = PBXGroup; children = ( + 3BDF8DF3F3C380B1A4CE6C8F, + 8632589E0C21E3B0A5DA0333, ); name = documents; sourceTree = ""; }; + 5BF35BC9897465D83C81C086 = {isa = PBXGroup; children = ( + 0E894AC7229948568720E294, + C45AB95F4CDF31A41199E6D4, + 414AAB7000E7FDE7683BE72F, ); name = embedding; sourceTree = ""; }; + 2E8513968E4CDE8852D85EFA = {isa = PBXGroup; children = ( + B401E96340B8AB5DE8CBF5C9, + BD588F8D5FD1E6FE88E9D3E4, + 531BA61B027758A7978052A4, + 0D0FAC9754D9469774B8DD2F, + CE0CE24264C96E86062E0250, + 519CE739793F0797AF1A7957, + 553655CA0122E128BC368AD7, + 77AE8FD7436387126D3BBBAC, + F9B00F8F537F74527F6C463C, + 2328C66A446079EDDCC8B14E, + 4D5901626201478A459CE46C, + 0790EC941834B64EA1AC8D5A, + E0EF847C7052C5FFA2A7CF8B, + 2254F8D031DD15BDB278DE3E, + F838183EDFF5937C2879EE41, + A0850087D0288361E552BE9A, + 9692128AC24CF671A9C0457B, + E29A372A41F835609F81CC43, + 394CD5017D81D1CFEBE34894, + 897C7B6FB012647ED8AB5D05, ); name = misc; sourceTree = ""; }; + 626453A346165A7A0C138828 = {isa = PBXGroup; children = ( + 805EB95DB4B8045064CE9ED3, + BA7FDBE53073F3261D962FF9, + 2B69AEC791776F7CF337E38C, + AD54DAEAB7840FC18DA65503, + 1A7002B936C11924FDC07023, + 66B37CB373F19F65553466C3, + F257AD1B82D5595FF9C3F1CA, + 71B0F66C20CF48F49B3152AF, + 21D0A71ADD004B35B90F0D1F, + 29685DC8679DB5024B747D0C, + DBDED1D6237A21D03E68D323, + 2C1B86FD1CB59198522DEF06, ); name = native; sourceTree = ""; }; + B8479E2CF92E0AEE774BF1F3 = {isa = PBXGroup; children = ( + 45216CE44016DA606FE98125, + 13374F67832C9086375A10EA, + 5BF35BC9897465D83C81C086, + 2E8513968E4CDE8852D85EFA, + 626453A346165A7A0C138828, + D57735149DD4975283A0C754, + 37381332DDDE8F2B3C66CBDE, ); name = "juce_gui_extra"; sourceTree = ""; }; + A33BC9FA8A99B01DC485E60D = {isa = PBXGroup; children = ( + A09CB6FA9736BD45103AFF46, + CDFAC8C57A364EEE32CE125E, + 166C141D440846E85F91747E, + 0D88ABF90B476D03D3684ABE, + 4510E3B6AD441EA03B993692, + A98EED399E310BF85EBBCE12, + 2188A5670214696EFCF6810F, + B0589203065E4CF2C002B0D9, + 0993051FFD1B0C5E92474DBD, + 28BEE3C7BE3AE2BD888AC55C, + CC96E8E65FDFE4376F71D7B0, + 6B5C2F14A2268F371F1350B5, + B60524021E6FC59416222870, + 4EB8D72F57E00C560E370DCB, + 08C7B33308A32555A7CA21B5, + 5C0E42BCF4ED32E1381E7A23, + 9CC0E3267A9D1EF3C8E37601, ); name = opengl; sourceTree = ""; }; + 07ADD7BA5A96F719EDBCA037 = {isa = PBXGroup; children = ( + 5B5180DAAB935CB6D1DE9AA6, + 2C246301EE0EC4A9B4058F01, + DC94270BB4A70056907C3CDD, + 75D038033B2083D5EFE620A8, ); name = geometry; sourceTree = ""; }; + 03621233E269E436B447C841 = {isa = PBXGroup; children = ( + 44ADFB25768FA3BF27762EBF, + A058E50779879A7D9A813A4C, ); name = utils; sourceTree = ""; }; + FC95F4C8E60C31B039992722 = {isa = PBXGroup; children = ( + 11D8AE26FA8880E7E8F3B4EB, + 518E9E553CD9F7D215B75B88, + EC9898734E8AFE5215705476, + 9DC79DF0A43DA6B06B7B1F44, + CF4E3CDCC9837C7E52197686, + 495EAFDB9DE4E8E7DBA562D4, + 877ED7656241F46291022910, ); name = native; sourceTree = ""; }; + 0707779F272B825E3DF1560B = {isa = PBXGroup; children = ( + A33BC9FA8A99B01DC485E60D, + 07ADD7BA5A96F719EDBCA037, + 03621233E269E436B447C841, + FC95F4C8E60C31B039992722, + 8D3FB0417A39CAEC03D44D73, + 4F96BFF5D1D40B81C861F92F, ); name = "juce_opengl"; sourceTree = ""; }; + 62479F93E90EEE65EEC01FDA = {isa = PBXGroup; children = ( + B83DDFEEA66888E9616BCE82, + F113DFEACAF2D8230F0DF5E7, ); name = playback; sourceTree = ""; }; + 616C504727E4806B3BB3980F = {isa = PBXGroup; children = ( + DD03B6CE6F750A9CECA7EDEA, + 611A0824757D50610BB03562, ); name = capture; sourceTree = ""; }; + E545E915D753CB44657CFE99 = {isa = PBXGroup; children = ( + 87E61959D8EA529461A0D257, + E0FCA8F19A081CE941B273FA, + 11ACB77A3D91503A3DF673C8, + ACAC59A1C54DC52E8E2438CC, + A281FFA1C7E3AFB8246FD577, + 71881F8A6973AACD78ABA719, ); name = native; sourceTree = ""; }; + 397907CF13C78C70801F14D4 = {isa = PBXGroup; children = ( + 62479F93E90EEE65EEC01FDA, + 616C504727E4806B3BB3980F, + E545E915D753CB44657CFE99, + 254D157C0CCE3C7EA022F4CE, + 693B6DC20214C1ED9C1E89F7, ); name = "juce_video"; sourceTree = ""; }; + 7E2ABB7F81888EB9DF84E4C1 = {isa = PBXGroup; children = ( + AF12826F0B38E7FC1176C648, + 270A86F6A3CE512F0B3EA8DC, + D8CF14F51DEE1EA3625BFE6E, + BA9B6357DA1BF8D6E3120176, + 5CF56D8EDFCB4673E75EB0E4, + 752AB8D433735A877FC90255, + 670AA26A4F8D5CF111CE304F, + 4F8A65DC4E47B7CB0DB88369, + B78A49A94757B1530E3E282B, + 9A76685D3735D1F1DB8E4DB3, + B8479E2CF92E0AEE774BF1F3, + 0707779F272B825E3DF1560B, + 397907CF13C78C70801F14D4, ); name = "Juce Modules"; sourceTree = ""; }; + 5B8C542DD6E060115171CF66 = {isa = PBXGroup; children = ( + A67C5701B28E64F889A92422, + C1070E62B763F1CCE0BB18F0, + DD19124F0A7FD43F31BDEB87, + 987AD2821B6419D5FEDCBD7A, + AD405DDE86D07F955E27EBF8, + B7DD84C8B05ABA4A6915E77E, + 33E449DEA1FC0CD4CAA3A829, + 14BB261A450674034E6080F2, + CC0B7738BD544B955D81BF1E, + 4B27A11ADAC0D9957BBBCD3E, + 27B720A5E8CF81ABF9E50848, + D8BAA82AC820CEF315BD9DCB, + 21CF5364CD4910E49D19F8E2, + 6018A3A37F34AE52B39A14D5, + 274569E245BFB279247B4ECC, ); name = "Juce Library Code"; sourceTree = ""; }; + 9AF618BFAFEABB193C0E7D1A = {isa = PBXGroup; children = ( + FF3D4768BC96B79F49B10894, + 4F582012EC867318FB3781BB, ); name = Resources; sourceTree = ""; }; + 31F4A77234EA04C6F3F431E7 = {isa = PBXGroup; children = ( + 859E13C66F2193112084D1B9, + 66DE43B56D8670C78DD3998D, + 287976618152E4BA76D627FA, + 732EEC584A4CE3ED07C5BEFB, + 888284627B1FEA22193130AB, + AF947B0E188B6EA57EB0109B, + 012CB8E6966875E4AE099E8C, + 3B5B55FF08F71060B836F5DB, + 30B85C7478732E3A6997065D, ); name = Frameworks; sourceTree = ""; }; + 7CA50BE1660DF7427A2CAFE2 = {isa = PBXGroup; children = ( + A748C987924800FDBA2E2184, ); name = Products; sourceTree = ""; }; + E2839CF91E2C633A933666F4 = {isa = PBXGroup; children = ( + C69760E59D600CF000D468E8, + 7E2ABB7F81888EB9DF84E4C1, + 5B8C542DD6E060115171CF66, + 9AF618BFAFEABB193C0E7D1A, + 31F4A77234EA04C6F3F431E7, + 7CA50BE1660DF7427A2CAFE2, ); name = Source; sourceTree = ""; }; + 275286E869A1C88FFD2E3A50 = {isa = XCBuildConfiguration; buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JUCER_XCODE_IPHONE_5BC26AE3=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; }; name = Debug; }; + F361F998F590FCC72F2DE949 = {isa = XCBuildConfiguration; buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JUCER_XCODE_IPHONE_5BC26AE3=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; }; name = Release; }; + 8FB477F7B77D68FD93DC1D16 = {isa = XCBuildConfiguration; buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ALWAYS_SEARCH_USER_PATHS = NO; + DEBUG_INFORMATION_FORMAT = "dwarf"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "AnimationAppExample"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Debug; }; + 7977431F7194644B49C15E21 = {isa = XCBuildConfiguration; buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ALWAYS_SEARCH_USER_PATHS = NO; + DEBUG_INFORMATION_FORMAT = "dwarf"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PRODUCT_NAME = "AnimationAppExample"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Release; }; + 576D6DACFB71E339D0AD373A = {isa = XCConfigurationList; buildConfigurations = ( + 8FB477F7B77D68FD93DC1D16, + 7977431F7194644B49C15E21, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 4A8B3F76828634749BBFC686 = {isa = XCConfigurationList; buildConfigurations = ( + 275286E869A1C88FFD2E3A50, + F361F998F590FCC72F2DE949, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 11FD561488F1EFCE578F9225 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + AA420D06B14C6AF978603FB7, ); runOnlyForDeploymentPostprocessing = 0; }; + BD6EB403A891DBC353F7D06C = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 328BFAEA24EDCBF7B69F4960, + 84E6553798838003062A7791, + 9B303E67BC0058053878030C, + ACA92239BEB4C05C418642E2, + 1EFD155B1968AEC88851F831, + 0C7388B5872921063FF273B8, + 9EE1754A8E5230FA1C50713F, + 1852E56533842FDFBE9A6EE3, + CB79C1D77F4FBF0C64B69E1D, + 5E9EFF0130B8CBBEAA0D321B, + EF8AB3F393E946FE4A21AA17, + B70DDF51EDD940F5EF96B96D, + E28816D62DAA38A2794ED6D2, + A911433D03B3314558DB8850, + 590ABC7E64B05F4814FA919E, ); runOnlyForDeploymentPostprocessing = 0; }; + F38385A81FAC837FA1743686 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + E3498B080326636A372B74AE, + 828D4B32ECB7ECE234A5A1A9, + 96B761E33D6CA3700F0A9A51, + 139AEB224F22582CF606327F, + 0DE5F0C9D8D826AF3EEBAC04, + F3F1AF2E0D45882BFE3EDE07, + 64D079C3CBBBB5BC9D7CC531, + CA82C00B49701B9ECEB91AE1, + 3EBD65476039DBFD1A91FB69, ); runOnlyForDeploymentPostprocessing = 0; }; + C5FEE75C4BFEF0A6EE96FF81 = {isa = PBXNativeTarget; buildConfigurationList = 4A8B3F76828634749BBFC686; buildPhases = ( + 11FD561488F1EFCE578F9225, + BD6EB403A891DBC353F7D06C, + F38385A81FAC837FA1743686, ); buildRules = ( ); dependencies = ( ); name = AnimationAppExample; productName = AnimationAppExample; productReference = A748C987924800FDBA2E2184; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + AEF97977FF56185DB5E0C493 = {isa = PBXProject; buildConfigurationList = 576D6DACFB71E339D0AD373A; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = E2839CF91E2C633A933666F4; projectDirPath = ""; projectRoot = ""; targets = ( C5FEE75C4BFEF0A6EE96FF81 ); }; + }; + rootObject = AEF97977FF56185DB5E0C493; +} diff --git a/extras/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Contents.json b/examples/AnimationAppExample/Builds/iOS/AnimationAppExample/Images.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from extras/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Contents.json rename to examples/AnimationAppExample/Builds/iOS/AnimationAppExample/Images.xcassets/AppIcon.appiconset/Contents.json diff --git a/extras/Demo/Builds/iOS/JuceDemo/Images.xcassets/LaunchImage.launchimage/Contents.json b/examples/AnimationAppExample/Builds/iOS/AnimationAppExample/Images.xcassets/LaunchImage.launchimage/Contents.json similarity index 100% rename from extras/Demo/Builds/iOS/JuceDemo/Images.xcassets/LaunchImage.launchimage/Contents.json rename to examples/AnimationAppExample/Builds/iOS/AnimationAppExample/Images.xcassets/LaunchImage.launchimage/Contents.json diff --git a/examples/AnimationAppExample/Builds/iOS/Info.plist b/examples/AnimationAppExample/Builds/iOS/Info.plist new file mode 100644 index 0000000000..59d9099e16 --- /dev/null +++ b/examples/AnimationAppExample/Builds/iOS/Info.plist @@ -0,0 +1,29 @@ + + + + + + LSRequiresIPhoneOS + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.yourcompany.AnimationAppExample + CFBundleName + AnimationAppExample + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/AnimationAppExample/JuceLibraryCode/AppConfig.h b/examples/AnimationAppExample/JuceLibraryCode/AppConfig.h new file mode 100644 index 0000000000..405e9a796c --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/AppConfig.h @@ -0,0 +1,196 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + + There's a section below where you can add your own custom code safely, and the + Introjucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Introjucer's project settings. + + Any commented-out settings will assume their default values. + +*/ + +#ifndef __JUCE_APPCONFIG_LRATE6__ +#define __JUCE_APPCONFIG_LRATE6__ + +//============================================================================== +// [BEGIN_USER_CODE_SECTION] + +// (You can add your own code in this section, and the Introjucer will not overwrite it) + +// [END_USER_CODE_SECTION] + +//============================================================================== +#define JUCE_MODULE_AVAILABLE_juce_audio_basics 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_formats 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_processors 1 +#define JUCE_MODULE_AVAILABLE_juce_core 1 +#define JUCE_MODULE_AVAILABLE_juce_cryptography 1 +#define JUCE_MODULE_AVAILABLE_juce_data_structures 1 +#define JUCE_MODULE_AVAILABLE_juce_events 1 +#define JUCE_MODULE_AVAILABLE_juce_graphics 1 +#define JUCE_MODULE_AVAILABLE_juce_gui_basics 1 +#define JUCE_MODULE_AVAILABLE_juce_gui_extra 1 +#define JUCE_MODULE_AVAILABLE_juce_opengl 1 +#define JUCE_MODULE_AVAILABLE_juce_video 1 + +//============================================================================== +// juce_audio_devices flags: + +#ifndef JUCE_ASIO + //#define JUCE_ASIO +#endif + +#ifndef JUCE_WASAPI + //#define JUCE_WASAPI +#endif + +#ifndef JUCE_DIRECTSOUND + //#define JUCE_DIRECTSOUND +#endif + +#ifndef JUCE_ALSA + //#define JUCE_ALSA +#endif + +#ifndef JUCE_JACK + //#define JUCE_JACK +#endif + +#ifndef JUCE_USE_ANDROID_OPENSLES + //#define JUCE_USE_ANDROID_OPENSLES +#endif + +#ifndef JUCE_USE_CDREADER + //#define JUCE_USE_CDREADER +#endif + +#ifndef JUCE_USE_CDBURNER + //#define JUCE_USE_CDBURNER +#endif + +//============================================================================== +// juce_audio_formats flags: + +#ifndef JUCE_USE_FLAC + //#define JUCE_USE_FLAC +#endif + +#ifndef JUCE_USE_OGGVORBIS + //#define JUCE_USE_OGGVORBIS +#endif + +#ifndef JUCE_USE_MP3AUDIOFORMAT + //#define JUCE_USE_MP3AUDIOFORMAT +#endif + +#ifndef JUCE_USE_LAME_AUDIO_FORMAT + //#define JUCE_USE_LAME_AUDIO_FORMAT +#endif + +#ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT + //#define JUCE_USE_WINDOWS_MEDIA_FORMAT +#endif + +//============================================================================== +// juce_audio_processors flags: + +#ifndef JUCE_PLUGINHOST_VST + //#define JUCE_PLUGINHOST_VST +#endif + +#ifndef JUCE_PLUGINHOST_VST3 + //#define JUCE_PLUGINHOST_VST3 +#endif + +#ifndef JUCE_PLUGINHOST_AU + //#define JUCE_PLUGINHOST_AU +#endif + +//============================================================================== +// juce_core flags: + +#ifndef JUCE_FORCE_DEBUG + //#define JUCE_FORCE_DEBUG +#endif + +#ifndef JUCE_LOG_ASSERTIONS + //#define JUCE_LOG_ASSERTIONS +#endif + +#ifndef JUCE_CHECK_MEMORY_LEAKS + //#define JUCE_CHECK_MEMORY_LEAKS +#endif + +#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES + //#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES +#endif + +#ifndef JUCE_INCLUDE_ZLIB_CODE + //#define JUCE_INCLUDE_ZLIB_CODE +#endif + +//============================================================================== +// juce_graphics flags: + +#ifndef JUCE_USE_COREIMAGE_LOADER + //#define JUCE_USE_COREIMAGE_LOADER +#endif + +#ifndef JUCE_USE_DIRECTWRITE + //#define JUCE_USE_DIRECTWRITE +#endif + +//============================================================================== +// juce_gui_basics flags: + +#ifndef JUCE_ENABLE_REPAINT_DEBUGGING + //#define JUCE_ENABLE_REPAINT_DEBUGGING +#endif + +#ifndef JUCE_USE_XSHM + //#define JUCE_USE_XSHM +#endif + +#ifndef JUCE_USE_XRENDER + //#define JUCE_USE_XRENDER +#endif + +#ifndef JUCE_USE_XCURSOR + //#define JUCE_USE_XCURSOR +#endif + +//============================================================================== +// juce_gui_extra flags: + +#ifndef JUCE_WEB_BROWSER + //#define JUCE_WEB_BROWSER +#endif + +#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR + //#define JUCE_ENABLE_LIVE_CONSTANT_EDITOR +#endif + +//============================================================================== +// juce_video flags: + +#ifndef JUCE_DIRECTSHOW + //#define JUCE_DIRECTSHOW +#endif + +#ifndef JUCE_MEDIAFOUNDATION + //#define JUCE_MEDIAFOUNDATION +#endif + +#ifndef JUCE_QUICKTIME + //#define JUCE_QUICKTIME +#endif + +#ifndef JUCE_USE_CAMERA + //#define JUCE_USE_CAMERA +#endif + + +#endif // __JUCE_APPCONFIG_LRATE6__ diff --git a/examples/AnimationAppExample/JuceLibraryCode/JuceHeader.h b/examples/AnimationAppExample/JuceLibraryCode/JuceHeader.h new file mode 100644 index 0000000000..290421ac9d --- /dev/null +++ b/examples/AnimationAppExample/JuceLibraryCode/JuceHeader.h @@ -0,0 +1,46 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + + This is the header file that your files should include in order to get all the + JUCE library headers. You should avoid including the JUCE headers directly in + your own source files, because that wouldn't pick up the correct configuration + options for your app. + +*/ + +#ifndef __APPHEADERFILE_LRATE6__ +#define __APPHEADERFILE_LRATE6__ + +#include "AppConfig.h" +#include "modules/juce_audio_basics/juce_audio_basics.h" +#include "modules/juce_audio_devices/juce_audio_devices.h" +#include "modules/juce_audio_formats/juce_audio_formats.h" +#include "modules/juce_audio_processors/juce_audio_processors.h" +#include "modules/juce_core/juce_core.h" +#include "modules/juce_cryptography/juce_cryptography.h" +#include "modules/juce_data_structures/juce_data_structures.h" +#include "modules/juce_events/juce_events.h" +#include "modules/juce_graphics/juce_graphics.h" +#include "modules/juce_gui_basics/juce_gui_basics.h" +#include "modules/juce_gui_extra/juce_gui_extra.h" +#include "modules/juce_opengl/juce_opengl.h" +#include "modules/juce_video/juce_video.h" + +#if ! DONT_SET_USING_JUCE_NAMESPACE + // If your code uses a lot of JUCE classes, then this will obviously save you + // a lot of typing, but can be disabled by setting DONT_SET_USING_JUCE_NAMESPACE. + using namespace juce; +#endif + +#if ! JUCE_DONT_DECLARE_PROJECTINFO +namespace ProjectInfo +{ + const char* const projectName = "AnimationAppExample"; + const char* const versionString = "1.0.0"; + const int versionNumber = 0x10000; +} +#endif + +#endif // __APPHEADERFILE_LRATE6__ diff --git a/extras/Demo/JuceLibraryCode/ReadMe.txt b/examples/AnimationAppExample/JuceLibraryCode/ReadMe.txt similarity index 100% rename from extras/Demo/JuceLibraryCode/ReadMe.txt rename to examples/AnimationAppExample/JuceLibraryCode/ReadMe.txt diff --git a/extras/Demo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h similarity index 100% rename from extras/Demo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h rename to examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h diff --git a/extras/Demo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h similarity index 100% rename from extras/Demo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h rename to examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h diff --git a/extras/Demo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h similarity index 100% rename from extras/Demo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h rename to examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h diff --git a/extras/Demo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h similarity index 100% rename from extras/Demo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h rename to examples/AnimationAppExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h diff --git a/extras/Demo/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_core/juce_core.h similarity index 100% rename from extras/Demo/JuceLibraryCode/modules/juce_core/juce_core.h rename to examples/AnimationAppExample/JuceLibraryCode/modules/juce_core/juce_core.h diff --git a/extras/Demo/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h similarity index 100% rename from extras/Demo/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h rename to examples/AnimationAppExample/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h diff --git a/extras/Demo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h similarity index 100% rename from extras/Demo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h rename to examples/AnimationAppExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h diff --git a/extras/Demo/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_events/juce_events.h similarity index 100% rename from extras/Demo/JuceLibraryCode/modules/juce_events/juce_events.h rename to examples/AnimationAppExample/JuceLibraryCode/modules/juce_events/juce_events.h diff --git a/extras/Demo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h similarity index 100% rename from extras/Demo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h rename to examples/AnimationAppExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h diff --git a/extras/Demo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h similarity index 100% rename from extras/Demo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h rename to examples/AnimationAppExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h diff --git a/extras/Demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h similarity index 100% rename from extras/Demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h rename to examples/AnimationAppExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h diff --git a/extras/Demo/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_opengl/juce_opengl.h similarity index 100% rename from extras/Demo/JuceLibraryCode/modules/juce_opengl/juce_opengl.h rename to examples/AnimationAppExample/JuceLibraryCode/modules/juce_opengl/juce_opengl.h diff --git a/extras/Demo/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/AnimationAppExample/JuceLibraryCode/modules/juce_video/juce_video.h similarity index 100% rename from extras/Demo/JuceLibraryCode/modules/juce_video/juce_video.h rename to examples/AnimationAppExample/JuceLibraryCode/modules/juce_video/juce_video.h diff --git a/examples/AnimationAppExample/Source/Main.cpp b/examples/AnimationAppExample/Source/Main.cpp new file mode 100644 index 0000000000..b6100305a6 --- /dev/null +++ b/examples/AnimationAppExample/Source/Main.cpp @@ -0,0 +1,101 @@ +/* + ============================================================================== + + This file was auto-generated by the Introjucer! + + It contains the basic startup code for a Juce application. + + ============================================================================== +*/ + +#include "../JuceLibraryCode/JuceHeader.h" + +Component* createMainContentComponent(); + +//============================================================================== +class AnimationAppExampleApplication : public JUCEApplication +{ +public: + //============================================================================== + AnimationAppExampleApplication() {} + + const String getApplicationName() override { return ProjectInfo::projectName; } + const String getApplicationVersion() override { return ProjectInfo::versionString; } + bool moreThanOneInstanceAllowed() override { return true; } + + //============================================================================== + void initialise (const String& commandLine) override + { + // This method is where you should put your application's initialisation code.. + + mainWindow = new MainWindow (getApplicationName()); + } + + void shutdown() override + { + // Add your application's shutdown code here.. + + mainWindow = nullptr; // (deletes our window) + } + + //============================================================================== + void systemRequestedQuit() override + { + // This is called when the app is being asked to quit: you can ignore this + // request and let the app carry on running, or call quit() to allow the app to close. + quit(); + } + + void anotherInstanceStarted (const String& commandLine) override + { + // When another instance of the app is launched while this one is running, + // this method is invoked, and the commandLine parameter tells you what + // the other instance's command-line arguments were. + } + + //============================================================================== + /* + This class implements the desktop window that contains an instance of + our MainContentComponent class. + */ + class MainWindow : public DocumentWindow + { + public: + MainWindow (String name) : DocumentWindow (name, + Colours::lightgrey, + DocumentWindow::allButtons) + { + setUsingNativeTitleBar (true); + setContentOwned (createMainContentComponent(), true); + setResizable (true, true); + + centreWithSize (getWidth(), getHeight()); + setVisible (true); + } + + void closeButtonPressed() override + { + // This is called when the user tries to close this window. Here, we'll just + // ask the app to quit when this happens, but you can change this to do + // whatever you need. + JUCEApplication::getInstance()->systemRequestedQuit(); + } + + /* Note: Be careful if you override any DocumentWindow methods - the base + class uses a lot of them, so by overriding you might break its functionality. + It's best to do all your work in your content component instead, but if + you really have to override any DocumentWindow methods, make sure your + subclass also calls the superclass's method. + */ + + private: + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow) + }; + +private: + ScopedPointer mainWindow; +}; + +//============================================================================== +// This macro generates the main() routine that launches the app. +START_JUCE_APPLICATION (AnimationAppExampleApplication) diff --git a/examples/AnimationAppExample/Source/MainComponent.cpp b/examples/AnimationAppExample/Source/MainComponent.cpp new file mode 100644 index 0000000000..b06b5a3492 --- /dev/null +++ b/examples/AnimationAppExample/Source/MainComponent.cpp @@ -0,0 +1,87 @@ +/* + ============================================================================== + + This file was auto-generated! + + ============================================================================== +*/ + +#ifndef MAINCOMPONENT_H_INCLUDED +#define MAINCOMPONENT_H_INCLUDED + +#include "../JuceLibraryCode/JuceHeader.h" + +//============================================================================== +/* + This component lives inside our window, and this is where you should put all + your controls and content. +*/ +class MainContentComponent : public AnimatedAppComponent +{ +public: + //============================================================================== + MainContentComponent() + { + setSize (800, 600); + setFramesPerSecond (60); + } + + void update() override + { + // This function is called at the frequency specified by the setFramesPerSecond() call + // in the constructor. You can use it to update counters, animate values, etc. + } + + void paint (Graphics& g) override + { + // (Our component is opaque, so we must completely fill the background with a solid colour) + g.fillAll (Colours::black); + + g.setColour (Colours::white); + const int fishLength = 15; + + Path spinePath; + + for (int i = 0; i < fishLength; ++i) + { + const float radius = 100 + 10 * std::sin (getFrameCounter() * 0.1f + i * 0.5f); + + Point p (getWidth() / 2.0f + 1.5f * radius * std::sin (getFrameCounter() * 0.02f + i * 0.12f), + getHeight() / 2.0f + 1.0f * radius * std::cos (getFrameCounter() * 0.04f + i * 0.12f)); + + // draw the circles along the fish + g.fillEllipse (p.x - i, p.y - i, 2.0f + 2.0f * i, 2.0f + 2.0f * i); + + if (i == 0) + spinePath.startNewSubPath (p); // if this is the first point, start a new path.. + else + spinePath.lineTo (p); // ...otherwise add the next point + } + + // draw an outline around the path that we have created + g.strokePath (spinePath, PathStrokeType (4.0f)); + } + + void resized() + { + // This is called when the MainContentComponent is resized. + // If you add any child components, this is where you should + // update their positions. + } + + +private: + //============================================================================== + + // Your private member variables go here... + + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent) +}; + + +// (This function is called by the app startup code to create our main component) +Component* createMainContentComponent() { return new MainContentComponent(); } + + +#endif // MAINCOMPONENT_H_INCLUDED diff --git a/examples/AudioAppExample/AudioAppExample.jucer b/examples/AudioAppExample/AudioAppExample.jucer new file mode 100644 index 0000000000..e566658ce2 --- /dev/null +++ b/examples/AudioAppExample/AudioAppExample.jucer @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/AudioAppExample/Builds/MacOSX/AudioAppExample.xcodeproj/project.pbxproj b/examples/AudioAppExample/Builds/MacOSX/AudioAppExample.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..310d1f44d5 --- /dev/null +++ b/examples/AudioAppExample/Builds/MacOSX/AudioAppExample.xcodeproj/project.pbxproj @@ -0,0 +1,2152 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + + 3286435E3CC944A630866B89 = {isa = PBXBuildFile; fileRef = 92CABA9C9B5148FCA22A0503; }; + 7AC823C6BFA28E49D004E0E0 = {isa = PBXBuildFile; fileRef = BD70FA4626657FF1DEBB10DA; }; + 32D0B845ED45381A3B0D3286 = {isa = PBXBuildFile; fileRef = C751B4E213343FF77A0681B6; }; + 7D74E1C0A7CA9488CCB8FD5D = {isa = PBXBuildFile; fileRef = EA07D9E1051E8FBBB8C21064; }; + 2414893F5F6D7096A1350F6B = {isa = PBXBuildFile; fileRef = 0C37646FCADAFC29F28333C0; }; + 26E4E22AC7196AC405E218B9 = {isa = PBXBuildFile; fileRef = 7C86E886C3FCB671004E1CA2; }; + F5BE3CB7F8CBD56D6E0C6AE4 = {isa = PBXBuildFile; fileRef = 4D4B44BECA12A8D1B2A458EF; }; + F4869C88FEAADF584E72EF77 = {isa = PBXBuildFile; fileRef = D9E37E3E825916FFC5391BCC; }; + 05C4C6087DA084BB2A20A87D = {isa = PBXBuildFile; fileRef = FA016D0A7169A84A182C404B; }; + E529B9215B8115D19FAFA952 = {isa = PBXBuildFile; fileRef = 72EACF200EDF2E5DF7D66DD6; }; + 291730DFE49E6AE97D4C8CEC = {isa = PBXBuildFile; fileRef = B06A9120276E8875161CFC7D; }; + 22F4A52A8EEA059B7DD0FCC2 = {isa = PBXBuildFile; fileRef = BC1276921CB154EB04E5EBAE; }; + 74DB8EEA9D58B6E97C392192 = {isa = PBXBuildFile; fileRef = 095618F6D669589BD1DBD1ED; }; + 0CB39189A1701173FED41819 = {isa = PBXBuildFile; fileRef = 16799F26A4934E01FE14D70A; }; + 5055109434B36CD6E0B6D360 = {isa = PBXBuildFile; fileRef = 2545022A0EE088A0C46EBD13; }; + 55A794809FECCB07D3C4D07D = {isa = PBXBuildFile; fileRef = D78365C74082A1253E12AF17; }; + 9F994C4912DB4402247C438F = {isa = PBXBuildFile; fileRef = 19DBF218B50AA295AED50CC2; }; + 9BC0ECFC7AF57F1909EE09FA = {isa = PBXBuildFile; fileRef = D08758C4B60AE0ECD82D8EF6; }; + 85FE609FB6402062EF2C0DBA = {isa = PBXBuildFile; fileRef = C987F7105C386F9799C74AE5; }; + F794ED1AA51CF125F7F1A8A9 = {isa = PBXBuildFile; fileRef = 768E5A86B7E84A146818B866; }; + 8B9F9A6D24146522DD93CD22 = {isa = PBXBuildFile; fileRef = 0D72F29AB05E80E6D8A57578; }; + B0576FED799D792664EB5D15 = {isa = PBXBuildFile; fileRef = 7DE30FBED9393A59FF08AFC4; }; + 916BBC1AB5BE42CD684DAC5B = {isa = PBXBuildFile; fileRef = 332B664DD5F1E87D1BC77715; }; + EA094DDAD2D1A7A4C0C2233E = {isa = PBXBuildFile; fileRef = BBDC1C7DE652B571ED885097; }; + 8FB9BEF532266F191FA2343F = {isa = PBXBuildFile; fileRef = 8C96A8A1170495B6693F2FF9; }; + 3D181BDD770219ED14488377 = {isa = PBXBuildFile; fileRef = 5E489080FFCF538C3170739B; }; + E0AAACBB6027FC8FD4F9113C = {isa = PBXBuildFile; fileRef = DE6FBEE731028F230A86F223; }; + 9537FB2A9B43C898E86156A7 = {isa = PBXBuildFile; fileRef = 2E631361420FA9496ED300DF; }; + 42AE22EDF3A83997E9444080 = {isa = PBXBuildFile; fileRef = 1CA41F35C44145819921CF79; }; + ED46B41A891FE3B15A184ECF = {isa = PBXBuildFile; fileRef = B6FF0E28C1E186DD9E97F838; }; + 0029311BFF31395FD00963CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0042600B8ACF3532B5AE4839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 00F0299DB6F4889526D7C5F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; + 01065486D2E254D02B75509F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 01490B3A4FE0E7503EF78A59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0197C4DD5E7ACE14FF668D62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; + 02CF5AD726503AFB1193C81E = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 0333EF5021D4B11D0567EDE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 03B8A6359E4DD6796B9F7840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; + 0407B0BEDEA7EC85B84197CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 040EAFDEB6C10752F3E53440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 040F3CA16CF425185E82976D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; + 047A715B70BDCE0605F0CB1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; + 04CF614E82E5E0D67952963A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 053462A035FADA4FDCE2A8D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; + 054317A8EFDF8C80052EA0E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 0580BF897CA7540D4B195702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 05864BC8C7804D05F485305F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; + 06027E788981B5B21E48EDEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; + 06577256ACDA6ECA2DF0AE84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 06745837B0C272B8686ACF30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0687C181905F8F3CE2CD9B8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; + 06D76C16465B649BF0CBCDAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; + 06EB590F5B838B697CE72F8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 06F692C85C20B60877A3E153 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; + 070AE2690CA06010BDBB4644 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 07721876CC21C0DBD17D00EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 07B9E706EBAAD4873E3914EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 083D342FECE0C296374EF291 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 08BA9BF25A4A247BAEFA7C7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 08CC510A823DA8A188233FB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 095618F6D669589BD1DBD1ED = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; + 095864129E8B873229076D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 098EE470BA8744AD218E09F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0A160966A8128AB989F20F56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 0A4F90598876FBE7A67A13D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0A9D1C8737F68D63574FC517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 0AA4DFC6689DAC5C6C6D30B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + 0ACC027581F750956F3DBF81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; + 0B17C68C630608414339685D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0B35461B91EE6372D40C26E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0B8CE7C2918A2BC3C86E3CF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; + 0BA2BBE2C12EFD349C06114E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + 0C211C03FF27A92ADC7706A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0C28072364B08528A9AD5B85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0C37646FCADAFC29F28333C0 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; + 0CB6B999BF9DBA9D0F586C6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; + 0CDECC23B99E40DB6BD73FD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; + 0D136F19DF81AFE8C90A0F01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0D72F29AB05E80E6D8A57578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; + 0D748BB96C09FA6846E28D1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 0E8660300B58F0FF90907C93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 0EC0E5FB195BD2DCCE4FE103 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; + 0F7E54460D000A212BA37807 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; + 0FB03F29666B9E3588BCA21A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; + 0FD74232B9B3A15C19D73B4F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 0FEA2018033238F713A9933D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + 10CCA4154B34E2601DF7E36C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 10F336062BF70F1171393EA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1176710342A96CE5E736F504 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 118739F5BBF8A273FDF45CFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; + 11A431D13AA9844AEBCC97B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; }; + 121B842EB5C66CD392D7673F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1246B7FA44AABAA2D9D19B7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 124D98B849980B7EAAE01068 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12D1ED411A617AB55887F19D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12ECDE0E70945E79B3C6FADF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 12ED2DA2996DEFA911F07ECF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 130B30A89F8EB787CA96BD73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 13254A553A9B8E5F5DB682E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13852E700B8919909E360669 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 1399DD492AC9998A6513E251 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13A8EAABA98838BC051D7ECD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13BE8F3EF3319E21ADCF67CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 14D79056503073B08ACAA92E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; + 14E46E9101177690C481518A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 1501B794994314589934734A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; + 153310BD8726D691D726CEAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; + 15BA4AEE0C0E22D7C8BE92CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + 15BFA127CCD1E5D6F0647773 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 15C4E5B79331FFEF10E553D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; + 16138611E29922ACCDB8DF97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1615E143D724EC65E5528B78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1626D80AAC03E9C00A114311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 163C76000FCA6DEEC7C240EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 16799F26A4934E01FE14D70A = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; + 169BA47FE95B0EFE39A1FACE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; + 16A5D3C51A676B5EB96B07FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 16C249B2489B726FA38EB40C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; + 1800F7D6AC6CB08DDE716CFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 188F0A8D1EEC0AC08485B32D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; + 19DBF218B50AA295AED50CC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + 19FE66760D46BF77905C3B48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; + 1A2E38E8795FD19F801DF103 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A4FF248A625623F2AB5B78A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1AA843725F045F4E0857830A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 1AB3BEE546811801C8D4C377 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1B6E61F45C2F5E81914A71A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1B92C858971081339CAC889E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1BF56B39CCF7CBAEF9BB9A84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C489FC83EA76D34A2043B23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + 1C50B35A818EC78F8FF81815 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C88AFF1BEE2BBD2646C3FE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C95AB2B2812BD8960870603 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1CA41F35C44145819921CF79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; + 1CCFA6CA5E8D3E8D1D9476B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1D05DBE68E45BED5B842F212 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + 1D4A3BD9939CC395D2AE4324 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 1D904F5F3F9ABF88E0D4385D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; + 1DA8B8E25372E8F00080877B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 1DA9D191A3312AAF11810745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; + 1E02091AE0A7BB79608FCC0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; + 1E73665689A8CF1EAD07A410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 1F0ADEAEB1F4BFFDF96597D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1F293903C761D909018FDD67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; + 1F9C7404B23AF0D8456ED1AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; + 1F9EB82BB8FBECB611B7DBED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; + 1FA16B4D97401423966B4183 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 1FA8CE4825B48E4FECCD1FEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1FB5E4B9CC25B15D872DDAF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1FBB32224251DCA53E9CE4A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 1FC260D4C2C8EC0D1C46B882 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; + 1FF55E3BBA8A22620289A59E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 202FBA54BE113F8E12628DF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 20B1A2291D2367A6CE6A98E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 21ED255865DBE1B9B27CE0CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 221859580563CB895AAB6167 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2289F6AE28B501127D381EEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 2296650D710569DE62A1ED84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; + 248D8296344CFAC3E6CA732E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; + 24B8757907ECF54548F90F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 24D34491A75D9158E571CE95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; + 24F0BB17E458EBEC96E7360C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 25131D3A8F8DDF0094192DCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2545022A0EE088A0C46EBD13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = "SOURCE_ROOT"; }; + 25A32EA2B5B35D951633212E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 25D592FB01574ECBD7AB256A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; + 2651FD678A14B0751CB5D020 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; + 26A7E3CEB56737AB4E725BE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; + 26B0149626A30EF364609DDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; + 26BFF71147B21AEECB934431 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; + 2706BDD74A8ED307B92B9BFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2722B15F48A305F2ECD82429 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2763141DB90EDEB924F549B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 283761EE00FC441F1881E282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 28B97FFBC14A808881547FA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; + 28E18ED64628E325B734F817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; + 296031FF025F31DCE8472A08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 2A35B8768F9F47F2F4AE5223 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A48FAEC948B121B6EB34631 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B4A4D4411B9314CEEE873F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B56C4638018F72794BEADC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2BF48C4EED551C019F3D293D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; + 2C255E6DCF96BD803B6EA875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 2C34C4F10FEED10795237530 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2C5BAB180C4B0F64A76D265C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + 2C9F5746F9D3DEA41F12FE58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2CA8A8FEF881E1400CE33991 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2CB8EA303EA9DDA6A788E09C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 2CBB52A96FFA3344C137AFB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 2CD02E712AFC2633AE66F876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2D8585823D0A4210D1B161DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + 2E3E5BB82FD2A9A582FD7E5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E631361420FA9496ED300DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; + 2F02F02DE72872590941BD0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2FDFCD44816447805FD012DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; + 303FE5650303C9D52133FDB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; + 30E959B23AA2EBA0CB11D121 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 3126074952DF6879C42AF9A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 319336062D169304F2BEDDD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; + 31BC85796D2F77677D4977C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 31C5DA5DD3FE3C167B4C6527 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 31FE14F48D2E4827337F3C65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + 32043671A35DA448332B557F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3210EE9DCE0CBD81D22F13AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 322590D8C7EE4F273C28A081 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; + 324E57D5C6BA8C19535791A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; + 32AA8C09B7A39118E3A4BFA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; + 332B664DD5F1E87D1BC77715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; + 33C4E091AF43E7CEA138F133 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 33FEAF50967CEB5800BF72BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3473D34B4E5F5BC3D315C6E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; + 34D0CAA3AE118782B1D85410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3514CF0F5CB28BBD688539B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 359E9C5EB887770E3AA46B95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; + 35C33DF203333BE87587F1BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 360140E521BFFBEAE167DE5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; + 363345C2BB552CE31BFAB6D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3655B7B8C77849CD422BE014 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; + 367C43A83F6BBA49141755B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; + 3737DB5B70CB03EB340745EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 37737A4FE37D244DCF36F8AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 379CFA695DBA290674B9466F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; + 37AC07521C58A8D0AB468D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 37DDE4779BEE726B73257328 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 38628669BA3E9CF7E2DFED16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; + 3A0DE69457B7A75B13579949 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3A22AD6926B2CC42F4E5988C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 3ACBB7FEA688DB5A3B3C81DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; + 3B39B66B640766E9B90E3046 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; + 3B3AB4E5CE405BF348F634C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 3B52D9CB9D7135AD2F240CE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3B646957B5DAB8CAF910B83C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3BAC3350B6CA12EFF6587DF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3BE93702701665C1CF0D71F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3BF749BD7341CB6B695403F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + 3CAB0402E5EDD5A25D4DE907 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3CD98742CA1919AEE3F9D9BC = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 3CEE794B62AEDD6CD0650F0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3DF61BB51C4F45E8E7399BBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3E1891F87C00044C1C482137 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; + 3E71B82FA28ADE017FF7C836 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3E87A40BAA207A6F8491BE60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3E8AACC53630A2225F4C5486 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; + 3E9355CECB4C063F13CC481F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3E9420908A60B009C762593A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + 3EF6C867CB55DBB90076ACF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F2852F4D9EA9C67864288FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F76E39F5ED6016AE007D846 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; + 3FCCA7A2BBAC3F32C28A41CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; + 3FE3BB22E6A6B04200358D89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3FFFC28C52CE08D5DA7588AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 40046E402D3BB5D37AA9DC07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; + 4013F4D715E43764169C2BF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4046F9FFC62FE0E597136A28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; + 4055E0D3D92A96C8E797ACBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; }; + 407FCF60E01E1C7F7BBF83B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 408AA1123D7BFE64D870013F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 41004038C181AC5C8CDDD02D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 41066A9B2DA06A8A42EB2302 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + 41D8E7CFFC16D293F934DB74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 41DC9C31FE8A27E721AC95C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; + 41FDE3C3197B773438925736 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + 421D944B78CB2925F3073FBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; + 422E3CE271E2064729DA6F46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 422EAE67E128C8295A23F6A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 427F2DF6378E91A673BD5805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; + 4302CD9CA740EBE5891DC3BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 433F5E9D26E0EDD4B309A0C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 434777F5069C5A1EBFD0ECFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4366A35F3F091C0EEFD58817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4378029B012345D856709C2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; + 448B223113A96B6D7C026E0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; + 449F72688745585AEC908DE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + 44AF43F408DE59FEC7FC87C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 44BFB21474150C54D8B45035 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; + 44D12A261F14400C108FE695 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 44EB27DCDBCEC36F4DB760A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 451266541F1F93099A252033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 45A893DD2D553ED62C5B4D63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; + 45CAA0CEA9DA2B4F3AF549FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; + 46844E11FFE3314B7A4D1182 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; + 46AE290C54ECEFF69D62C0A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; + 46EC28DEB32461DC57FC8091 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 46EE36AEA94A83975A5C36C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 46FBF3438B506BBBA1C08BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; + 48348E65A2D505CD55F894CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 48AEBE2829B0A312E3B598BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 490FFC3A7899AA8FBE8E2D0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 49245E8C5141A64C17209913 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 49811A30680D278DA9591BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; + 49E5DF4D47ADC97FB605F93F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; + 4A44D8CE1E8F932AD7F6E5A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A4D808E73E64EAC75888392 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + 4AB25C5BAD57250C530830AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; + 4B57EFAB122FF8AD8A15DD4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; + 4BB76738C3C05043BFDE3507 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4CA0CF8181B0B7321AC02F44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4CA0D374BA396AC331C7657E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D130A36E132798BA1BB53FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D4B44BECA12A8D1B2A458EF = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; + 4D8CBFA4ADFA41465A97C072 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 4DA82F4EA6B042B411DB20A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4DC09FE2D606F3346B269F47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E54EF00533AF35ACE6EE0D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E81FC636E217976041F8FD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E910C3EE26D3CB30DE64DE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F0C38D878C6A40DB5E610F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; + 4F613FCE6F5079EBF19A2489 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; + 503351935DD85F70D491ED2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 506252B820D7D570B2D1928C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 50EDCF1A36276EEDC8FE3C5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 51686AA73651EE47EF5CE35E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; + 51BE027208C01296F2E76054 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 51FA79658840D67F6DFB9C0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5248E05CA643E149A0B9A8D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 52D2F52B7284090A8CC4F18E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5374AB638100ED67F198E888 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 53C3C3F56CEF7ED61F8451E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; + 5435DECD3AC65DBAC5C2A267 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 546E1DA09F73BB6E17FD63CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; + 54905E0DBD3DFC08980F0635 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; + 54B29F8CAEE68EECEED7A088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 54CAC1382C1237BFA1B4D877 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + 550A729142AB16A20BB99123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 553AE1A4613ACE6750798D0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; + 5546974D4F68A427792B725E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 554835604BAE08C82511706E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 55AD9D2F0D75B19660C948C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 55CFA008C55F190872354FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; + 56BBB410F5117805919652E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 570E0E900CD46076476337A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5736EEAD19F704D8BC0D63CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; }; + 5765E0F55ADB4319F0F896D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; + 577824246C165D84AA378BE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 57AA11256FE770C2AC1CCF9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 582CAD0FEF6DC8676068004C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 584F5DA03ABAC58D8200F4DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 58A314392D34735350431602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 592858CDDEB9B1CF44D0CA28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; + 598DCC346E8045B4A1221B0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; + 59D6E450E7823A809631B85A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; }; + 59F516B1F82F487ED0B8A08C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 5A1ECBE0BEAF6C2B976EE813 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; + 5A707B988D57A28536A6E62E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; + 5AB7146863FE8F4F5AD7A092 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; + 5AE6D28B2C36587A4F0E9DE3 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 5B267B0B84A4AE272AAD58A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5BE6EA9AF8FB65EE6C5A2DDE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 5C00F2B0503A9B4774455977 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5C6D3A49499F186AFFC3DFDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5CBF59C67F30E77F408EF2A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + 5CC1850C4E76C0825DF9F9A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + 5CCF73F6CF5A9AF81DF09B12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5CD2D4CDAC75E50E78ABE46C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; + 5D2270DEE9D5C23019DEB152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 5D65D7D73CFD4C3292B44F07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5DB6DA27DC5C022696109EF8 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 5E151D89199CE9D3E7C3F0B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; + 5E489080FFCF538C3170739B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; + 5F1FD7697F7FB42EA6E9CDBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5FEF4DC42947B82D016071A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; + 602F2E014E4796C2DA29CDB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 607D538C599F10798C3399E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 60B660A81EF1085EAD5184A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 60D5DF22E19891DE5F69CC8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 60E06352A02CFAEE12295CDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 613B39307B80D6D9C4D62739 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6173081C862DEC593FC80E05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + 624D83262AB7BACCD81A4B50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6295F7DF5F087D52FD31265A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; + 62E68C38E001F2FE60397D3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 63E1D500C9E6654A2EA5015B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; + 641CEAEA5DDBA04D348E3E58 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 644E389974336014E8890F31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; + 64515D56E168E26DE6679FF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 64851AA6F4FAEAD9E3CB5D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 64E7DC1B23F237CD9F141439 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 65B8AFC880FE18CAD80D0C4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6613704E18148830091DF585 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; + 661F33F1EB949D590090D53E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 664D7BAD62148780288B4904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; + 66FB9E52B611D5E118CED62D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 6776FE828D0C9AAC3F12EA59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6791A6621D6D8937D8BB3418 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; + 67CC682EE03AA0B82CCE2C2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 67D198D7BB5C246B87507FFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; + 67D88DDD18716C1D7AC783EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + 68626EA8EFEFB457495DFC58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6877464D85600AAC5F84F063 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; + 68CE13A021B91CD24AB856E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 69279A43C4E5EFCD851E6E2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + 697A591A67A38D7807665407 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; + 698E098BB958CC4719E2166E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; + 6A1102C4FB362652CB575CC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6A6347D9B543CE96713831B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 6ACE33C4515448BE0DF400C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; + 6B2C313C20885C7B75D40ED2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; + 6B526A365078C24900C821B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; + 6BAD62D1E379BB05328C035D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 6BF891205F6EEAF85C1C0F2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6C32FCD6B87189C1F43BD462 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; + 6C4F8F17F78FE9C8B45941D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; + 6D1F6926A1A3424AD520AEFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 6D275948B4E4F4B5A5390798 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + 6D749A9561547CBF4C9D55FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 6D869E6ED7DF080A9FAF162C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 6D8FDB139E0FDCBD5641A097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; + 6D9E97482246DAD163EE58DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 6E0D954E48998693A587F2DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 6E12A19A4995DE066C7130B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; + 6E2E587EC9DCB2595D73A5CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; + 6E99388FCA0417BCE813EAE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; + 6F3004F968CFEFA5B776AA32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 6F681F8D57B92084BD4DC38F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F689AC4B401D474507500C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F87BE5F4E3B7265969D48D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 705D210EADDE876947060561 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 70A73FAF31B05C5DA4CE35AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 70D98CAAD904CF7FC923F24D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 713CEFF3ECB6CB4EB74D2324 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 713E158BCFD9D0B61AB3DF2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 714F603CF16614D65F89340D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 719100C7D7C3AD37528165B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 71AB2D9F86EE978F739150B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; + 71C44B75937129DA6001F9CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 722A961347F2FBFBADD22E88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 727001681CC52AB3D9D0FDA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 7287E94D566F0CCB336585D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; + 72DA84A591B2827C323332B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 72EACF200EDF2E5DF7D66DD6 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; + 72FDA2118BBEAF1B8AAB2D74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; + 7354BFA17F9565BE32B449D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; + 737DE6483F59E9AAE31B8568 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7395529C7D5D264BCD3702F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 73B2312BC8C5D5A5A7AD87D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; + 740B836DA87A1C70DD06D1C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 74D736A2BED0751C2A3C1BFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 7552ACBC68EF48B063F619E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; + 75A55732BFBBC2BAEE28AACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; + 75AB14C9D97B3563BE688EA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; + 75BAC34D9924B34C89B4D26F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; + 75C69A20FBFD837BC86D860D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + 762FD953C2BB53F5DC9CD403 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 766259EB7D04DF87556127C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7664ED4E8E9E543AB1ED72E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 768E5A86B7E84A146818B866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; + 76A5E0AABE31E9D19F5BBCE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 76F267A1568C2CAA1BBC3B5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 76F5916C8F6C275EBBC12901 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 771D65718BE0B30E711461D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 778A0345A4F0B08ABA3ED5F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 77C55D5A6C29BB84028BF4C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + 782C982DE17D3619F58453B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7851D44D38C6B206AD0134D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 789920BB98BF607E690B01BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 79703B85F426FD4DF5C0AC42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; + 7A32476DF07EE4C33512F01D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 7A356CCD42F455D41990C69F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; + 7A7925B71E4B01A22C6E7453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + 7B2895D4FB86B3B075610B53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7C1FABF9A21D7211D6E1420D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; + 7C3E3ACE7E74B1ED0C3BE343 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + 7C47594E189DF41C1A9A697D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7C86E886C3FCB671004E1CA2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + 7D5050E0DD69CB60EF1B677C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7D75EB56FF74B25CAC8B3B56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7DBFDC2DAFD57DF638D745E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7DCF0A2E89D3CC5C976411D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; + 7DDA47BB9CE313C8AE917F40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7DE30FBED9393A59FF08AFC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; + 7E60DC744D035292F8A7BB97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; + 7E787DB76F02DE3326E608A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F5C171BA5EA9E83295B7498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F9D7EC0BE80A6DA54A9805D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7FC679066DAC1C23188A46ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; + 7FCEC7C5C54AB90A7709406F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 7FEE5FBF562E44ADD32CAFAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 8002BEBD6AD4EE01900CE16A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + 802E9ACA0F0495F366FD61D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 804EF2A74F928AE02E380D38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 80CC6E5181AE8A06FAF7792A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; + 80D99C9EB9437791B2317ED5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 81505916961455538E9B1A7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + 81B5028748B2F81CA1F4F9EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; + 81C9752ED058D6AAAE40E021 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; + 81E9F11630D26DFBD0A93618 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 820C05ED738EB5A0B1D48AD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; + 8292A39754EAA00C8AA376B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; + 83F1B63878AD351B064B301B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + 84030B3A2263DEAB1A2EC8CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 844235B2D29429BEF2F7D184 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; + 84C7DA39553A08EB2F357718 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8563FE036E562AD98EAF4FE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; + 856659253CBF8304601F4FBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; + 862FE36C50506109E33D6E88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; + 86F9F3EDDA98B10C15901578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 87068D2C6B2EF98F548312B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 873BD4265902B4FB6CC3A0A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 87766D3A5FC3CB4ABB3D6ED0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; + 87B85E49FC448CEE97FCE14E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 87E0E3F42A5E6C795C3769FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; + 881A14535E84A919974D8F84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 886CA18FAF31B80A3604C5B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 88AA420D1FEF4EB95D8166FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 88F756FE30BD5DEA47C1725D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; + 89163E9DB0626DF42D686130 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; + 8930689A13E07781BE58FA24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; + 898B5EF2CF5B2303DE59B07A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 89C90F8B0901C465E356C6C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 89EB6DD3E34A7D2EB520D929 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A10539F3D428C2836A5178E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A1FB5D85766EE499267EFCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A5772ED4AE108BB21D97514 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; + 8A66BE4644118DEB1EC06A19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 8A94F716483CAA5DBF139053 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A9D3CD0BDC7B8597C5F8A07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A9EF3F9FEE1D45AF1EB7D41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8AD5C1E90DE18441407D769D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; + 8AF7405E7AF18A44BF24811B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; + 8B01626CE8C886F18BEC9178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8B572C8BD4106047C3A46EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8BA6EF260D361C1FC16E338E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8BFB376F26710685A2BFDE62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8BFEC7409742F768017FC3D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C55F3C3E8ADABF3E2B72A12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 8C6C4C23D1B376C95C2B5F7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_events/broadcasters/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; + 8C7A9D19E4BF794F25112C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; + 8C96A8A1170495B6693F2FF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; + 8CC6758FB15124F3CF345CA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8CF06B5E9E25293F79B15242 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8D263509D4EB25038163FB5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8D57F62E9C62502D6C8762D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; + 8DC66AE55D8DDC757FEFC35D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; + 8E6345C2A24786DB002C85A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; + 902E481701585587D0AF4735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; + 90ACD3C39C69C46B567D1DAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; + 90BDA0B8FE4A26E5298DAEE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90D0993A08E71E212911B4E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; + 9169D30719C69B4CF1EB6061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 9214DF8A087BB905EEB1017B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9257CFECF4696048B828768D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 929ED279A30C759680096CD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 92A68AA34859E8DDC511D21F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; + 92CABA9C9B5148FCA22A0503 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 93A5B72C4030F63A78120194 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; + 93B34B16D67C27ADD795D346 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 93C5ACD4E394109C97132641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 948076D06B104682079290E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 948DDA1658E532819DC1CFC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 949131E58393C7020549AA11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 949FE95B13456FDD83BC4719 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; + 94EA75B72A8361A33A498EDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 94F37F7C1FF260E499DF95CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; + 94FAAA6CF20DF5854F277026 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; + 9521308539218CF751ED1B1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; + 958E73D19425EE81B17EA8CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; + 964D86CC6AD404519F939215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9708B38E625B426432C46439 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; + 973257D8FB62DAE78ACE85DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 97F0F9EB4F3131BE9C4684D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9837ED0D470BD0E633A71F04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 98DFC6A85CB893442E014D84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 9A07C2A820D1A4D1C5429E6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A123AE56C9C5AE3BE0E2800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A26AEA080345998826A7F9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A2D9A5DBD78446D8878717A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9A31450E90F82EE417285AA4 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; + 9A54516E1DBD569C24F521F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; + 9A577EF18204B6FE35D227B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; + 9B28308E02810E07AA5D9FA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9B47191752AD5B64A858FC13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9B8E99199DFF5A5588690C9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 9BF096AEDF125991249E696E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9CC7A321D4B4323FF06A03B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D12A31934633A579D324B96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; + 9D6101186894D8F444AE1162 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; + 9DC7E8A153861BEC0C8205A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; + 9E008BCB36772AA2445607FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 9E20217FB413D60F83A931AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9E67899F08C1CB65A37C728F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; + 9E7E1945498A6BC57A2768EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9E8979F0765D76FDC54E0FA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; + 9F0363632194A6415E392DE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; + 9F14A2AA61821A565FF22D39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A003021CCCD1F8D2200E9066 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; + A08FAB7BE9C27D36087D4B45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; + A091657F22DDCFFC2D0E3E68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + A0A94042C6D636512C7A41EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; + A0B6BA5149627A02342A1691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; }; + A16CAFD9F29F03D5A11457FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; + A18B835EB367E1D27693517D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; + A1CC4DCD28D612221D9B445C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + A1EFE173102C316855A3E277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; + A20A2F639F28E15631EEEA35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; + A311FDC490ED65A08E3B8B61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; + A3784CA5E1195E1792E617F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; + A3A119C6E5ACA90C03A77A04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; + A3C671FCF17ED732E654C652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; + A3D1C2B1D20BB35EABEF5D56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; + A3E8C954C194E24AE1907AE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; + A4371BEE6FAA21EAD5E50D9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; + A47775D4CDD050038883A890 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + A47A4A946381F45AE898A70D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; + A4B3FB3D6F0A5EF90023F514 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + A516757003C57D4D3E5C637A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A535408525D77AD8CD01315D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + A594E86AD063F609FCD9888C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; + A59C4B4BAC10B374D8CD17C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + A64E0921A828155BF1F5455C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; + A6810E5A98CB9E4244EE6361 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; + A6A6BF31BD4CE0ED3B3B472E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + A6D365F17431ED5DE20C31C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A6E5EC33E5F9767654EFCB25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; + A6E737E1560A81E5A45DD9BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; + A7FC8A80F3BF7EDCBB40DBAF = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + A833D4B8902DBEF7D8B32E50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; + A8452D6DA370E42EF91F1555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; + A8CEABF70ECF7561C73604C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + A943021729B460E5CF76D54A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + A9AE20E7B5E5A3B47C18EC11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9B5EEEAFA441F850358281B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + A9B7641B8DC31EB20DA18BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9C0D755D2D644AB9B9EE13C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; + A9C31C52F36697E74384B83A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9E584C98134D88F8317056E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + A9E6F251933166D931848C0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA2C868E050557A1CCEFB5AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA78AF689E1B8E9B48B6E271 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; + AAC4E65438260939D18D3F40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB8486AC595BB23DB29EDE78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; + ABB6B2384A0390705A173633 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; + ABC57D52DD141A202B145B54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; + AC5BB40FA10713128CC9A2A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; + AC8848FA6745CDFDFAF2F927 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; + ACBD4C9D390EC20E0A37FAD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSampleBuffer.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + ACD7AEECAD82866A14BB111E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; }; + ACE73C5C489D1CF6D4824776 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + AD258805D250E1D7B3ED5E56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + AD7D7A1631818FAFC9600F3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE1746EE8E4FC95FC3635940 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE88491D97D08B1215C182B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + AF1DDB78AF70C25D07D77387 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + AF36619C034B0D33F93CB70A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; + AF3E236113F3DADC4F2D59D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; + AF3F2DA7FA59ACA4E789A401 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; + AF601ABA3B20D0E5999328C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; + AFA2ACD68CD580639886A60B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; + AFD134A52E53280F52870EF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; + B043471A2BE93BA496CA44C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; + B04E7F101D9B104C6E4F180D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; + B05B1D7ACE1C33319A87328A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; + B06A9120276E8875161CFC7D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + B06BCB5D9CE908831C7E81D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + B0C8BABB5E59C2F7FAA37689 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0F79D18A4A523D01E05A940 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0FFC533F760AED1CE7B2BC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; + B27AB74B32E014257ACF7EC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; + B28EBA2EDF0E543EA1ED374B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; + B2D1342CC46A382FEB8043BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + B307D90DA0DC9A76DC723878 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B343ECF6364A1693C3E86562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; + B35E6FA7FA077CB7887CB7EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; + B463D24B6025AB064E03FBE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + B4EBC54E160BF6EFDA54A708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; + B50129FF78D1FCC64DB4D51E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; + B54E4A120CB79F8BB5BCA1E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; + B595F0B82E93560FC2CE5EAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; + B59C7AFE7DA427E795F736CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; + B5CA0C1C957C04A44E778E85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + B5CF56ECED7AB7108C7FA24A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; + B5FF1E4CC8E4177744F0833D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; + B663B0FD7F2FEDCE59A40373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + B6FF0E28C1E186DD9E97F838 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; + B7485EC80869B5EAE869B552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; + B7C588B87E09F887C6CB73C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; + B7EF396405CB14D1ABDF709D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + B804B9C7C6CA696B7410A629 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + B84ADDD01BAB1B1E21DDFF07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; + B87C42BDAE89E73E982EF85C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B896CB8307AD3EC317794847 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + B8DE8BB323D2F1889BD7CF8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; + B905BFB6C174B284D84339A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; + B9425E1F94E5E6337E390B9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; + B98D12869BACB1D0ECB4EE95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; + BA27FD5D74A9F7C7D0660EEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; + BA4268340FC48F04264E4992 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + BA724CE76B93BA0DF39FCC6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; + BACFDC91EDA31FACCF2B15DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + BADB10DBDB2B94E03AF14B91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + BB3DB74A8843A5C315854394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BBA6F050F86F5DC509CBB4B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + BBDC1C7DE652B571ED885097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; + BC1276921CB154EB04E5EBAE = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; }; + BC3E6DE998377FFB8E61EF44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; + BC4C2690333D8622D054E99A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + BC77947BDED20C022DE3D8B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + BCDA77D2C1C152DA77B2558F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; + BD70FA4626657FF1DEBB10DA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + BD818EEF611179A02E2667BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; + BDA38AB61C19E4924549ABD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDC870E69E95845672295AB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; + BE187CBB955859129715DCEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; + BE439FE1379CC46AD8DA5F78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; + BEF6E9C8B9FE65A89F84DD3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + BF0600EC50B69C509612CCB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + BF44CE913E3ABC7CBD3A7005 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + BF63AD2390FFED75EECD4FAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; + BFB539E4567CACD9D0DE55E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; + C02300F6DDD1A5D705603B0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + C03B12980850005B9ECF2E17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0813C1842A72A80AEBC8D3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; + C08F4E167F53BD59708ABC46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0F2634964D63D63A8A9E892 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + C119EC562AC9BCE4E6B61067 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1E4AD74F8C069DBFBA4E782 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; + C2015BA8A41561F8A723C50F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; + C22ABECEBF209672CC22F38D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; + C33A6A02E9F92ABA9618DD67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; + C3429B905F1744303CAE83AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; + C35667BD04402DF29D3FEF8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; + C3DE0ED05484B10615E59191 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; + C40EB67E7237BE2217C1E7A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; + C4117C0CDD0F80BCA4E8E9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + C4A9D089AA401E6F8244181C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + C4F60DBF5BC6169F4B7357A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; + C4F92727F81156801D2F61E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; + C56587798EDC116C137A1DF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + C5ACDF0DCF5337C0B0AE1AF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C5CAA1141DB6800E4CE2CF51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; + C5ED1DD6D94C2FF75614E4A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + C5F3D1E74B44903AAC0126D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + C66D267FAFB0ECDB23F3C00A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; + C751B4E213343FF77A0681B6 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; + C771A511AA82C6C652D4FC70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; + C772B460012E89562C4D93D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; + C7ED330EB140FCC0B096E2E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; + C807A91F69CF02432499E1E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; + C81CCF965B4C7E21308B305C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + C86F3258822428DB91009687 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + C8A3BA380B7DADEBA46EC1FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + C92EDF999BB6D02D070A8A62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + C945BC507F2AFD320F0FA60D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + C9580CA9036A8E4144BFB904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; + C95E510FB09338D7BB74781D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + C987F7105C386F9799C74AE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; + C98ECE4B1357FDC58A90EDBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + CA3E9C9CE9CA59B370A81095 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; + CAAD0D8023B1EE063FE7B3BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; + CB0B2A556417D63523EA8C83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; + CBB3BF85622B9B875544C558 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; + CBF985C3779D9B0BFE5F15D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + CC180EFFA43B485F1A6DE764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + CC27C420117D56ABAB4984C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + CCD10DDE00405843C68CD278 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; + CD10CB521F53F36674738E3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; + CD13739C3599635DE5F687B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + CD8C53CF62B19A8E549D5C71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + CDD9D8D1D0DEED5F91CD0503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; + CDEFD12DAEF30B7A13DFF8F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF01DB44007FF6940848C91A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; + CF16FBA5840B89D53711C89F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF412309E5514E05CBD2A30F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF6B3F4DF15D7BAAEB2495BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; + CF746C34F8DB1B073F1A4FA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D045327CC8A3E0C370070496 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + D08758C4B60AE0ECD82D8EF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; + D1504817660ECE621AAA066F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + D1A83AA1BCDB061B528DB415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; + D26A4E01842FF08AAA34B9D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; + D28E2CC83808A521E99BA3C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + D2E451A096DED665657647F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; + D34801677A2E2B17CD6CF93A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; + D396F2D0FF34CC5C59FA3DC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + D3AE4AEF45E4694F90FA90BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; + D41591FF892A6E2E672C7A18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; + D45B9852EE24763DB29A07CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; + D45FA51540441FC7D57E016A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + D46770CDA754135BF9471DF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; + D56D6ADB264AC3107EE2D5C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + D57B55B2B9CE6B6D9D6EFFCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; + D583ED6D9DF5CADB3AE660C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; + D5A52E8FCFD2A574B140050F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + D5E118687F94A7A960E7EC71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; + D73A06F366784CFAA87B7BEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + D74826F0CFF78A5C10D954C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + D78365C74082A1253E12AF17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; + D7ADC23EB8DDCAA960EE5745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; + D7E99FDE83844ECAA502376A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; + D817A6C2192C3954C8B63045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8A9DA040BE1279C9863B422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8C1391D9B2819FC8257719A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; + D9E37E3E825916FFC5391BCC = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; + DA0DD5BF97E3F28C9CCA4A74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + DA366F25CE709950B866C7D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; + DA3C59A6D8FE2E93EF171A41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + DAD5AF16CB91B3134BFDBA0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + DAF2DC4885AA5A5263A16E94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; + DAFB41CC5DFEED6280C3D776 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; + DB1613193F82A43CE17AAF88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + DB353F5970D6CF72284F6794 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + DB3F9BFDECB17176CD53C029 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; + DB597523D1985EA60A403B94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + DB6C3F30A7B477AA3A695B2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + DB7A3C83FB705898F07C13A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + DB8D923C776A1038384A10D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + DBEE524633668464C9593EE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; + DC0D7D089158296DF472F703 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC52C218059FD576DD0937FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC63BD4245A44AA0E41382E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; + DCCDC8D852E777EF63078AE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + DCE3EB6C3DF640697ADD3F0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD7C6F9CAF5CBA11B6024A83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD970DAD7E15CD399583110F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + DDB141526302B59595C3A584 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + DE6FBEE731028F230A86F223 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + DE90A7AD96CDF9332CA4B1CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + DF0EBC428D40282CD24D2015 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + DF8AC8795BBD9CC5918F5969 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + DFD0AFFFEC046CBD6E837825 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + E0026785667979561D036936 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; + E03B0CE2DF954597EDE01376 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E063AB1C1700670E900C28AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; + E0EEC67C10363E4FB3C0B956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + E0FBED51F796AF5616D51696 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + E10E5BBBE8515439D764CBBB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + E192C84132D30E43D30666A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; + E223F2E916CC8884D48BB2F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; + E22ADD78D920B09EECA708B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + E238C3F270655B4324101263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; + E2B8FC5BD4B67250BA9335A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + E42E9716C4B77E32053284A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + E43C13DD0E648037E8DAB7F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; + E4E6F10141E07DE0F2960C2F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + E4E97BDAD6209A76EA5B0CA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + E55C6DF8352F3FBE56499775 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; + E5753506CDDFF88D638975ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; + E6096A408885ECA69BCB15E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; + E6538FD6973A159756E2DC91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; + E662D32EE899694C2F360B77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E663E110A4BE0E43ADCC7ADB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; + E6FD0E2AE90C1053B736D210 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; + E7B5CA1BD06F33C213FAA37D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; + E7CF28977428BDE6A175943C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + E858258484916776F887FCDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; + E889D7DD7AC4FCA48517B2E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + E88B889CB23D7A61B31FA1E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; + E89A3BC0B3BD6CCAEE267855 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + E9294BBF9D2B39F77DCF5145 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; + E952B3E43DFEDB951B0CA41A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; + E96860404A16526A491A14C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + E97F0C403AFAF4820EDB55F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; + E9AFEB90653FD6CBE935D29D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; + E9CAA6108E4CC9A8240EDDC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + E9CE9F9373D3557656DFD116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + EA07D9E1051E8FBBB8C21064 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + EA85ECBD920A5EE3E79B57E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; + EAAA2AC12D38A7162C99E24B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + EB1D64642D7FA904D675770E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + EBCA45F1E4BF7ECD899318F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + EBE6C07DB63AAA1F750C22F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC41E20B845B695675761614 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC443EF07555D528F21945DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + EC7A2DEE957A2B375201FC12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; + ECD6FDB8D99D661E23915E85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + EDAA8D220CC237DE5D612F47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + EDB90C4006AC89CCFAC4AF82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + EDE49EEE9EF8B5202426D948 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; + EE60FE123A1E8C7ED4EE2C8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; + EED45AF0FE17F2782911D0AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; + EF0015657F3C994B1C76C306 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + EF14BD536F709B7D6B9F68F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + EF8B1B7A2AB1498859BCF0B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; + EF9C89B3C7A5808769ADFD76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F16BDC9AFAD544D72BF6DC3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; + F20271230BBD0224FACE29E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + F3425CF4DCD715471072DB82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + F43D110150D84A1CF0B65F0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; + F5158122AABF8E950827F2CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; + F75D109BD33B5C057C150155 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F9EDE109342E77467BBB4D13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; + FA016D0A7169A84A182C404B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; + 4B8E8BD3DEAE0C479D04F571 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AudioAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; + EE026B40E1115ED7C21FF7D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; + EE873579BB45504067BDD773 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + F06CE10515F49B1DC5E87353 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + F0776755F05C2BF5C7AF4FDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + F1666DBF5DC7FF6B94C0F0FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + F4DD9A24D4B78E8DA2558487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; + F77BDA821AFA286E0B7CA733 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; + F8412676F1B3EAF03D7928FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; + F84DED97A83644758D30181D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; + F8A71BF8EF7965A2F9B0E396 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + F8E04FA3724E51F271D61F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + F90C21F489684D23EDD78BCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + F93E820028869AA360740BE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; + F940D16031F521E526383AFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + F950431A9C0864A8EADF9996 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; + FA01A4ACD8E51ECC2D1C1B63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + FAF3143A9CAF9ECAF81AB3D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; + FB21D85F25FF7C468331BAEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; + FB4B0B7CB3B7693E633DF85D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; + FB9D900CA19E8894F1F05F4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; + FBABB528D9CB9FCA127D3702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; + FC43C9F152FA300C417AD510 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + FC4F4A4607AA7CA722526B99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + FC9E35A083FC90411722B192 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; + FD81229B12072A6A5D27465C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; + FDA2E20181EEDFABEE8CACCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; + FDC2F46EDF05732F05628411 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + FDD141E4E766AED3F01003B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; + FE004044BFD20BEA4153C471 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; + FE0594A998F5C9FE8C2A11DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + FE069E74A6308FF79DF3DC29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; + FE39247372F71DB8B9D7DDC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; + FE87D270C0095EC7B0FC0F51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; + FE8F197A2BB3631561C8A694 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + FEEE17569A737C486258BC9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + FF46CABD4A7C29380D4CAD26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; + FF68B4C1DF411EED5E88DBAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + FF8A2AE20EED8687EA5D2A00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; + FF8C6075F2D81FC3EF7588FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + C366FD2226833583ECDE68D2 = {isa = PBXGroup; children = ( + 2545022A0EE088A0C46EBD13, + D78365C74082A1253E12AF17, ); name = Source; sourceTree = ""; }; + 24BF2D05D134C386864C4C7D = {isa = PBXGroup; children = ( + C366FD2226833583ECDE68D2, ); name = AudioAppExample; sourceTree = ""; }; + F2E49DBAE98ABA5E5C031BCF = {isa = PBXGroup; children = ( + C2015BA8A41561F8A723C50F, + 9E67899F08C1CB65A37C728F, + ACBD4C9D390EC20E0A37FAD7, + 9169D30719C69B4CF1EB6061, + 10F336062BF70F1171393EA0, + 5AB7146863FE8F4F5AD7A092, ); name = buffers; sourceTree = ""; }; + 20B9CD59936ECA4363FCCCA8 = {isa = PBXGroup; children = ( + 49245E8C5141A64C17209913, + DB353F5970D6CF72284F6794, + 3A0DE69457B7A75B13579949, + 0FB03F29666B9E3588BCA21A, + 283761EE00FC441F1881E282, + EE60FE123A1E8C7ED4EE2C8A, + B343ECF6364A1693C3E86562, + 63E1D500C9E6654A2EA5015B, + 81B5028748B2F81CA1F4F9EC, + 367C43A83F6BBA49141755B7, ); name = midi; sourceTree = ""; }; + 0986D33A60CD7179F02B9913 = {isa = PBXGroup; children = ( + CDD9D8D1D0DEED5F91CD0503, + 4E910C3EE26D3CB30DE64DE4, + F9EDE109342E77467BBB4D13, + 9257CFECF4696048B828768D, + 6F3004F968CFEFA5B776AA32, + 75BAC34D9924B34C89B4D26F, ); name = effects; sourceTree = ""; }; + EFE5C5B22FE69C3D3F927196 = {isa = PBXGroup; children = ( + 2C255E6DCF96BD803B6EA875, + C5ED1DD6D94C2FF75614E4A0, + 0A9D1C8737F68D63574FC517, + 771D65718BE0B30E711461D1, + D045327CC8A3E0C370070496, + 3126074952DF6879C42AF9A0, + 1626D80AAC03E9C00A114311, + 929ED279A30C759680096CD5, + 76A5E0AABE31E9D19F5BBCE2, + 6D1F6926A1A3424AD520AEFA, + A8CEABF70ECF7561C73604C4, + 7395529C7D5D264BCD3702F6, + 6F87BE5F4E3B7265969D48D5, + 5435DECD3AC65DBAC5C2A267, + 0407B0BEDEA7EC85B84197CD, + 163C76000FCA6DEEC7C240EC, ); name = sources; sourceTree = ""; }; + DA41D3DA8DDD60C67A4A2AE9 = {isa = PBXGroup; children = ( + 84C7DA39553A08EB2F357718, + 0AA4DFC6689DAC5C6C6D30B3, ); name = synthesisers; sourceTree = ""; }; + 42D107F741897BBB52B61202 = {isa = PBXGroup; children = ( + F2E49DBAE98ABA5E5C031BCF, + 20B9CD59936ECA4363FCCCA8, + 0986D33A60CD7179F02B9913, + EFE5C5B22FE69C3D3F927196, + DA41D3DA8DDD60C67A4A2AE9, + 02CF5AD726503AFB1193C81E, + 886CA18FAF31B80A3604C5B3, ); name = "juce_audio_basics"; sourceTree = ""; }; + CB1B7A138B91EEBE7BFE8C37 = {isa = PBXGroup; children = ( + ECD6FDB8D99D661E23915E85, + 448B223113A96B6D7C026E0E, + 782C982DE17D3619F58453B3, + 67D198D7BB5C246B87507FFB, + 37DDE4779BEE726B73257328, + B043471A2BE93BA496CA44C9, + 1E02091AE0A7BB79608FCC0D, ); name = "audio_io"; sourceTree = ""; }; + 11FB0A16BC11F8811563E23C = {isa = PBXGroup; children = ( + 0F7E54460D000A212BA37807, + A9B7641B8DC31EB20DA18BB6, + 77C55D5A6C29BB84028BF4C9, + 2F02F02DE72872590941BD0E, + 2296650D710569DE62A1ED84, ); name = "midi_io"; sourceTree = ""; }; + FA179D6940326B16EA8F4EBE = {isa = PBXGroup; children = ( + 550A729142AB16A20BB99123, + 9E8979F0765D76FDC54E0FA3, + 7DDA47BB9CE313C8AE917F40, + FE39247372F71DB8B9D7DDC1, ); name = sources; sourceTree = ""; }; + DB3BC4FF9BBE474A50B1BD39 = {isa = PBXGroup; children = ( + 81C9752ED058D6AAAE40E021, + FF68B4C1DF411EED5E88DBAD, + A9C0D755D2D644AB9B9EE13C, ); name = "audio_cd"; sourceTree = ""; }; + 75059FB5256785C4D9234524 = {isa = PBXGroup; children = ( + 80D99C9EB9437791B2317ED5, + 802E9ACA0F0495F366FD61D5, + FB4B0B7CB3B7693E633DF85D, + A535408525D77AD8CD01315D, + 28E18ED64628E325B734F817, + D5A52E8FCFD2A574B140050F, + 434777F5069C5A1EBFD0ECFB, + C0F2634964D63D63A8A9E892, + B7485EC80869B5EAE869B552, + 0ACC027581F750956F3DBF81, + EC41E20B845B695675761614, + 4302CD9CA740EBE5891DC3BF, + 902E481701585587D0AF4735, + 8A10539F3D428C2836A5178E, + B0F79D18A4A523D01E05A940, + 8B572C8BD4106047C3A46EFF, + 4E81FC636E217976041F8FD0, + 0C28072364B08528A9AD5B85, + A3E8C954C194E24AE1907AE2, ); name = native; sourceTree = ""; }; + C1CFAF0419BB789AA0E38629 = {isa = PBXGroup; children = ( + CB1B7A138B91EEBE7BFE8C37, + 11FB0A16BC11F8811563E23C, + FA179D6940326B16EA8F4EBE, + DB3BC4FF9BBE474A50B1BD39, + 75059FB5256785C4D9234524, + 5AE6D28B2C36587A4F0E9DE3, + 41DC9C31FE8A27E721AC95C6, ); name = "juce_audio_devices"; sourceTree = ""; }; + A829EEC7C9D388964229DE57 = {isa = PBXGroup; children = ( + 3E9355CECB4C063F13CC481F, + 582CAD0FEF6DC8676068004C, + 1176710342A96CE5E736F504, + 0BA2BBE2C12EFD349C06114E, + 9A26AEA080345998826A7F9C, + 76F5916C8F6C275EBBC12901, + E0FBED51F796AF5616D51696, + 4B57EFAB122FF8AD8A15DD4D, + E6538FD6973A159756E2DC91, + 75A55732BFBBC2BAEE28AACF, + 62E68C38E001F2FE60397D3F, + D8C1391D9B2819FC8257719A, + F8A71BF8EF7965A2F9B0E396, + 87068D2C6B2EF98F548312B7, + C945BC507F2AFD320F0FA60D, ); name = format; sourceTree = ""; }; + FA1254B776BFC3471DB96D0E = {isa = PBXGroup; children = ( + 7C47594E189DF41C1A9A697D, + ACE73C5C489D1CF6D4824776, + C95E510FB09338D7BB74781D, + 15BFA127CCD1E5D6F0647773, + C92EDF999BB6D02D070A8A62, + 0A160966A8128AB989F20F56, + 46EC28DEB32461DC57FC8091, + C98ECE4B1357FDC58A90EDBD, + B2D1342CC46A382FEB8043BA, + 789920BB98BF607E690B01BA, + 3210EE9DCE0CBD81D22F13AC, + 727001681CC52AB3D9D0FDA4, + 3B646957B5DAB8CAF910B83C, + 0580BF897CA7540D4B195702, + 506252B820D7D570B2D1928C, + AF1DDB78AF70C25D07D77387, + 881A14535E84A919974D8F84, + D28E2CC83808A521E99BA3C9, ); name = codecs; sourceTree = ""; }; + 2A60CB51A3C591E01CB900F8 = {isa = PBXGroup; children = ( + 0029311BFF31395FD00963CA, + 75AB14C9D97B3563BE688EA8, ); name = sampler; sourceTree = ""; }; + BCC969C3BC478853FD7E336F = {isa = PBXGroup; children = ( + A829EEC7C9D388964229DE57, + FA1254B776BFC3471DB96D0E, + 2A60CB51A3C591E01CB900F8, + 5BE6EA9AF8FB65EE6C5A2DDE, + B28EBA2EDF0E543EA1ED374B, ); name = "juce_audio_formats"; sourceTree = ""; }; + F94E85FEB3110173DE42317B = {isa = PBXGroup; children = ( + E9AFEB90653FD6CBE935D29D, + C771A511AA82C6C652D4FC70, + 7F5C171BA5EA9E83295B7498, + 8D57F62E9C62502D6C8762D5, + 13BE8F3EF3319E21ADCF67CE, + DCCDC8D852E777EF63078AE1, + 5CCF73F6CF5A9AF81DF09B12, + 421D944B78CB2925F3073FBC, + A594E86AD063F609FCD9888C, + 3ACBB7FEA688DB5A3B3C81DA, + 6A1102C4FB362652CB575CC2, + 948DDA1658E532819DC1CFC2, + 2A35B8768F9F47F2F4AE5223, + 94FAAA6CF20DF5854F277026, ); name = processors; sourceTree = ""; }; + 9EEB441FDDAE7DD5F3E24041 = {isa = PBXGroup; children = ( + 21ED255865DBE1B9B27CE0CE, + A9B5EEEAFA441F850358281B, + BC77947BDED20C022DE3D8B8, + D45FA51540441FC7D57E016A, ); name = format; sourceTree = ""; }; + 2897EA058D69BF9B0C8A446D = {isa = PBXGroup; children = ( + 7FCEC7C5C54AB90A7709406F, + B905BFB6C174B284D84339A2, + 973257D8FB62DAE78ACE85DD, + 37737A4FE37D244DCF36F8AE, + 040F3CA16CF425185E82976D, + 6C32FCD6B87189C1F43BD462, + DB6C3F30A7B477AA3A695B2D, + 6D869E6ED7DF080A9FAF162C, + 6C4F8F17F78FE9C8B45941D3, + DD7C6F9CAF5CBA11B6024A83, + 5374AB638100ED67F198E888, ); name = "format_types"; sourceTree = ""; }; + 83B7987F50AC8F2EE5E1C2A0 = {isa = PBXGroup; children = ( + 1B92C858971081339CAC889E, + FE004044BFD20BEA4153C471, + DC63BD4245A44AA0E41382E0, + 3FCCA7A2BBAC3F32C28A41CC, + 31BC85796D2F77677D4977C8, + 713E158BCFD9D0B61AB3DF2E, ); name = scanning; sourceTree = ""; }; + 0F1330B9E634C8C1D2A19EAD = {isa = PBXGroup; children = ( + F94E85FEB3110173DE42317B, + 9EEB441FDDAE7DD5F3E24041, + 2897EA058D69BF9B0C8A446D, + 83B7987F50AC8F2EE5E1C2A0, + 30E959B23AA2EBA0CB11D121, + 5E151D89199CE9D3E7C3F0B8, ); name = "juce_audio_processors"; sourceTree = ""; }; + 785AC00FC0793B0127274AAB = {isa = PBXGroup; children = ( + 9CC7A321D4B4323FF06A03B9, + 6D9E97482246DAD163EE58DB, + 97F0F9EB4F3131BE9C4684D9, + 56BBB410F5117805919652E9, + ACD7AEECAD82866A14BB111E, + 5FEF4DC42947B82D016071A5, + ABC57D52DD141A202B145B54, + 67D88DDD18716C1D7AC783EE, + A0B6BA5149627A02342A1691, + BACFDC91EDA31FACCF2B15DA, + 0E8660300B58F0FF90907C93, ); name = gui; sourceTree = ""; }; + 7B29609B00A97DB47552F081 = {isa = PBXGroup; children = ( + 4DA82F4EA6B042B411DB20A7, + 59D6E450E7823A809631B85A, ); name = players; sourceTree = ""; }; + DCA2C59535A97CCC2E7E5D5B = {isa = PBXGroup; children = ( + 785AC00FC0793B0127274AAB, + 7B29609B00A97DB47552F081, + B896CB8307AD3EC317794847, + 5736EEAD19F704D8BC0D63CB, ); name = "juce_audio_utils"; sourceTree = ""; }; + D4AD8131D5DDC542D8D8462D = {isa = PBXGroup; children = ( + 70A73FAF31B05C5DA4CE35AB, + 2763141DB90EDEB924F549B9, + 6E12A19A4995DE066C7130B1, + 697A591A67A38D7807665407, + 16C249B2489B726FA38EB40C, + E6FD0E2AE90C1053B736D210, + 7E787DB76F02DE3326E608A9, + 3F76E39F5ED6016AE007D846, + C3DE0ED05484B10615E59191, + DAFB41CC5DFEED6280C3D776, + 4046F9FFC62FE0E597136A28, + 7DBFDC2DAFD57DF638D745E1, + 69279A43C4E5EFCD851E6E2B, + 76F267A1568C2CAA1BBC3B5B, + CF01DB44007FF6940848C91A, + 719100C7D7C3AD37528165B6, + 6791A6621D6D8937D8BB3418, + A9E6F251933166D931848C0A, + ABB6B2384A0390705A173633, + 40046E402D3BB5D37AA9DC07, + FDC2F46EDF05732F05628411, + 379CFA695DBA290674B9466F, ); name = text; sourceTree = ""; }; + 66CEC72801EF9BE77D39B19F = {isa = PBXGroup; children = ( + 52D2F52B7284090A8CC4F18E, + 449F72688745585AEC908DE3, + 8D263509D4EB25038163FB5D, + 15C4E5B79331FFEF10E553D5, + 59F516B1F82F487ED0B8A08C, + 5CC1850C4E76C0825DF9F9A2, + 1399DD492AC9998A6513E251, + A311FDC490ED65A08E3B8B61, + E88B889CB23D7A61B31FA1E9, ); name = maths; sourceTree = ""; }; + 9C56D83D3BDD05DEF239F71C = {isa = PBXGroup; children = ( + FE069E74A6308FF79DF3DC29, + 2651FD678A14B0751CB5D020, + 92A68AA34859E8DDC511D21F, + 53C3C3F56CEF7ED61F8451E2, + A3A119C6E5ACA90C03A77A04, + 8292A39754EAA00C8AA376B0, + 12D1ED411A617AB55887F19D, + 75C69A20FBFD837BC86D860D, + B06BCB5D9CE908831C7E81D0, + B05B1D7ACE1C33319A87328A, + 408AA1123D7BFE64D870013F, + F1666DBF5DC7FF6B94C0F0FF, + 7C3E3ACE7E74B1ED0C3BE343, + 3B39B66B640766E9B90E3046, ); name = memory; sourceTree = ""; }; + 7F38B22DBF6D9255AD0FF626 = {isa = PBXGroup; children = ( + 12ED2DA2996DEFA911F07ECF, + 303FE5650303C9D52133FDB9, + 7A7925B71E4B01A22C6E7453, + B8DE8BB323D2F1889BD7CF8E, + C22ABECEBF209672CC22F38D, + 856659253CBF8304601F4FBA, + E858258484916776F887FCDF, + 2BF48C4EED551C019F3D293D, + 296031FF025F31DCE8472A08, + 1C88AFF1BEE2BBD2646C3FE0, + 1F9C7404B23AF0D8456ED1AD, + 60B660A81EF1085EAD5184A8, + 51FA79658840D67F6DFB9C0C, + 169BA47FE95B0EFE39A1FACE, + 7664ED4E8E9E543AB1ED72E7, + 1FC260D4C2C8EC0D1C46B882, + 592858CDDEB9B1CF44D0CA28, + B54E4A120CB79F8BB5BCA1E8, + 25131D3A8F8DDF0094192DCA, + CBB3BF85622B9B875544C558, ); name = containers; sourceTree = ""; }; + 0AB06DB5C2631EB668C528A2 = {isa = PBXGroup; children = ( + D817A6C2192C3954C8B63045, + 9E008BCB36772AA2445607FC, + 118739F5BBF8A273FDF45CFD, + 0197C4DD5E7ACE14FF668D62, + 9BF096AEDF125991249E696E, + C40EB67E7237BE2217C1E7A5, + 81505916961455538E9B1A7B, + 698E098BB958CC4719E2166E, + BA724CE76B93BA0DF39FCC6F, + 5CBF59C67F30E77F408EF2A3, + 45A893DD2D553ED62C5B4D63, + E22ADD78D920B09EECA708B3, + 8002BEBD6AD4EE01900CE16A, + 3E1891F87C00044C1C482137, + EE026B40E1115ED7C21FF7D5, + 9A54516E1DBD569C24F521F8, + B595F0B82E93560FC2CE5EAF, + 7851D44D38C6B206AD0134D2, + D34801677A2E2B17CD6CF93A, + 60D5DF22E19891DE5F69CC8E, + 188F0A8D1EEC0AC08485B32D, + 3737DB5B70CB03EB340745EA, ); name = threads; sourceTree = ""; }; + 403635C774A6BBC0F6980B64 = {isa = PBXGroup; children = ( + D46770CDA754135BF9471DF2, + AFD134A52E53280F52870EF7, + DB3F9BFDECB17176CD53C029, + 248D8296344CFAC3E6CA732E, + 9521308539218CF751ED1B1D, + A8452D6DA370E42EF91F1555, ); name = time; sourceTree = ""; }; + BC7512A77A4AB71F889C67BE = {isa = PBXGroup; children = ( + 8BA6EF260D361C1FC16E338E, + 873BD4265902B4FB6CC3A0A6, + 6613704E18148830091DF585, + 7E60DC744D035292F8A7BB97, + 9214DF8A087BB905EEB1017B, + F90C21F489684D23EDD78BCE, + EAAA2AC12D38A7162C99E24B, + EE873579BB45504067BDD773, + 0042600B8ACF3532B5AE4839, + 8C55F3C3E8ADABF3E2B72A12, + BF0600EC50B69C509612CCB3, + E9294BBF9D2B39F77DCF5145, + 598DCC346E8045B4A1221B0F, + 13254A553A9B8E5F5DB682E6, + 324E57D5C6BA8C19535791A9, + DB7A3C83FB705898F07C13A3, + 713CEFF3ECB6CB4EB74D2324, ); name = files; sourceTree = ""; }; + 8BBFA220942050CA89C4222B = {isa = PBXGroup; children = ( + 51BE027208C01296F2E76054, + 74D736A2BED0751C2A3C1BFE, + 1FA8CE4825B48E4FECCD1FEA, + 3514CF0F5CB28BBD688539B4, + 2A48FAEC948B121B6EB34631, + 0FEA2018033238F713A9933D, + 13A8EAABA98838BC051D7ECD, + 1F293903C761D909018FDD67, + 0A4F90598876FBE7A67A13D0, + B59C7AFE7DA427E795F736CE, ); name = network; sourceTree = ""; }; + 50B1E864B2356E8572B9A62F = {isa = PBXGroup; children = ( + 490FFC3A7899AA8FBE8E2D0E, + E0EEC67C10363E4FB3C0B956, + BC4C2690333D8622D054E99A, + 083D342FECE0C296374EF291, + 2289F6AE28B501127D381EEC, + 422EAE67E128C8295A23F6A0, + 3B3AB4E5CE405BF348F634C8, + BDA38AB61C19E4924549ABD1, + 1FF55E3BBA8A22620289A59E, + F06CE10515F49B1DC5E87353, + D56D6ADB264AC3107EE2D5C8, + 58A314392D34735350431602, + DA0DD5BF97E3F28C9CCA4A74, + D1504817660ECE621AAA066F, + FB21D85F25FF7C468331BAEC, ); name = streams; sourceTree = ""; }; + 401A32949AE4A75BF94D58BF = {isa = PBXGroup; children = ( + A3C671FCF17ED732E654C652, + BEF6E9C8B9FE65A89F84DD3E, + C3429B905F1744303CAE83AD, + 87E0E3F42A5E6C795C3769FC, ); name = logging; sourceTree = ""; }; + 8C087A97055FFF267ADC28DA = {isa = PBXGroup; children = ( + D26A4E01842FF08AAA34B9D7, + D583ED6D9DF5CADB3AE660C8, + C35667BD04402DF29D3FEF8F, + 94EA75B72A8361A33A498EDB, + D1A83AA1BCDB061B528DB415, + 820C05ED738EB5A0B1D48AD3, ); name = system; sourceTree = ""; }; + 03A962E8ACDBD0C24CD014AB = {isa = PBXGroup; children = ( + B5CA0C1C957C04A44E778E85, + 10CCA4154B34E2601DF7E36C, + DFD0AFFFEC046CBD6E837825, + 1501B794994314589934734A, ); name = xml; sourceTree = ""; }; + 1F04306E8F4BD6AA8AFA3185 = {isa = PBXGroup; children = ( + 0D136F19DF81AFE8C90A0F01, + 94F37F7C1FF260E499DF95CB, + 68626EA8EFEFB457495DFC58, + 00F0299DB6F4889526D7C5F0, ); name = javascript; sourceTree = ""; }; + EB6A51E5AA5A5C974F82075F = {isa = PBXGroup; children = ( + 363345C2BB552CE31BFAB6D2, + 740B836DA87A1C70DD06D1C5, + 16138611E29922ACCDB8DF97, + 4D8CBFA4ADFA41465A97C072, + 07721876CC21C0DBD17D00EE, + 6B2C313C20885C7B75D40ED2, ); name = zip; sourceTree = ""; }; + D31BDA28674C941530C73CA9 = {isa = PBXGroup; children = ( + A833D4B8902DBEF7D8B32E50, + 9D12A31934633A579D324B96, ); name = "unit_tests"; sourceTree = ""; }; + C9B1F8F814FE5B552A67C83D = {isa = PBXGroup; children = ( + C0813C1842A72A80AEBC8D3B, + 54905E0DBD3DFC08980F0635, + 3E87A40BAA207A6F8491BE60, + 3BF749BD7341CB6B695403F2, + 38628669BA3E9CF7E2DFED16, ); name = misc; sourceTree = ""; }; + D9B6523138F19B60DEABC1CA = {isa = PBXGroup; children = ( + 35C33DF203333BE87587F1BC, + 60E06352A02CFAEE12295CDA, + 1F0ADEAEB1F4BFFDF96597D6, + 722A961347F2FBFBADD22E88, + DA3C59A6D8FE2E93EF171A41, + 8BFB376F26710685A2BFDE62, + CBF985C3779D9B0BFE5F15D3, + 3FFFC28C52CE08D5DA7588AF, + 24B8757907ECF54548F90F08, + 81E9F11630D26DFBD0A93618, + 040EAFDEB6C10752F3E53440, + 2CD02E712AFC2633AE66F876, + 9D6101186894D8F444AE1162, + E192C84132D30E43D30666A7, + 949FE95B13456FDD83BC4719, + B04E7F101D9B104C6E4F180D, + 0CDECC23B99E40DB6BD73FD9, + 71C44B75937129DA6001F9CF, + 0B17C68C630608414339685D, + A1EFE173102C316855A3E277, + 6295F7DF5F087D52FD31265A, + BA4268340FC48F04264E4992, + A59C4B4BAC10B374D8CD17C3, + DA366F25CE709950B866C7D9, + 1B6E61F45C2F5E81914A71A7, + F0776755F05C2BF5C7AF4FDC, ); name = native; sourceTree = ""; }; + 134363737026CC80D69F48A5 = {isa = PBXGroup; children = ( + D4AD8131D5DDC542D8D8462D, + 66CEC72801EF9BE77D39B19F, + 9C56D83D3BDD05DEF239F71C, + 7F38B22DBF6D9255AD0FF626, + 0AB06DB5C2631EB668C528A2, + 403635C774A6BBC0F6980B64, + BC7512A77A4AB71F889C67BE, + 8BBFA220942050CA89C4222B, + 50B1E864B2356E8572B9A62F, + 401A32949AE4A75BF94D58BF, + 8C087A97055FFF267ADC28DA, + 03A962E8ACDBD0C24CD014AB, + 1F04306E8F4BD6AA8AFA3185, + EB6A51E5AA5A5C974F82075F, + D31BDA28674C941530C73CA9, + C9B1F8F814FE5B552A67C83D, + D9B6523138F19B60DEABC1CA, + 3CD98742CA1919AEE3F9D9BC, + FBABB528D9CB9FCA127D3702, ); name = "juce_core"; sourceTree = ""; }; + D7FE02721660A0F1ADDE0BED = {isa = PBXGroup; children = ( + 844235B2D29429BEF2F7D184, + CCD10DDE00405843C68CD278, + 46AE290C54ECEFF69D62C0A6, + 4F613FCE6F5079EBF19A2489, + A9AE20E7B5E5A3B47C18EC11, + 90ACD3C39C69C46B567D1DAE, ); name = encryption; sourceTree = ""; }; + 12A6E418E243AFC94B96A6E1 = {isa = PBXGroup; children = ( + E6096A408885ECA69BCB15E5, + 553AE1A4613ACE6750798D0A, + 3F2852F4D9EA9C67864288FE, + B9425E1F94E5E6337E390B9C, ); name = hashing; sourceTree = ""; }; + 367D3E7B1A3582D5693B9FC3 = {isa = PBXGroup; children = ( + D7FE02721660A0F1ADDE0BED, + 12A6E418E243AFC94B96A6E1, + 6BAD62D1E379BB05328C035D, + 8563FE036E562AD98EAF4FE1, ); name = "juce_cryptography"; sourceTree = ""; }; + 1DD90061ACEAF4356BC3D3CE = {isa = PBXGroup; children = ( + DC0D7D089158296DF472F703, + 41066A9B2DA06A8A42EB2302, + CB0B2A556417D63523EA8C83, + AFA2ACD68CD580639886A60B, ); name = values; sourceTree = ""; }; + C283CAA3B222E566D9C79EC2 = {isa = PBXGroup; children = ( + BBA6F050F86F5DC509CBB4B1, + 737DE6483F59E9AAE31B8568, + DB597523D1985EA60A403B94, ); name = undomanager; sourceTree = ""; }; + 723121B288F8EB847FF98DE0 = {isa = PBXGroup; children = ( + F77BDA821AFA286E0B7CA733, + A47A4A946381F45AE898A70D, + FA01A4ACD8E51ECC2D1C1B63, + 322590D8C7EE4F273C28A081, ); name = "app_properties"; sourceTree = ""; }; + 6BF9D16DF121408ADF8D243D = {isa = PBXGroup; children = ( + 1DD90061ACEAF4356BC3D3CE, + C283CAA3B222E566D9C79EC2, + 723121B288F8EB847FF98DE0, + E89A3BC0B3BD6CCAEE267855, + A943021729B460E5CF76D54A, ); name = "juce_data_structures"; sourceTree = ""; }; + 017E9B99D428699F1C6D5087 = {isa = PBXGroup; children = ( + 3CEE794B62AEDD6CD0650F0B, + 427F2DF6378E91A673BD5805, + A64E0921A828155BF1F5455C, + AF3E236113F3DADC4F2D59D5, + A08FAB7BE9C27D36087D4B45, + A18B835EB367E1D27693517D, + 3655B7B8C77849CD422BE014, + 25A32EA2B5B35D951633212E, + 89163E9DB0626DF42D686130, + 37AC07521C58A8D0AB468D4F, + AB8486AC595BB23DB29EDE78, + 44D12A261F14400C108FE695, + 546E1DA09F73BB6E17FD63CB, ); name = messages; sourceTree = ""; }; + 39D10AF212D901043F60E411 = {isa = PBXGroup; children = ( + 01065486D2E254D02B75509F, + 4A4D808E73E64EAC75888392, + 2CA8A8FEF881E1400CE33991, + 1DA9D191A3312AAF11810745, ); name = timers; sourceTree = ""; }; + FA63A4FEAF47A149B05B2D7B = {isa = PBXGroup; children = ( + 9B28308E02810E07AA5D9FA7, + E42E9716C4B77E32053284A9, + 0B8CE7C2918A2BC3C86E3CF9, + A6810E5A98CB9E4244EE6361, + 153310BD8726D691D726CEAC, + 7B2895D4FB86B3B075610B53, + A9E584C98134D88F8317056E, + 80CC6E5181AE8A06FAF7792A, + 8C6C4C23D1B376C95C2B5F7F, ); name = broadcasters; sourceTree = ""; }; + 5F95B461A46B124271F4D4C2 = {isa = PBXGroup; children = ( + E2B8FC5BD4B67250BA9335A1, + 8A66BE4644118DEB1EC06A19, + 1615E143D724EC65E5528B78, + AE88491D97D08B1215C182B5, + E663E110A4BE0E43ADCC7ADB, + 72FDA2118BBEAF1B8AAB2D74, ); name = interprocess; sourceTree = ""; }; + 259A4043A2C33A2F7542D782 = {isa = PBXGroup; children = ( + A6A6BF31BD4CE0ED3B3B472E, + FE0594A998F5C9FE8C2A11DC, + 87B85E49FC448CEE97FCE14E, + D74826F0CFF78A5C10D954C3, + 7C1FABF9A21D7211D6E1420D, + 79703B85F426FD4DF5C0AC42, + F8412676F1B3EAF03D7928FD, + C86F3258822428DB91009687, ); name = native; sourceTree = ""; }; + FB86CB37A490EC9DB740D91C = {isa = PBXGroup; children = ( + 017E9B99D428699F1C6D5087, + 39D10AF212D901043F60E411, + FA63A4FEAF47A149B05B2D7B, + 5F95B461A46B124271F4D4C2, + 259A4043A2C33A2F7542D782, + 641CEAEA5DDBA04D348E3E58, + 5765E0F55ADB4319F0F896D3, ); name = "juce_events"; sourceTree = ""; }; + E969A83F4C0CF83A078F47F3 = {isa = PBXGroup; children = ( + D8A9DA040BE1279C9863B422, + B5FF1E4CC8E4177744F0833D, + 319336062D169304F2BEDDD2, + 4AB25C5BAD57250C530830AF, + 2706BDD74A8ED307B92B9BFD, + C9580CA9036A8E4144BFB904, + DC52C218059FD576DD0937FE, + A0A94042C6D636512C7A41EB, + 958E73D19425EE81B17EA8CD, ); name = colour; sourceTree = ""; }; + B886B1B89D7773E4E0B443C0 = {isa = PBXGroup; children = ( + 31C5DA5DD3FE3C167B4C6527, + 0D748BB96C09FA6846E28D1A, + 66FB9E52B611D5E118CED62D, + 8A9EF3F9FEE1D45AF1EB7D41, + 1FBB32224251DCA53E9CE4A5, + C119EC562AC9BCE4E6B61067, + 3A22AD6926B2CC42F4E5988C, ); name = contexts; sourceTree = ""; }; + F309B3269E76DE120143DD91 = {isa = PBXGroup; children = ( + BDC870E69E95845672295AB9, + 359E9C5EB887770E3AA46B95, + 01490B3A4FE0E7503EF78A59, + FDA2E20181EEDFABEE8CACCC, + F5158122AABF8E950827F2CB, + AC8848FA6745CDFDFAF2F927, + 0C211C03FF27A92ADC7706A6, + DBEE524633668464C9593EE8, ); name = images; sourceTree = ""; }; + F59D71157F4D41C4D4816141 = {isa = PBXGroup; children = ( + DD970DAD7E15CD399583110F, + 93B34B16D67C27ADD795D346, + 9A123AE56C9C5AE3BE0E2800, ); name = "image_formats"; sourceTree = ""; }; + 6E98284B2337B8ACB6DB657C = {isa = PBXGroup; children = ( + 0687C181905F8F3CE2CD9B8E, + 14D79056503073B08ACAA92E, + 55CFA008C55F190872354FF5, + AF36619C034B0D33F93CB70A, + 2C5BAB180C4B0F64A76D265C, + BCDA77D2C1C152DA77B2558F, + 8A94F716483CAA5DBF139053, + E063AB1C1700670E900C28AA, + 121B842EB5C66CD392D7673F, + FDD141E4E766AED3F01003B5, + 9E7E1945498A6BC57A2768EF, + EF8B1B7A2AB1498859BCF0B7, + D7ADC23EB8DDCAA960EE5745, + E952B3E43DFEDB951B0CA41A, + E43C13DD0E648037E8DAB7F6, ); name = geometry; sourceTree = ""; }; + 2E6FA1D06FBF4A4F13B37ACE = {isa = PBXGroup; children = ( + E238C3F270655B4324101263, + 2C9F5746F9D3DEA41F12FE58, + D57B55B2B9CE6B6D9D6EFFCE, ); name = placement; sourceTree = ""; }; + 6018A5E91B7A26DA24103F9F = {isa = PBXGroup; children = ( + 33FEAF50967CEB5800BF72BE, + 88F756FE30BD5DEA47C1725D, + 83F1B63878AD351B064B301B, + 6D275948B4E4F4B5A5390798, + 1A2E38E8795FD19F801DF103, + 87766D3A5FC3CB4ABB3D6ED0, + C4F92727F81156801D2F61E7, + D45B9852EE24763DB29A07CB, + 1C50B35A818EC78F8FF81815, + 7FC679066DAC1C23188A46ED, + 766259EB7D04DF87556127C0, + 1D904F5F3F9ABF88E0D4385D, ); name = fonts; sourceTree = ""; }; + AD6C56A11E3F985F7C7AA351 = {isa = PBXGroup; children = ( + EB1D64642D7FA904D675770E, + 503351935DD85F70D491ED2A, + 31FE14F48D2E4827337F3C65, + 98DFC6A85CB893442E014D84, + D5E118687F94A7A960E7EC71, ); name = effects; sourceTree = ""; }; + 44131CDF742706D6C0E9EC66 = {isa = PBXGroup; children = ( + BF44CE913E3ABC7CBD3A7005, + 613B39307B80D6D9C4D62739, + C03B12980850005B9ECF2E17, + 570E0E900CD46076476337A8, + 1AA843725F045F4E0857830A, + CD10CB521F53F36674738E3F, + 48AEBE2829B0A312E3B598BA, + 54CAC1382C1237BFA1B4D877, + 24F0BB17E458EBEC96E7360C, + 67CC682EE03AA0B82CCE2C2C, + 4A44D8CE1E8F932AD7F6E5A3, + 5B267B0B84A4AE272AAD58A4, + EF14BD536F709B7D6B9F68F4, ); name = native; sourceTree = ""; }; + F7DD1006ED325822934CE941 = {isa = PBXGroup; children = ( + E969A83F4C0CF83A078F47F3, + B886B1B89D7773E4E0B443C0, + F309B3269E76DE120143DD91, + F59D71157F4D41C4D4816141, + 6E98284B2337B8ACB6DB657C, + 2E6FA1D06FBF4A4F13B37ACE, + 6018A5E91B7A26DA24103F9F, + AD6C56A11E3F985F7C7AA351, + 44131CDF742706D6C0E9EC66, + A7FC8A80F3BF7EDCBB40DBAF, + 9F0363632194A6415E392DE8, ); name = "juce_graphics"; sourceTree = ""; }; + 2F1041C065A0A50307F614ED = {isa = PBXGroup; children = ( + 3E8AACC53630A2225F4C5486, + F84DED97A83644758D30181D, + BF63AD2390FFED75EECD4FAB, + 554835604BAE08C82511706E, + 047A715B70BDCE0605F0CB1A, + 3DF61BB51C4F45E8E7399BBE, + 7354BFA17F9565BE32B449D0, + 7D75EB56FF74B25CAC8B3B56, + 5A707B988D57A28536A6E62E, ); name = components; sourceTree = ""; }; + 1F27292979CA7D0A6E999F3D = {isa = PBXGroup; children = ( + 68CE13A021B91CD24AB856E1, + AF3F2DA7FA59ACA4E789A401, + DAD5AF16CB91B3134BFDBA0D, + 2FDFCD44816447805FD012DC, + C4A9D089AA401E6F8244181C, + E9CE9F9373D3557656DFD116, + EF9C89B3C7A5808769ADFD76, + 2E3E5BB82FD2A9A582FD7E5E, + 7287E94D566F0CCB336585D6, + AAC4E65438260939D18D3F40, + 6D749A9561547CBF4C9D55FD, + E97F0C403AFAF4820EDB55F8, + 7FEE5FBF562E44ADD32CAFAC, + 1800F7D6AC6CB08DDE716CFF, + 130B30A89F8EB787CA96BD73, + 16A5D3C51A676B5EB96B07FC, + 9DC7E8A153861BEC0C8205A0, + A3784CA5E1195E1792E617F6, + 2CBB52A96FFA3344C137AFB1, + 8DC66AE55D8DDC757FEFC35D, ); name = mouse; sourceTree = ""; }; + 88897071E8E741ABDB94C057 = {isa = PBXGroup; children = ( + 221859580563CB895AAB6167, + 9E20217FB413D60F83A931AD, + D7E99FDE83844ECAA502376A, + 3E9420908A60B009C762593A, + 804EF2A74F928AE02E380D38, + 6173081C862DEC593FC80E05, + 41D8E7CFFC16D293F934DB74, + 28B97FFBC14A808881547FA7, + 1BF56B39CCF7CBAEF9BB9A84, + 4378029B012345D856709C2E, + 19FE66760D46BF77905C3B48, + 661F33F1EB949D590090D53E, + 1DA8B8E25372E8F00080877B, ); name = keyboard; sourceTree = ""; }; + B1F5418A24C949EF1EDCC5CC = {isa = PBXGroup; children = ( + BADB10DBDB2B94E03AF14B91, + F4DD9A24D4B78E8DA2558487, + 06745837B0C272B8686ACF30, + 422E3CE271E2064729DA6F46, + A4371BEE6FAA21EAD5E50D9C, + C772B460012E89562C4D93D7, + C02300F6DDD1A5D705603B0F, + 2CB8EA303EA9DDA6A788E09C, + 949131E58393C7020549AA11, + 8A5772ED4AE108BB21D97514, + 8930689A13E07781BE58FA24, + 9A577EF18204B6FE35D227B0, + 4CA0D374BA396AC331C7657E, + CF746C34F8DB1B073F1A4FA0, + 607D538C599F10798C3399E0, + C5CAA1141DB6800E4CE2CF51, + E7CF28977428BDE6A175943C, + E55C6DF8352F3FBE56499775, + 4CA0CF8181B0B7321AC02F44, + E5753506CDDFF88D638975ED, + 8A1FB5D85766EE499267EFCC, + A6D365F17431ED5DE20C31C6, + EED45AF0FE17F2782911D0AE, + 1A4FF248A625623F2AB5B78A, + 664D7BAD62148780288B4904, + AF601ABA3B20D0E5999328C7, + 360140E521BFFBEAE167DE5F, ); name = widgets; sourceTree = ""; }; + 20C66850D35C2F7AADD7EA64 = {isa = PBXGroup; children = ( + A1CC4DCD28D612221D9B445C, + C7ED330EB140FCC0B096E2E9, + DDB141526302B59595C3A584, + 5A1ECBE0BEAF6C2B976EE813, + 5C00F2B0503A9B4774455977, + AA78AF689E1B8E9B48B6E271, + 08CC510A823DA8A188233FB2, + 14E46E9101177690C481518A, + 3BE93702701665C1CF0D71F4, + DAF2DC4885AA5A5263A16E94, + B27AB74B32E014257ACF7EC5, + 46EE36AEA94A83975A5C36C3, + 602F2E014E4796C2DA29CDB3, + 577824246C165D84AA378BE0, + 20B1A2291D2367A6CE6A98E0, + 3FE3BB22E6A6B04200358D89, + 48348E65A2D505CD55F894CC, + 34D0CAA3AE118782B1D85410, + BFB539E4567CACD9D0DE55E5, ); name = windows; sourceTree = ""; }; + F30B7D8CE97DE5606AE6DC8E = {isa = PBXGroup; children = ( + 098EE470BA8744AD218E09F7, + 41004038C181AC5C8CDDD02D, + F950431A9C0864A8EADF9996, + 26B0149626A30EF364609DDD, + EDE49EEE9EF8B5202426D948, + 32AA8C09B7A39118E3A4BFA6, ); name = menus; sourceTree = ""; }; + 4C272B3754B014AC08B0E033 = {isa = PBXGroup; children = ( + 6B526A365078C24900C821B5, + 24D34491A75D9158E571CE95, + B0C8BABB5E59C2F7FAA37689, + FC9E35A083FC90411722B192, + C08F4E167F53BD59708ABC46, + B35E6FA7FA077CB7887CB7EC, + A16CAFD9F29F03D5A11457FD, + 26A7E3CEB56737AB4E725BE9, + 6877464D85600AAC5F84F063, + A6E737E1560A81E5A45DD9BC, + 948076D06B104682079290E5, + 705D210EADDE876947060561, + 4DC09FE2D606F3346B269F47, + E03B0CE2DF954597EDE01376, + 64E7DC1B23F237CD9F141439, + 1FA16B4D97401423966B4183, + 0B35461B91EE6372D40C26E0, + 778A0345A4F0B08ABA3ED5F1, + 55AD9D2F0D75B19660C948C1, + 8B01626CE8C886F18BEC9178, + F940D16031F521E526383AFC, + 3E71B82FA28ADE017FF7C836, + 433F5E9D26E0EDD4B309A0C0, + C5F3D1E74B44903AAC0126D1, + 93C5ACD4E394109C97132641, + E7B5CA1BD06F33C213FAA37D, + 6F689AC4B401D474507500C1, + 06027E788981B5B21E48EDEA, + 624D83262AB7BACCD81A4B50, + FAF3143A9CAF9ECAF81AB3D9, + 3B52D9CB9D7135AD2F240CE0, + BD818EEF611179A02E2667BF, + 1246B7FA44AABAA2D9D19B7D, + B87C42BDAE89E73E982EF85C, + FF46CABD4A7C29380D4CAD26, + 03B8A6359E4DD6796B9F7840, ); name = layout; sourceTree = ""; }; + A0A794A5F17590D11359544E = {isa = PBXGroup; children = ( + DB1613193F82A43CE17AAF88, + B50129FF78D1FCC64DB4D51E, + CDEFD12DAEF30B7A13DFF8F5, + FF8A2AE20EED8687EA5D2A00, + 7F9D7EC0BE80A6DA54A9805D, + C1E4AD74F8C069DBFBA4E782, + FE8F197A2BB3631561C8A694, + 2D8585823D0A4210D1B161DD, + 72DA84A591B2827C323332B3, + F43D110150D84A1CF0B65F0E, + C56587798EDC116C137A1DF5, + B98D12869BACB1D0ECB4EE95, + 32043671A35DA448332B557F, + C33A6A02E9F92ABA9618DD67, + 095864129E8B873229076D4F, + C4F60DBF5BC6169F4B7357A6, + 1AB3BEE546811801C8D4C377, + EC443EF07555D528F21945DF, ); name = buttons; sourceTree = ""; }; + 0CE1F0AC5B7735D5C59D065E = {isa = PBXGroup; children = ( + 1C95AB2B2812BD8960870603, + E0026785667979561D036936, + 2B56C4638018F72794BEADC8, + 8E6345C2A24786DB002C85A0, + D73A06F366784CFAA87B7BEE, + 053462A035FADA4FDCE2A8D0, + 45CAA0CEA9DA2B4F3AF549FC, + 0CB6B999BF9DBA9D0F586C6F, + 49811A30680D278DA9591BE5, + 41FDE3C3197B773438925736, + DF0EBC428D40282CD24D2015, + B7C588B87E09F887C6CB73C0, + 06577256ACDA6ECA2DF0AE84, + E889D7DD7AC4FCA48517B2E8, ); name = positioning; sourceTree = ""; }; + 1011BBE9304BAFF95A476125 = {isa = PBXGroup; children = ( + B5CF56ECED7AB7108C7FA24A, + EC7A2DEE957A2B375201FC12, + B0FFC533F760AED1CE7B2BC2, + 8AD5C1E90DE18441407D769D, + D396F2D0FF34CC5C59FA3DC1, + 862FE36C50506109E33D6E88, + 2B4A4D4411B9314CEEE873F2, + 6E99388FCA0417BCE813EAE0, + 64515D56E168E26DE6679FF2, + B663B0FD7F2FEDCE59A40373, + 9708B38E625B426432C46439, + D3AE4AEF45E4694F90FA90BF, + A9C31C52F36697E74384B83A, + BA27FD5D74A9F7C7D0660EEC, + 070AE2690CA06010BDBB4644, ); name = drawables; sourceTree = ""; }; + 7B851D47EEB0A51D2C32C5FB = {isa = PBXGroup; children = ( + 1FB5E4B9CC25B15D872DDAF8, + 762FD953C2BB53F5DC9CD403, + 9A07C2A820D1A4D1C5429E6F, + 84030B3A2263DEAB1A2EC8CF, + 08BA9BF25A4A247BAEFA7C7B, + 44AF43F408DE59FEC7FC87C1, + A516757003C57D4D3E5C637A, + 8CC6758FB15124F3CF345CA0, + 4BB76738C3C05043BFDE3507, + 6E0D954E48998693A587F2DE, + 04CF614E82E5E0D67952963A, + BB3DB74A8843A5C315854394, + 5546974D4F68A427792B725E, + 3CAB0402E5EDD5A25D4DE907, ); name = properties; sourceTree = ""; }; + 43B0193D1C7DEF84D41B69A4 = {isa = PBXGroup; children = ( + 202FBA54BE113F8E12628DF3, + F93E820028869AA360740BE2, + A3D1C2B1D20BB35EABEF5D56, + C807A91F69CF02432499E1E1, + CAAD0D8023B1EE063FE7B3BB, + 7DCF0A2E89D3CC5C976411D9, + 06F692C85C20B60877A3E153, + CA3E9C9CE9CA59B370A81095, ); name = lookandfeel; sourceTree = ""; }; + FC94936E6781852E6A5F5AAF = {isa = PBXGroup; children = ( + AA2C868E050557A1CCEFB5AA, + 0333EF5021D4B11D0567EDE9, + FB9D900CA19E8894F1F05F4E, + 46844E11FFE3314B7A4D1182, + 65B8AFC880FE18CAD80D0C4F, + 12ECDE0E70945E79B3C6FADF, + 25D592FB01574ECBD7AB256A, + C81CCF965B4C7E21308B305C, + 0EC0E5FB195BD2DCCE4FE103, + 4E54EF00533AF35ACE6EE0D2, + BE187CBB955859129715DCEE, + 6F681F8D57B92084BD4DC38F, + 9B47191752AD5B64A858FC13, + 90BDA0B8FE4A26E5298DAEE3, + 44EB27DCDBCEC36F4DB760A9, + 9F14A2AA61821A565FF22D39, + 4D130A36E132798BA1BB53FF, + 07B9E706EBAAD4873E3914EC, + B307D90DA0DC9A76DC723878, + 89C90F8B0901C465E356C6C8, + 3EF6C867CB55DBB90076ACF2, + 06EB590F5B838B697CE72F8B, ); name = filebrowser; sourceTree = ""; }; + 76533D71441DB73BC581D584 = {isa = PBXGroup; children = ( + D41591FF892A6E2E672C7A18, + DCE3EB6C3DF640697ADD3F0D, + 7552ACBC68EF48B063F619E2, + AE1746EE8E4FC95FC3635940, + 7A356CCD42F455D41990C69F, + A6E5EC33E5F9767654EFCB25, + 1E73665689A8CF1EAD07A410, + 7D5050E0DD69CB60EF1B677C, + 6D8FDB139E0FDCBD5641A097, ); name = commands; sourceTree = ""; }; + A16C13AC925F01E513BC0632 = {isa = PBXGroup; children = ( + AD7D7A1631818FAFC9600F3F, + 5D2270DEE9D5C23019DEB152, + D2E451A096DED665657647F8, + BE439FE1379CC46AD8DA5F78, ); name = misc; sourceTree = ""; }; + C25E9058EE7B0F2E900E3433 = {isa = PBXGroup; children = ( + EBE6C07DB63AAA1F750C22F5, + 05864BC8C7804D05F485305F, ); name = application; sourceTree = ""; }; + 49D064C5B2141BD8D14AE294 = {isa = PBXGroup; children = ( + 6776FE828D0C9AAC3F12EA59, + 4013F4D715E43764169C2BF5, + 1D05DBE68E45BED5B842F212, + A47775D4CDD050038883A890, + 5D65D7D73CFD4C3292B44F07, + F20271230BBD0224FACE29E8, + B804B9C7C6CA696B7410A629, + 90D0993A08E71E212911B4E7, + EA85ECBD920A5EE3E79B57E8, + 4F0C38D878C6A40DB5E610F5, + E96860404A16526A491A14C2, + E4E97BDAD6209A76EA5B0CA2, + 054317A8EFDF8C80052EA0E0, + 46FBF3438B506BBBA1C08BE5, + 1CCFA6CA5E8D3E8D1D9476B5, + 584F5DA03ABAC58D8200F4DB, ); name = native; sourceTree = ""; }; + 2727A6D234211D5EEFE67B2D = {isa = PBXGroup; children = ( + 2F1041C065A0A50307F614ED, + 1F27292979CA7D0A6E999F3D, + 88897071E8E741ABDB94C057, + B1F5418A24C949EF1EDCC5CC, + 20C66850D35C2F7AADD7EA64, + F30B7D8CE97DE5606AE6DC8E, + 4C272B3754B014AC08B0E033, + A0A794A5F17590D11359544E, + 0CE1F0AC5B7735D5C59D065E, + 1011BBE9304BAFF95A476125, + 7B851D47EEB0A51D2C32C5FB, + 43B0193D1C7DEF84D41B69A4, + FC94936E6781852E6A5F5AAF, + 76533D71441DB73BC581D584, + A16C13AC925F01E513BC0632, + C25E9058EE7B0F2E900E3433, + 49D064C5B2141BD8D14AE294, + E10E5BBBE8515439D764CBBB, + 6A6347D9B543CE96713831B9, ); name = "juce_gui_basics"; sourceTree = ""; }; + 7DEF87B9C8D847F2840BF97D = {isa = PBXGroup; children = ( + 714F603CF16614D65F89340D, + 33C4E091AF43E7CEA138F133, + 964D86CC6AD404519F939215, + EBCA45F1E4BF7ECD899318F0, + F8E04FA3724E51F271D61F9A, + 898B5EF2CF5B2303DE59B07A, + FEEE17569A737C486258BC9A, + FC43C9F152FA300C417AD510, + 8BFEC7409742F768017FC3D7, + 50EDCF1A36276EEDC8FE3C5D, + FC4F4A4607AA7CA722526B99, + 9837ED0D470BD0E633A71F04, ); name = "code_editor"; sourceTree = ""; }; + 276BB424622D00B2F6D6EF05 = {isa = PBXGroup; children = ( + CF16FBA5840B89D53711C89F, + 9B8E99199DFF5A5588690C9E, ); name = documents; sourceTree = ""; }; + 66D132EDB56154912C007BA8 = {isa = PBXGroup; children = ( + C5ACDF0DCF5337C0B0AE1AF6, + 88AA420D1FEF4EB95D8166FB, + 9A2D9A5DBD78446D8878717A, ); name = embedding; sourceTree = ""; }; + A53F5FF344A1D95EBBBDF3DC = {isa = PBXGroup; children = ( + 2C34C4F10FEED10795237530, + CC27C420117D56ABAB4984C6, + 71AB2D9F86EE978F739150B8, + EDB90C4006AC89CCFAC4AF82, + CD13739C3599635DE5F687B7, + E223F2E916CC8884D48BB2F0, + 06D76C16465B649BF0CBCDAC, + 8A9D3CD0BDC7B8597C5F8A07, + AD258805D250E1D7B3ED5E56, + B463D24B6025AB064E03FBE7, + 451266541F1F93099A252033, + FF8C6075F2D81FC3EF7588FE, + 70D98CAAD904CF7FC923F24D, + 5C6D3A49499F186AFFC3DFDA, + 3473D34B4E5F5BC3D315C6E5, + 124D98B849980B7EAAE01068, + 1C489FC83EA76D34A2043B23, + EF0015657F3C994B1C76C306, + 8CF06B5E9E25293F79B15242, + 13852E700B8919909E360669, ); name = misc; sourceTree = ""; }; + DFD4E790D5E34260219E3AF7 = {isa = PBXGroup; children = ( + 2722B15F48A305F2ECD82429, + E9CAA6108E4CC9A8240EDDC1, + C4117C0CDD0F80BCA4E8E9A6, + DE90A7AD96CDF9332CA4B1CB, + 1F9EB82BB8FBECB611B7DBED, + FD81229B12072A6A5D27465C, + 5248E05CA643E149A0B9A8D4, + 5F1FD7697F7FB42EA6E9CDBC, + DF8AC8795BBD9CC5918F5969, + 89EB6DD3E34A7D2EB520D929, + CC180EFFA43B485F1A6DE764, + 64851AA6F4FAEAD9E3CB5D68, ); name = native; sourceTree = ""; }; + F60E760717F10C7C5B1BFB7B = {isa = PBXGroup; children = ( + 7DEF87B9C8D847F2840BF97D, + 276BB424622D00B2F6D6EF05, + 66D132EDB56154912C007BA8, + A53F5FF344A1D95EBBBDF3DC, + DFD4E790D5E34260219E3AF7, + 5DB6DA27DC5C022696109EF8, + 644E389974336014E8890F31, ); name = "juce_gui_extra"; sourceTree = ""; }; + 6EB5B0C74A683FD9E8F67118 = {isa = PBXGroup; children = ( + 86F9F3EDDA98B10C15901578, + A003021CCCD1F8D2200E9066, + EDAA8D220CC237DE5D612F47, + B7EF396405CB14D1ABDF709D, + CD8C53CF62B19A8E549D5C71, + 1D4A3BD9939CC395D2AE4324, + C66D267FAFB0ECDB23F3C00A, + A4B3FB3D6F0A5EF90023F514, + F3425CF4DCD715471072DB82, + FE87D270C0095EC7B0FC0F51, + 54B29F8CAEE68EECEED7A088, + BC3E6DE998377FFB8E61EF44, + 57AA11256FE770C2AC1CCF9B, + 11A431D13AA9844AEBCC97B0, + AC5BB40FA10713128CC9A2A1, + 3BAC3350B6CA12EFF6587DF6, + 4055E0D3D92A96C8E797ACBD, ); name = opengl; sourceTree = ""; }; + 8EEFFBC75F21B6E21D802A38 = {isa = PBXGroup; children = ( + 8C7A9D19E4BF794F25112C92, + 8AF7405E7AF18A44BF24811B, + 6E2E587EC9DCB2595D73A5CD, + 44BFB21474150C54D8B45035, ); name = geometry; sourceTree = ""; }; + 72D293A3B38BAD3129DF1940 = {isa = PBXGroup; children = ( + 6BF891205F6EEAF85C1C0F2C, + E662D32EE899694C2F360B77, ); name = utils; sourceTree = ""; }; + 4527369C4DAB2CE60232DE94 = {isa = PBXGroup; children = ( + 93A5B72C4030F63A78120194, + 6ACE33C4515448BE0DF400C8, + CF6B3F4DF15D7BAAEB2495BC, + 73B2312BC8C5D5A5A7AD87D0, + 51686AA73651EE47EF5CE35E, + 49E5DF4D47ADC97FB605F93F, + F16BDC9AFAD544D72BF6DC3C, ); name = native; sourceTree = ""; }; + F60314F08ACFDB997F502781 = {isa = PBXGroup; children = ( + 6EB5B0C74A683FD9E8F67118, + 8EEFFBC75F21B6E21D802A38, + 72D293A3B38BAD3129DF1940, + 4527369C4DAB2CE60232DE94, + E4E6F10141E07DE0F2960C2F, + B4EBC54E160BF6EFDA54A708, ); name = "juce_opengl"; sourceTree = ""; }; + ABEEA81A9680F6A4F8ECA0EA = {isa = PBXGroup; children = ( + 7A32476DF07EE4C33512F01D, + F75D109BD33B5C057C150155, ); name = playback; sourceTree = ""; }; + 1C67C665FD3B6D5133151E2D = {isa = PBXGroup; children = ( + DB8D923C776A1038384A10D5, + 5CD2D4CDAC75E50E78ABE46C, ); name = capture; sourceTree = ""; }; + 5CBF586DCC30079B9463982A = {isa = PBXGroup; children = ( + 407FCF60E01E1C7F7BBF83B2, + 26BFF71147B21AEECB934431, + C8A3BA380B7DADEBA46EC1FF, + A091657F22DDCFFC2D0E3E68, + 4366A35F3F091C0EEFD58817, + CF412309E5514E05CBD2A30F, ); name = native; sourceTree = ""; }; + CC319022914B6972D2B91A23 = {isa = PBXGroup; children = ( + ABEEA81A9680F6A4F8ECA0EA, + 1C67C665FD3B6D5133151E2D, + 5CBF586DCC30079B9463982A, + 0FD74232B9B3A15C19D73B4F, + A20A2F639F28E15631EEEA35, ); name = "juce_video"; sourceTree = ""; }; + E697CF5985AC7D206A214CE1 = {isa = PBXGroup; children = ( + 42D107F741897BBB52B61202, + C1CFAF0419BB789AA0E38629, + BCC969C3BC478853FD7E336F, + 0F1330B9E634C8C1D2A19EAD, + DCA2C59535A97CCC2E7E5D5B, + 134363737026CC80D69F48A5, + 367D3E7B1A3582D5693B9FC3, + 6BF9D16DF121408ADF8D243D, + FB86CB37A490EC9DB740D91C, + F7DD1006ED325822934CE941, + 2727A6D234211D5EEFE67B2D, + F60E760717F10C7C5B1BFB7B, + F60314F08ACFDB997F502781, + CC319022914B6972D2B91A23, ); name = "Juce Modules"; sourceTree = ""; }; + C94E97E4A3CB628A675EE05C = {isa = PBXGroup; children = ( + B84ADDD01BAB1B1E21DDFF07, + 19DBF218B50AA295AED50CC2, + D08758C4B60AE0ECD82D8EF6, + C987F7105C386F9799C74AE5, + 768E5A86B7E84A146818B866, + 0D72F29AB05E80E6D8A57578, + 7DE30FBED9393A59FF08AFC4, + 332B664DD5F1E87D1BC77715, + BBDC1C7DE652B571ED885097, + 8C96A8A1170495B6693F2FF9, + 5E489080FFCF538C3170739B, + DE6FBEE731028F230A86F223, + 2E631361420FA9496ED300DF, + 1CA41F35C44145819921CF79, + B6FF0E28C1E186DD9E97F838, + 15BA4AEE0C0E22D7C8BE92CA, ); name = "Juce Library Code"; sourceTree = ""; }; + 094FA973096AF6FDD5A75280 = {isa = PBXGroup; children = ( + 9A31450E90F82EE417285AA4, + 16799F26A4934E01FE14D70A, ); name = Resources; sourceTree = ""; }; + B679234897D9AEB22E892566 = {isa = PBXGroup; children = ( + 92CABA9C9B5148FCA22A0503, + BD70FA4626657FF1DEBB10DA, + C751B4E213343FF77A0681B6, + EA07D9E1051E8FBBB8C21064, + 0C37646FCADAFC29F28333C0, + 7C86E886C3FCB671004E1CA2, + 4D4B44BECA12A8D1B2A458EF, + D9E37E3E825916FFC5391BCC, + FA016D0A7169A84A182C404B, + 72EACF200EDF2E5DF7D66DD6, + B06A9120276E8875161CFC7D, + BC1276921CB154EB04E5EBAE, + 095618F6D669589BD1DBD1ED, ); name = Frameworks; sourceTree = ""; }; + 6F245D0C169B0E9060BD1033 = {isa = PBXGroup; children = ( + 4B8E8BD3DEAE0C479D04F571, ); name = Products; sourceTree = ""; }; + 41A4B977F5588A439A066455 = {isa = PBXGroup; children = ( + 24BF2D05D134C386864C4C7D, + E697CF5985AC7D206A214CE1, + C94E97E4A3CB628A675EE05C, + 094FA973096AF6FDD5A75280, + B679234897D9AEB22E892566, + 6F245D0C169B0E9060BD1033, ); name = Source; sourceTree = ""; }; + 993A56BA093F4D3C2556398E = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + SDKROOT_ppc = macosx10.5; }; name = Debug; }; + EA0243E56EC3EAF286B53CA6 = {isa = XCBuildConfiguration; buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + SDKROOT_ppc = macosx10.5; }; name = Release; }; + 2DDD1A3A56EAB02179D1CFB6 = {isa = XCBuildConfiguration; buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + DEBUG_INFORMATION_FORMAT = "dwarf"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "AudioAppExample"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Debug; }; + BE32D9CFAA27D791B2181C7F = {isa = XCBuildConfiguration; buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + DEBUG_INFORMATION_FORMAT = "dwarf"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PRODUCT_NAME = "AudioAppExample"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Release; }; + 074FE87A26471418B3AC0921 = {isa = XCConfigurationList; buildConfigurations = ( + 2DDD1A3A56EAB02179D1CFB6, + BE32D9CFAA27D791B2181C7F, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + FF720F7C44675347E5E0EB5A = {isa = XCConfigurationList; buildConfigurations = ( + 993A56BA093F4D3C2556398E, + EA0243E56EC3EAF286B53CA6, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 6480A9A75122084E426BEF0C = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 0CB39189A1701173FED41819, ); runOnlyForDeploymentPostprocessing = 0; }; + EE26AB6336CDF8E778B3DA86 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 5055109434B36CD6E0B6D360, + 55A794809FECCB07D3C4D07D, + 9F994C4912DB4402247C438F, + 9BC0ECFC7AF57F1909EE09FA, + 85FE609FB6402062EF2C0DBA, + F794ED1AA51CF125F7F1A8A9, + 8B9F9A6D24146522DD93CD22, + B0576FED799D792664EB5D15, + 916BBC1AB5BE42CD684DAC5B, + EA094DDAD2D1A7A4C0C2233E, + 8FB9BEF532266F191FA2343F, + 3D181BDD770219ED14488377, + E0AAACBB6027FC8FD4F9113C, + 9537FB2A9B43C898E86156A7, + 42AE22EDF3A83997E9444080, + ED46B41A891FE3B15A184ECF, ); runOnlyForDeploymentPostprocessing = 0; }; + B6DD28580BC7A7F690EF4B49 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 3286435E3CC944A630866B89, + 7AC823C6BFA28E49D004E0E0, + 32D0B845ED45381A3B0D3286, + 7D74E1C0A7CA9488CCB8FD5D, + 2414893F5F6D7096A1350F6B, + 26E4E22AC7196AC405E218B9, + F5BE3CB7F8CBD56D6E0C6AE4, + F4869C88FEAADF584E72EF77, + 05C4C6087DA084BB2A20A87D, + E529B9215B8115D19FAFA952, + 291730DFE49E6AE97D4C8CEC, + 22F4A52A8EEA059B7DD0FCC2, + 74DB8EEA9D58B6E97C392192, ); runOnlyForDeploymentPostprocessing = 0; }; + EDF214F1951D7745347EA1D1 = {isa = PBXNativeTarget; buildConfigurationList = FF720F7C44675347E5E0EB5A; buildPhases = ( + 6480A9A75122084E426BEF0C, + EE26AB6336CDF8E778B3DA86, + B6DD28580BC7A7F690EF4B49, ); buildRules = ( ); dependencies = ( ); name = AudioAppExample; productName = AudioAppExample; productReference = 4B8E8BD3DEAE0C479D04F571; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + 0E00FEF4A999DE35888889AE = {isa = PBXProject; buildConfigurationList = 074FE87A26471418B3AC0921; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 41A4B977F5588A439A066455; projectDirPath = ""; projectRoot = ""; targets = ( EDF214F1951D7745347EA1D1 ); }; + }; + rootObject = 0E00FEF4A999DE35888889AE; +} diff --git a/examples/AudioAppExample/Builds/MacOSX/Info.plist b/examples/AudioAppExample/Builds/MacOSX/Info.plist new file mode 100644 index 0000000000..555d84feff --- /dev/null +++ b/examples/AudioAppExample/Builds/MacOSX/Info.plist @@ -0,0 +1,27 @@ + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.yourcompany.AudioAppExample + CFBundleName + AudioAppExample + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/extras/audio plugin demo/Builds/MacOSX/RecentFilesMenuTemplate.nib b/examples/AudioAppExample/Builds/MacOSX/RecentFilesMenuTemplate.nib similarity index 100% rename from extras/audio plugin demo/Builds/MacOSX/RecentFilesMenuTemplate.nib rename to examples/AudioAppExample/Builds/MacOSX/RecentFilesMenuTemplate.nib diff --git a/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.sln b/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.sln new file mode 100644 index 0000000000..705ec48904 --- /dev/null +++ b/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.sln @@ -0,0 +1,19 @@ +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{2E378E24-A882-72B1-F070-ABCF45D0CB11}") = "AudioAppExample", "AudioAppExample.vcxproj", "{98301F26-3786-86BB-BD55-8BBF7C70DA8D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {98301F26-3786-86BB-BD55-8BBF7C70DA8D}.Debug|Win32.ActiveCfg = Debug|Win32 + {98301F26-3786-86BB-BD55-8BBF7C70DA8D}.Debug|Win32.Build.0 = Debug|Win32 + {98301F26-3786-86BB-BD55-8BBF7C70DA8D}.Release|Win32.ActiveCfg = Release|Win32 + {98301F26-3786-86BB-BD55-8BBF7C70DA8D}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj b/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj new file mode 100644 index 0000000000..1ffced7567 --- /dev/null +++ b/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj @@ -0,0 +1,1725 @@ + + + + + + Debug + Win32 + + + Release + Win32 + + + + {98301F26-3786-86BB-BD55-8BBF7C70DA8D} + + + + Application + false + + + Application + false + true + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + .\Debug\ + AudioAppExample + true + .\Release\ + AudioAppExample + true + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Disabled + EditAndContinue + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) + MultiThreadedDebug + true + + $(IntDir)\ + $(IntDir)\ + $(IntDir)\ + Level4 + true + true + + + _DEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\AudioAppExample.exe + true + libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)\AudioAppExample.pdb + Windows + MachineX86 + false + true + + + true + $(IntDir)\AudioAppExample.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + MinSpace + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + WIN32;_WINDOWS;NDEBUG;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) + MultiThreaded + true + + $(IntDir)\ + $(IntDir)\ + $(IntDir)\ + Level4 + true + true + + + NDEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\AudioAppExample.exe + true + %(IgnoreSpecificDefaultLibraries) + false + $(IntDir)\AudioAppExample.pdb + Windows + MachineX86 + true + true + true + + + true + $(IntDir)\AudioAppExample.bsc + + + + + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj.filters b/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj.filters new file mode 100644 index 0000000000..ed9678b336 --- /dev/null +++ b/examples/AudioAppExample/Builds/VisualStudio2010/AudioAppExample.vcxproj.filters @@ -0,0 +1,2951 @@ + + + + + + {76BE4C13-8BB7-CC58-13E8-409DE2E7449E} + + + {02255145-4BF1-C420-1277-97A35963002B} + + + {422C46B7-0467-2DB0-BF3C-16DFCAFD69AC} + + + {3247ED97-A75A-F50B-8CCC-46155E895806} + + + {A33A1E1D-AC2C-6382-8681-48B0FC374C60} + + + {3FD908F5-98C8-9A61-FC03-0BAF8913CBB0} + + + {11A75801-B027-40BD-4993-023023ACCBF7} + + + {EF2CAB40-0432-429B-C517-86ADF136BB8A} + + + {8F7EC212-3168-AD81-5064-C45BA838C408} + + + {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} + + + {0F766DD4-A277-CB86-5647-42498C8B41E1} + + + {D64942B4-6984-3623-3347-45D472AE1C61} + + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + + + {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} + + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + + + {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} + + + {0B0E7392-324B-088C-FBEB-5FE999D61782} + + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + + + {20254EFE-6CBD-31A7-2119-92B1E0E0E311} + + + {70796D73-6D30-8A1B-4732-7C021E47C05A} + + + {EB8DD942-E2CB-869F-D381-E02A65BA790B} + + + {B63F69FD-8A40-8E1E-E7ED-419B8DC1C12B} + + + {8167E753-09C7-5D1C-EF2B-32D297557443} + + + {AEDCB7F7-7A36-5392-8E9A-715F5BDE35CB} + + + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} + + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + + {476C69CE-0B67-6B85-E888-45D91E37A29E} + + + {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} + + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} + + + {C9F6D785-BF78-5AA1-B479-111C65397864} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {DA0DC4AC-B511-A2D4-199A-C93454D6F114} + + + {91929C6F-7902-B87D-5260-2F6CBF8ACD93} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} + + + {4634FFAE-9586-A970-364C-4FDDA635F99F} + + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {F03654BC-34D8-F975-BEA3-750CC2783D23} + + + {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} + + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + + {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} + + + {7703D2CE-C32A-936A-0EEF-949FE6E52EB5} + + + {8D283B6C-13BA-9EF6-1B18-B1C393786943} + + + {928D8FCC-5E00-174B-6538-93E8D75AB396} + + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + + {3DF036EA-3B80-553B-2494-3AAC835CAE75} + + + {358AEA11-3F96-36AE-7B32-71373B5C5396} + + + {F2A38F45-6E55-E147-2E52-64A89FDD9D59} + + + {6172822C-01A5-E824-12DA-FA43FA934D35} + + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + + + {B098BC87-3298-7E6B-12DC-D26C09CDCAED} + + + {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} + + + {4926B3FF-E797-F586-857A-69D9703FA2D1} + + + {EBC65085-3AD5-280C-1A29-2B1683643AA1} + + + {413F481F-075C-2958-115C-D8268682FCB7} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + + {E37D25CD-4350-4614-055B-7ABC55E67895} + + + {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + + {75F1F352-251A-75E0-D941-8431588F5C1E} + + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} + + + {C60A6FCA-9462-922E-AD8D-69F10C9049AF} + + + {D56498EE-E354-1F00-5EEE-8CF7944BEAFB} + + + {61B2920C-494D-D8CB-C0C7-5DBF3D76D164} + + + {66C9B809-8739-A217-C78D-A15D6089B8E3} + + + {C413328B-5D81-89EE-F4F3-75752E700DE4} + + + {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} + + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {B3141847-8F13-F67D-45B2-E3ECF6E09088} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + + + {151B49D8-6102-F802-1C07-D59931BC0574} + + + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} + + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + + + {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} + + + {EE985DEA-CD83-8132-7219-542BB1DAD560} + + + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} + + + + + AudioAppExample\Source + + + AudioAppExample\Source + + + Juce Modules\juce_audio_basics\buffers + + + Juce Modules\juce_audio_basics\buffers + + + Juce Modules\juce_audio_basics\buffers + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\synthesisers + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\midi_io + + + Juce Modules\juce_audio_devices\midi_io + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\sampler + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\scanning + + + Juce Modules\juce_audio_processors\scanning + + + Juce Modules\juce_audio_processors\scanning + + + Juce Modules\juce_audio_utils\gui + + + Juce Modules\juce_audio_utils\gui + + + Juce Modules\juce_audio_utils\gui + + + Juce Modules\juce_audio_utils\gui + + + Juce Modules\juce_audio_utils\gui + + + Juce Modules\juce_audio_utils\players + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\misc + + + Juce Modules\juce_core\misc + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\hashing + + + Juce Modules\juce_cryptography\hashing + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\documents + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\utils + + + Juce Modules\juce_video\capture + + + Juce Modules\juce_video\native + + + Juce Modules\juce_video\native + + + Juce Modules\juce_video\native + + + Juce Modules\juce_video\native + + + Juce Modules\juce_video\native + + + Juce Modules\juce_video\native + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + + + Juce Modules\juce_audio_basics\buffers + + + Juce Modules\juce_audio_basics\buffers + + + Juce Modules\juce_audio_basics\buffers + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\synthesisers + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\midi_io + + + Juce Modules\juce_audio_devices\midi_io + + + Juce Modules\juce_audio_devices\midi_io + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\sampler + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\scanning + + + Juce Modules\juce_audio_processors\scanning + + + Juce Modules\juce_audio_processors\scanning + + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_audio_utils\gui + + + Juce Modules\juce_audio_utils\gui + + + Juce Modules\juce_audio_utils\gui + + + Juce Modules\juce_audio_utils\gui + + + Juce Modules\juce_audio_utils\gui + + + Juce Modules\juce_audio_utils\gui + + + Juce Modules\juce_audio_utils\players + + + Juce Modules\juce_audio_utils + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\misc + + + Juce Modules\juce_core\misc + + + Juce Modules\juce_core\misc + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\hashing + + + Juce Modules\juce_cryptography\hashing + + + Juce Modules\juce_cryptography + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\documents + + + Juce Modules\juce_gui_extra\embedding + + + Juce Modules\juce_gui_extra\embedding + + + Juce Modules\juce_gui_extra\embedding + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\utils + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl + + + Juce Modules\juce_video\playback + + + Juce Modules\juce_video\playback + + + Juce Modules\juce_video\capture + + + Juce Modules\juce_video + + + Juce Library Code + + + Juce Library Code + + + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_audio_utils + + + Juce Modules\juce_core + + + Juce Modules\juce_cryptography + + + Juce Modules\juce_data_structures + + + Juce Modules\juce_events + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics + + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_opengl + + + Juce Modules\juce_video + + + + + Juce Library Code + + + diff --git a/examples/AudioAppExample/Builds/VisualStudio2010/resources.rc b/examples/AudioAppExample/Builds/VisualStudio2010/resources.rc new file mode 100644 index 0000000000..249badce6e --- /dev/null +++ b/examples/AudioAppExample/Builds/VisualStudio2010/resources.rc @@ -0,0 +1,29 @@ +#ifdef JUCE_USER_DEFINED_RC_FILE + #include JUCE_USER_DEFINED_RC_FILE +#else + +#undef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#include + +VS_VERSION_INFO VERSIONINFO +FILEVERSION 1,0,0,0 +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + BEGIN + VALUE "FileDescription", "AudioAppExample\0" + VALUE "FileVersion", "1.0.0\0" + VALUE "ProductName", "AudioAppExample\0" + VALUE "ProductVersion", "1.0.0\0" + END + END + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 65001 + END +END + +#endif diff --git a/examples/AudioAppExample/Builds/iOS/AudioAppExample.xcodeproj/project.pbxproj b/examples/AudioAppExample/Builds/iOS/AudioAppExample.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..59b85bb1bf --- /dev/null +++ b/examples/AudioAppExample/Builds/iOS/AudioAppExample.xcodeproj/project.pbxproj @@ -0,0 +1,2142 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + + 3286435E3CC944A630866B89 = {isa = PBXBuildFile; fileRef = 92CABA9C9B5148FCA22A0503; }; + 7AC823C6BFA28E49D004E0E0 = {isa = PBXBuildFile; fileRef = BD70FA4626657FF1DEBB10DA; }; + F02410B634B6C9C29060A812 = {isa = PBXBuildFile; fileRef = 4286F1F40FC3E04B4AE701C2; }; + 26E4E22AC7196AC405E218B9 = {isa = PBXBuildFile; fileRef = 7C86E886C3FCB671004E1CA2; }; + DE32F1DDED355F817FCA16C4 = {isa = PBXBuildFile; fileRef = F5B5D441C4AB1D01509ACC8D; }; + 62AE0FBB5B9184FF94092D43 = {isa = PBXBuildFile; fileRef = D7867DB9C17425E3F05EB860; }; + C3F12DC7CA8C22C1853A7F08 = {isa = PBXBuildFile; fileRef = 712FD99244BEDA356A73A60D; }; + 291730DFE49E6AE97D4C8CEC = {isa = PBXBuildFile; fileRef = B06A9120276E8875161CFC7D; }; + D3AC61A0594DE1592920426F = {isa = PBXBuildFile; fileRef = 1D29F6A21F927F10EB8C5EEF; }; + 70EC04D8CFE012341DBC0A45 = {isa = PBXBuildFile; fileRef = 9B83CA7A03621F4DE0B0C3F5; }; + 5055109434B36CD6E0B6D360 = {isa = PBXBuildFile; fileRef = 2545022A0EE088A0C46EBD13; }; + 55A794809FECCB07D3C4D07D = {isa = PBXBuildFile; fileRef = D78365C74082A1253E12AF17; }; + 9F994C4912DB4402247C438F = {isa = PBXBuildFile; fileRef = 19DBF218B50AA295AED50CC2; }; + 9BC0ECFC7AF57F1909EE09FA = {isa = PBXBuildFile; fileRef = D08758C4B60AE0ECD82D8EF6; }; + 85FE609FB6402062EF2C0DBA = {isa = PBXBuildFile; fileRef = C987F7105C386F9799C74AE5; }; + F794ED1AA51CF125F7F1A8A9 = {isa = PBXBuildFile; fileRef = 768E5A86B7E84A146818B866; }; + 8B9F9A6D24146522DD93CD22 = {isa = PBXBuildFile; fileRef = 0D72F29AB05E80E6D8A57578; }; + B0576FED799D792664EB5D15 = {isa = PBXBuildFile; fileRef = 7DE30FBED9393A59FF08AFC4; }; + 916BBC1AB5BE42CD684DAC5B = {isa = PBXBuildFile; fileRef = 332B664DD5F1E87D1BC77715; }; + EA094DDAD2D1A7A4C0C2233E = {isa = PBXBuildFile; fileRef = BBDC1C7DE652B571ED885097; }; + 8FB9BEF532266F191FA2343F = {isa = PBXBuildFile; fileRef = 8C96A8A1170495B6693F2FF9; }; + 3D181BDD770219ED14488377 = {isa = PBXBuildFile; fileRef = 5E489080FFCF538C3170739B; }; + E0AAACBB6027FC8FD4F9113C = {isa = PBXBuildFile; fileRef = DE6FBEE731028F230A86F223; }; + 9537FB2A9B43C898E86156A7 = {isa = PBXBuildFile; fileRef = 2E631361420FA9496ED300DF; }; + 42AE22EDF3A83997E9444080 = {isa = PBXBuildFile; fileRef = 1CA41F35C44145819921CF79; }; + ED46B41A891FE3B15A184ECF = {isa = PBXBuildFile; fileRef = B6FF0E28C1E186DD9E97F838; }; + 0029311BFF31395FD00963CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0042600B8ACF3532B5AE4839 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 00F0299DB6F4889526D7C5F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; + 01065486D2E254D02B75509F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 01490B3A4FE0E7503EF78A59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0197C4DD5E7ACE14FF668D62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; + 02CF5AD726503AFB1193C81E = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 0333EF5021D4B11D0567EDE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 03B8A6359E4DD6796B9F7840 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; + 0407B0BEDEA7EC85B84197CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 040EAFDEB6C10752F3E53440 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 040F3CA16CF425185E82976D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; + 047A715B70BDCE0605F0CB1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; + 04CF614E82E5E0D67952963A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 053462A035FADA4FDCE2A8D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; + 054317A8EFDF8C80052EA0E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 0580BF897CA7540D4B195702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 05864BC8C7804D05F485305F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; + 06027E788981B5B21E48EDEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; + 06577256ACDA6ECA2DF0AE84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 06745837B0C272B8686ACF30 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0687C181905F8F3CE2CD9B8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; + 06D76C16465B649BF0CBCDAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; + 06EB590F5B838B697CE72F8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 06F692C85C20B60877A3E153 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; + 070AE2690CA06010BDBB4644 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 07721876CC21C0DBD17D00EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 07B9E706EBAAD4873E3914EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 083D342FECE0C296374EF291 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 08BA9BF25A4A247BAEFA7C7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 08CC510A823DA8A188233FB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 095864129E8B873229076D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 098EE470BA8744AD218E09F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0A160966A8128AB989F20F56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 0A4F90598876FBE7A67A13D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0A9D1C8737F68D63574FC517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 0AA4DFC6689DAC5C6C6D30B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + 0ACC027581F750956F3DBF81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; + 0B17C68C630608414339685D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0B35461B91EE6372D40C26E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0B8CE7C2918A2BC3C86E3CF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; + 0BA2BBE2C12EFD349C06114E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + 0C211C03FF27A92ADC7706A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0C28072364B08528A9AD5B85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0CB6B999BF9DBA9D0F586C6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; + 0CDECC23B99E40DB6BD73FD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; + 0D136F19DF81AFE8C90A0F01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0D72F29AB05E80E6D8A57578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_utils.mm"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; + 0D748BB96C09FA6846E28D1A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 0E8660300B58F0FF90907C93 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 0EC0E5FB195BD2DCCE4FE103 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; + 0F7E54460D000A212BA37807 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; + 0FB03F29666B9E3588BCA21A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; + 0FD74232B9B3A15C19D73B4F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 0FEA2018033238F713A9933D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + 10CCA4154B34E2601DF7E36C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 10F336062BF70F1171393EA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1176710342A96CE5E736F504 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 118739F5BBF8A273FDF45CFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; + 11A431D13AA9844AEBCC97B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; }; + 121B842EB5C66CD392D7673F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1246B7FA44AABAA2D9D19B7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 124D98B849980B7EAAE01068 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12D1ED411A617AB55887F19D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12ECDE0E70945E79B3C6FADF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 12ED2DA2996DEFA911F07ECF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; + 130B30A89F8EB787CA96BD73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 13254A553A9B8E5F5DB682E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13852E700B8919909E360669 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 1399DD492AC9998A6513E251 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13A8EAABA98838BC051D7ECD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13BE8F3EF3319E21ADCF67CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 14D79056503073B08ACAA92E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; + 14E46E9101177690C481518A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 1501B794994314589934734A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; + 153310BD8726D691D726CEAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; + 15BA4AEE0C0E22D7C8BE92CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + 15BFA127CCD1E5D6F0647773 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 15C4E5B79331FFEF10E553D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; + 16138611E29922ACCDB8DF97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1615E143D724EC65E5528B78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1626D80AAC03E9C00A114311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 163C76000FCA6DEEC7C240EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 169BA47FE95B0EFE39A1FACE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; + 16A5D3C51A676B5EB96B07FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 16C249B2489B726FA38EB40C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; + 1800F7D6AC6CB08DDE716CFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 188F0A8D1EEC0AC08485B32D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; + 19DBF218B50AA295AED50CC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + 19FE66760D46BF77905C3B48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; + 1A2E38E8795FD19F801DF103 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A4FF248A625623F2AB5B78A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1AA843725F045F4E0857830A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 1AB3BEE546811801C8D4C377 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1B6E61F45C2F5E81914A71A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1B92C858971081339CAC889E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1BF56B39CCF7CBAEF9BB9A84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C489FC83EA76D34A2043B23 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + 1C50B35A818EC78F8FF81815 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C88AFF1BEE2BBD2646C3FE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C95AB2B2812BD8960870603 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1CA41F35C44145819921CF79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; + 1CCFA6CA5E8D3E8D1D9476B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1D05DBE68E45BED5B842F212 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + 1D29F6A21F927F10EB8C5EEF = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 1D4A3BD9939CC395D2AE4324 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 1D904F5F3F9ABF88E0D4385D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; + 1DA8B8E25372E8F00080877B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 1DA9D191A3312AAF11810745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; + 1E02091AE0A7BB79608FCC0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; + 1E73665689A8CF1EAD07A410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 1F0ADEAEB1F4BFFDF96597D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1F293903C761D909018FDD67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; + 1F9C7404B23AF0D8456ED1AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; + 1F9EB82BB8FBECB611B7DBED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; + 1FA16B4D97401423966B4183 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 1FA8CE4825B48E4FECCD1FEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1FB5E4B9CC25B15D872DDAF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1FBB32224251DCA53E9CE4A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 1FC260D4C2C8EC0D1C46B882 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; + 1FF55E3BBA8A22620289A59E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 202FBA54BE113F8E12628DF3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 20B1A2291D2367A6CE6A98E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 21ED255865DBE1B9B27CE0CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 221859580563CB895AAB6167 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2289F6AE28B501127D381EEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 2296650D710569DE62A1ED84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; + 248D8296344CFAC3E6CA732E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; + 24B8757907ECF54548F90F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 24D34491A75D9158E571CE95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; + 24F0BB17E458EBEC96E7360C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 25131D3A8F8DDF0094192DCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2545022A0EE088A0C46EBD13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = "SOURCE_ROOT"; }; + 25A32EA2B5B35D951633212E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 25D592FB01574ECBD7AB256A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; + 2651FD678A14B0751CB5D020 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; + 26A7E3CEB56737AB4E725BE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; + 26B0149626A30EF364609DDD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; + 26BFF71147B21AEECB934431 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; + 2706BDD74A8ED307B92B9BFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2722B15F48A305F2ECD82429 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2763141DB90EDEB924F549B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 283761EE00FC441F1881E282 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 28B97FFBC14A808881547FA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; + 28E18ED64628E325B734F817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; + 296031FF025F31DCE8472A08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 2A35B8768F9F47F2F4AE5223 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A48FAEC948B121B6EB34631 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B4A4D4411B9314CEEE873F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2B56C4638018F72794BEADC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2BF48C4EED551C019F3D293D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; + 2C255E6DCF96BD803B6EA875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 2C34C4F10FEED10795237530 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2C5BAB180C4B0F64A76D265C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + 2C9F5746F9D3DEA41F12FE58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2CA8A8FEF881E1400CE33991 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2CB8EA303EA9DDA6A788E09C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 2CBB52A96FFA3344C137AFB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 2CD02E712AFC2633AE66F876 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2D8585823D0A4210D1B161DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + 2E3E5BB82FD2A9A582FD7E5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E631361420FA9496ED300DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; + 2F02F02DE72872590941BD0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2FDFCD44816447805FD012DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; + 303FE5650303C9D52133FDB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; + 30E959B23AA2EBA0CB11D121 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 3126074952DF6879C42AF9A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 319336062D169304F2BEDDD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; + 31BC85796D2F77677D4977C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 31C5DA5DD3FE3C167B4C6527 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 31FE14F48D2E4827337F3C65 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + 32043671A35DA448332B557F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3210EE9DCE0CBD81D22F13AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 322590D8C7EE4F273C28A081 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; + 324E57D5C6BA8C19535791A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; + 32AA8C09B7A39118E3A4BFA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; + 332B664DD5F1E87D1BC77715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; + 33C4E091AF43E7CEA138F133 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 33FEAF50967CEB5800BF72BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3473D34B4E5F5BC3D315C6E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; + 34D0CAA3AE118782B1D85410 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3514CF0F5CB28BBD688539B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 359E9C5EB887770E3AA46B95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; + 35C33DF203333BE87587F1BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 360140E521BFFBEAE167DE5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; + 363345C2BB552CE31BFAB6D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3655B7B8C77849CD422BE014 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; + 367C43A83F6BBA49141755B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; + 3737DB5B70CB03EB340745EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 37737A4FE37D244DCF36F8AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 379CFA695DBA290674B9466F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; + 37AC07521C58A8D0AB468D4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 37DDE4779BEE726B73257328 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 38628669BA3E9CF7E2DFED16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; + 3A0DE69457B7A75B13579949 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3A22AD6926B2CC42F4E5988C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 3ACBB7FEA688DB5A3B3C81DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; + 3B39B66B640766E9B90E3046 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; + 3B3AB4E5CE405BF348F634C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 3B52D9CB9D7135AD2F240CE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3B646957B5DAB8CAF910B83C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3BAC3350B6CA12EFF6587DF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3BE93702701665C1CF0D71F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3BF749BD7341CB6B695403F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + 3CAB0402E5EDD5A25D4DE907 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3CD98742CA1919AEE3F9D9BC = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 3CEE794B62AEDD6CD0650F0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3DF61BB51C4F45E8E7399BBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3E1891F87C00044C1C482137 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; + 3E71B82FA28ADE017FF7C836 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3E87A40BAA207A6F8491BE60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3E8AACC53630A2225F4C5486 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; + 3E9355CECB4C063F13CC481F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3E9420908A60B009C762593A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + 3EF6C867CB55DBB90076ACF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F2852F4D9EA9C67864288FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F76E39F5ED6016AE007D846 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; + 3FCCA7A2BBAC3F32C28A41CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; + 3FE3BB22E6A6B04200358D89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3FFFC28C52CE08D5DA7588AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 40046E402D3BB5D37AA9DC07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; + 4013F4D715E43764169C2BF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4046F9FFC62FE0E597136A28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; + 4055E0D3D92A96C8E797ACBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; }; + 407FCF60E01E1C7F7BBF83B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 408AA1123D7BFE64D870013F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 41004038C181AC5C8CDDD02D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 41066A9B2DA06A8A42EB2302 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + 41D8E7CFFC16D293F934DB74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 41DC9C31FE8A27E721AC95C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; + 41FDE3C3197B773438925736 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + 421D944B78CB2925F3073FBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; + 422E3CE271E2064729DA6F46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 422EAE67E128C8295A23F6A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 427F2DF6378E91A673BD5805 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; + 4286F1F40FC3E04B4AE701C2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 4302CD9CA740EBE5891DC3BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 433F5E9D26E0EDD4B309A0C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 434777F5069C5A1EBFD0ECFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4366A35F3F091C0EEFD58817 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4378029B012345D856709C2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; + 448B223113A96B6D7C026E0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; + 449F72688745585AEC908DE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + 44AF43F408DE59FEC7FC87C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 44BFB21474150C54D8B45035 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; + 44D12A261F14400C108FE695 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 44EB27DCDBCEC36F4DB760A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 451266541F1F93099A252033 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 45A893DD2D553ED62C5B4D63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; + 45CAA0CEA9DA2B4F3AF549FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; + 46844E11FFE3314B7A4D1182 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; + 46AE290C54ECEFF69D62C0A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; + 46EC28DEB32461DC57FC8091 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 46EE36AEA94A83975A5C36C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 46FBF3438B506BBBA1C08BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; + 48348E65A2D505CD55F894CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 48AEBE2829B0A312E3B598BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 490FFC3A7899AA8FBE8E2D0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 49245E8C5141A64C17209913 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 49811A30680D278DA9591BE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; + 49E5DF4D47ADC97FB605F93F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; + 4A44D8CE1E8F932AD7F6E5A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4A4D808E73E64EAC75888392 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + 4AB25C5BAD57250C530830AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; + 4B57EFAB122FF8AD8A15DD4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; + 4BB76738C3C05043BFDE3507 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4CA0CF8181B0B7321AC02F44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4CA0D374BA396AC331C7657E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D130A36E132798BA1BB53FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4D8CBFA4ADFA41465A97C072 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 4DA82F4EA6B042B411DB20A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorPlayer.cpp"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4DC09FE2D606F3346B269F47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E54EF00533AF35ACE6EE0D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E81FC636E217976041F8FD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E910C3EE26D3CB30DE64DE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F0C38D878C6A40DB5E610F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; + 4F613FCE6F5079EBF19A2489 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; + 503351935DD85F70D491ED2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 506252B820D7D570B2D1928C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 50EDCF1A36276EEDC8FE3C5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 51686AA73651EE47EF5CE35E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; + 51BE027208C01296F2E76054 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 51FA79658840D67F6DFB9C0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5248E05CA643E149A0B9A8D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 52D2F52B7284090A8CC4F18E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5374AB638100ED67F198E888 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 53C3C3F56CEF7ED61F8451E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; + 5435DECD3AC65DBAC5C2A267 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 546E1DA09F73BB6E17FD63CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; + 54905E0DBD3DFC08980F0635 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; + 54B29F8CAEE68EECEED7A088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 54CAC1382C1237BFA1B4D877 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + 550A729142AB16A20BB99123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 553AE1A4613ACE6750798D0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; + 5546974D4F68A427792B725E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 554835604BAE08C82511706E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 55AD9D2F0D75B19660C948C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 55CFA008C55F190872354FF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; + 56BBB410F5117805919652E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 570E0E900CD46076476337A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5736EEAD19F704D8BC0D63CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_utils.h"; path = "../../../../modules/juce_audio_utils/juce_audio_utils.h"; sourceTree = "SOURCE_ROOT"; }; + 5765E0F55ADB4319F0F896D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; + 577824246C165D84AA378BE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 57AA11256FE770C2AC1CCF9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 582CAD0FEF6DC8676068004C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 584F5DA03ABAC58D8200F4DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 58A314392D34735350431602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 592858CDDEB9B1CF44D0CA28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; + 598DCC346E8045B4A1221B0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; + 59D6E450E7823A809631B85A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; }; + 59F516B1F82F487ED0B8A08C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 5A1ECBE0BEAF6C2B976EE813 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; + 5A707B988D57A28536A6E62E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; + 5AB7146863FE8F4F5AD7A092 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; + 5AE6D28B2C36587A4F0E9DE3 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 5B267B0B84A4AE272AAD58A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5BE6EA9AF8FB65EE6C5A2DDE = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 5C00F2B0503A9B4774455977 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5C6D3A49499F186AFFC3DFDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5CBF59C67F30E77F408EF2A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + 5CC1850C4E76C0825DF9F9A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + 5CCF73F6CF5A9AF81DF09B12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5CD2D4CDAC75E50E78ABE46C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; + 5D2270DEE9D5C23019DEB152 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 5D65D7D73CFD4C3292B44F07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5DB6DA27DC5C022696109EF8 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 5E151D89199CE9D3E7C3F0B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; + 5E489080FFCF538C3170739B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; + 5F1FD7697F7FB42EA6E9CDBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5FEF4DC42947B82D016071A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; + 602F2E014E4796C2DA29CDB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 607D538C599F10798C3399E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 60B660A81EF1085EAD5184A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 60D5DF22E19891DE5F69CC8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 60E06352A02CFAEE12295CDA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 613B39307B80D6D9C4D62739 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6173081C862DEC593FC80E05 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + 624D83262AB7BACCD81A4B50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6295F7DF5F087D52FD31265A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; + 62E68C38E001F2FE60397D3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 63E1D500C9E6654A2EA5015B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; + 641CEAEA5DDBA04D348E3E58 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 644E389974336014E8890F31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; + 64515D56E168E26DE6679FF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 64851AA6F4FAEAD9E3CB5D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 64E7DC1B23F237CD9F141439 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 65B8AFC880FE18CAD80D0C4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6613704E18148830091DF585 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; + 661F33F1EB949D590090D53E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 664D7BAD62148780288B4904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; + 66FB9E52B611D5E118CED62D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 6776FE828D0C9AAC3F12EA59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6791A6621D6D8937D8BB3418 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; + 67CC682EE03AA0B82CCE2C2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 67D198D7BB5C246B87507FFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; + 67D88DDD18716C1D7AC783EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnailCache.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + 68626EA8EFEFB457495DFC58 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6877464D85600AAC5F84F063 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; + 68CE13A021B91CD24AB856E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 69279A43C4E5EFCD851E6E2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + 697A591A67A38D7807665407 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; + 698E098BB958CC4719E2166E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; + 6A1102C4FB362652CB575CC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6A6347D9B543CE96713831B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 6ACE33C4515448BE0DF400C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; + 6B2C313C20885C7B75D40ED2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; + 6B526A365078C24900C821B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; + 6BAD62D1E379BB05328C035D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 6BF891205F6EEAF85C1C0F2C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6C32FCD6B87189C1F43BD462 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; + 6C4F8F17F78FE9C8B45941D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; + 6D1F6926A1A3424AD520AEFA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 6D275948B4E4F4B5A5390798 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + 6D749A9561547CBF4C9D55FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 6D869E6ED7DF080A9FAF162C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 6D8FDB139E0FDCBD5641A097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; + 6D9E97482246DAD163EE58DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 6E0D954E48998693A587F2DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 6E12A19A4995DE066C7130B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; + 6E2E587EC9DCB2595D73A5CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; + 6E99388FCA0417BCE813EAE0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; + 6F3004F968CFEFA5B776AA32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + 6F681F8D57B92084BD4DC38F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F689AC4B401D474507500C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F87BE5F4E3B7265969D48D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 705D210EADDE876947060561 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 70A73FAF31B05C5DA4CE35AB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 70D98CAAD904CF7FC923F24D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 712FD99244BEDA356A73A60D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; + 713CEFF3ECB6CB4EB74D2324 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 713E158BCFD9D0B61AB3DF2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 714F603CF16614D65F89340D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 719100C7D7C3AD37528165B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 71AB2D9F86EE978F739150B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; + 71C44B75937129DA6001F9CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 722A961347F2FBFBADD22E88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 727001681CC52AB3D9D0FDA4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 7287E94D566F0CCB336585D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; + 72DA84A591B2827C323332B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 72FDA2118BBEAF1B8AAB2D74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; + 7354BFA17F9565BE32B449D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; + 737DE6483F59E9AAE31B8568 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7395529C7D5D264BCD3702F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 73B2312BC8C5D5A5A7AD87D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; + 740B836DA87A1C70DD06D1C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 74D736A2BED0751C2A3C1BFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 7552ACBC68EF48B063F619E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; + 75A55732BFBBC2BAEE28AACF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; + 75AB14C9D97B3563BE688EA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; + 75BAC34D9924B34C89B4D26F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; + 75C69A20FBFD837BC86D860D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + 762FD953C2BB53F5DC9CD403 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 766259EB7D04DF87556127C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7664ED4E8E9E543AB1ED72E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 768E5A86B7E84A146818B866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; + 76A5E0AABE31E9D19F5BBCE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 76F267A1568C2CAA1BBC3B5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 76F5916C8F6C275EBBC12901 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 771D65718BE0B30E711461D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 778A0345A4F0B08ABA3ED5F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 77C55D5A6C29BB84028BF4C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + 782C982DE17D3619F58453B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7851D44D38C6B206AD0134D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 789920BB98BF607E690B01BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 79703B85F426FD4DF5C0AC42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; + 7A32476DF07EE4C33512F01D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 7A356CCD42F455D41990C69F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; + 7A7925B71E4B01A22C6E7453 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + 7B2895D4FB86B3B075610B53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7C1FABF9A21D7211D6E1420D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; + 7C3E3ACE7E74B1ED0C3BE343 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + 7C47594E189DF41C1A9A697D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7C86E886C3FCB671004E1CA2 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + 7D5050E0DD69CB60EF1B677C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7D75EB56FF74B25CAC8B3B56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7DBFDC2DAFD57DF638D745E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7DCF0A2E89D3CC5C976411D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; + 7DDA47BB9CE313C8AE917F40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7DE30FBED9393A59FF08AFC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; + 7E60DC744D035292F8A7BB97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; + 7E787DB76F02DE3326E608A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F5C171BA5EA9E83295B7498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7F9D7EC0BE80A6DA54A9805D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7FC679066DAC1C23188A46ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; + 7FCEC7C5C54AB90A7709406F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 7FEE5FBF562E44ADD32CAFAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 8002BEBD6AD4EE01900CE16A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + 802E9ACA0F0495F366FD61D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 804EF2A74F928AE02E380D38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 80CC6E5181AE8A06FAF7792A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; + 80D99C9EB9437791B2317ED5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 81505916961455538E9B1A7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + 81B5028748B2F81CA1F4F9EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; + 81C9752ED058D6AAAE40E021 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; + 81E9F11630D26DFBD0A93618 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 820C05ED738EB5A0B1D48AD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; + 8292A39754EAA00C8AA376B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; + 83F1B63878AD351B064B301B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + 84030B3A2263DEAB1A2EC8CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 844235B2D29429BEF2F7D184 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; + 84C7DA39553A08EB2F357718 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8563FE036E562AD98EAF4FE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; + 856659253CBF8304601F4FBA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; + 862FE36C50506109E33D6E88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; + 86F9F3EDDA98B10C15901578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 87068D2C6B2EF98F548312B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 873BD4265902B4FB6CC3A0A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; + 87766D3A5FC3CB4ABB3D6ED0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; + 87B85E49FC448CEE97FCE14E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 87E0E3F42A5E6C795C3769FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; + 881A14535E84A919974D8F84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 886CA18FAF31B80A3604C5B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 88AA420D1FEF4EB95D8166FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 88F756FE30BD5DEA47C1725D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; + 89163E9DB0626DF42D686130 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; + 8930689A13E07781BE58FA24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; + 898B5EF2CF5B2303DE59B07A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 89C90F8B0901C465E356C6C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 89EB6DD3E34A7D2EB520D929 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A10539F3D428C2836A5178E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A1FB5D85766EE499267EFCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A5772ED4AE108BB21D97514 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; + 8A66BE4644118DEB1EC06A19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 8A94F716483CAA5DBF139053 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A9D3CD0BDC7B8597C5F8A07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A9EF3F9FEE1D45AF1EB7D41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8AD5C1E90DE18441407D769D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; + 8AF7405E7AF18A44BF24811B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; + 8B01626CE8C886F18BEC9178 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8B572C8BD4106047C3A46EFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8BA6EF260D361C1FC16E338E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8BFB376F26710685A2BFDE62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8BFEC7409742F768017FC3D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C55F3C3E8ADABF3E2B72A12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 8C6C4C23D1B376C95C2B5F7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_events/broadcasters/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; + 8C7A9D19E4BF794F25112C92 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; + 8C96A8A1170495B6693F2FF9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; + 8CC6758FB15124F3CF345CA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8CF06B5E9E25293F79B15242 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 8D263509D4EB25038163FB5D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8D57F62E9C62502D6C8762D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; + 8DC66AE55D8DDC757FEFC35D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; + 8E6345C2A24786DB002C85A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; + 902E481701585587D0AF4735 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; + 90ACD3C39C69C46B567D1DAE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; + 90BDA0B8FE4A26E5298DAEE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 90D0993A08E71E212911B4E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; + 9169D30719C69B4CF1EB6061 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 9214DF8A087BB905EEB1017B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9257CFECF4696048B828768D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 929ED279A30C759680096CD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 92A68AA34859E8DDC511D21F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; + 92CABA9C9B5148FCA22A0503 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 93A5B72C4030F63A78120194 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; + 93B34B16D67C27ADD795D346 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 93C5ACD4E394109C97132641 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 948076D06B104682079290E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 948DDA1658E532819DC1CFC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 949131E58393C7020549AA11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 949FE95B13456FDD83BC4719 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; + 94EA75B72A8361A33A498EDB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 94F37F7C1FF260E499DF95CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; + 94FAAA6CF20DF5854F277026 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; + 9521308539218CF751ED1B1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; + 958E73D19425EE81B17EA8CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; + 964D86CC6AD404519F939215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9708B38E625B426432C46439 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; + 973257D8FB62DAE78ACE85DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 97F0F9EB4F3131BE9C4684D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9837ED0D470BD0E633A71F04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 98DFC6A85CB893442E014D84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 9A07C2A820D1A4D1C5429E6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A123AE56C9C5AE3BE0E2800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A26AEA080345998826A7F9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9A2D9A5DBD78446D8878717A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9A31450E90F82EE417285AA4 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; + 9A54516E1DBD569C24F521F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; + 9A577EF18204B6FE35D227B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; + 9B28308E02810E07AA5D9FA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9B47191752AD5B64A858FC13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9B83CA7A03621F4DE0B0C3F5 = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = AudioAppExample/Images.xcassets; sourceTree = "SOURCE_ROOT"; }; + 9B8E99199DFF5A5588690C9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 9BF096AEDF125991249E696E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9CC7A321D4B4323FF06A03B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D12A31934633A579D324B96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; + 9D6101186894D8F444AE1162 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; + 9DC7E8A153861BEC0C8205A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; + 9E008BCB36772AA2445607FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 9E20217FB413D60F83A931AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9E67899F08C1CB65A37C728F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; + 9E7E1945498A6BC57A2768EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9E8979F0765D76FDC54E0FA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; + 9F0363632194A6415E392DE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; + 9F14A2AA61821A565FF22D39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A003021CCCD1F8D2200E9066 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; + A08FAB7BE9C27D36087D4B45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; + A091657F22DDCFFC2D0E3E68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + A0A94042C6D636512C7A41EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; + A0B6BA5149627A02342A1691 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailCache.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailCache.h"; sourceTree = "SOURCE_ROOT"; }; + A16CAFD9F29F03D5A11457FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; + A18B835EB367E1D27693517D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; + A1CC4DCD28D612221D9B445C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + A1EFE173102C316855A3E277 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; + A20A2F639F28E15631EEEA35 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; + A311FDC490ED65A08E3B8B61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; + A3784CA5E1195E1792E617F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; + A3A119C6E5ACA90C03A77A04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; + A3C671FCF17ED732E654C652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; + A3D1C2B1D20BB35EABEF5D56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; + A3E8C954C194E24AE1907AE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; + A4371BEE6FAA21EAD5E50D9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; + A47775D4CDD050038883A890 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + A47A4A946381F45AE898A70D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; + A4B3FB3D6F0A5EF90023F514 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + A516757003C57D4D3E5C637A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + A535408525D77AD8CD01315D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + A594E86AD063F609FCD9888C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; + A59C4B4BAC10B374D8CD17C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + A64E0921A828155BF1F5455C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; + A6810E5A98CB9E4244EE6361 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; + A6A6BF31BD4CE0ED3B3B472E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + A6D365F17431ED5DE20C31C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; + A6E5EC33E5F9767654EFCB25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; + A6E737E1560A81E5A45DD9BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; + A7FC8A80F3BF7EDCBB40DBAF = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + A833D4B8902DBEF7D8B32E50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; + A8452D6DA370E42EF91F1555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; + A8CEABF70ECF7561C73604C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + A943021729B460E5CF76D54A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + A9AE20E7B5E5A3B47C18EC11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9B5EEEAFA441F850358281B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + A9B7641B8DC31EB20DA18BB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9C0D755D2D644AB9B9EE13C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; + A9C31C52F36697E74384B83A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; + A9E584C98134D88F8317056E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + A9E6F251933166D931848C0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA2C868E050557A1CCEFB5AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA78AF689E1B8E9B48B6E271 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; + AAC4E65438260939D18D3F40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB8486AC595BB23DB29EDE78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; + ABB6B2384A0390705A173633 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; + ABC57D52DD141A202B145B54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnailBase.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnailBase.h"; sourceTree = "SOURCE_ROOT"; }; + AC5BB40FA10713128CC9A2A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; + AC8848FA6745CDFDFAF2F927 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; + ACBD4C9D390EC20E0A37FAD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSampleBuffer.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + ACD7AEECAD82866A14BB111E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioThumbnail.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.cpp"; sourceTree = "SOURCE_ROOT"; }; + ACE73C5C489D1CF6D4824776 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + AD258805D250E1D7B3ED5E56 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + AD7D7A1631818FAFC9600F3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE1746EE8E4FC95FC3635940 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + AE88491D97D08B1215C182B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + AF1DDB78AF70C25D07D77387 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + AF36619C034B0D33F93CB70A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; + AF3E236113F3DADC4F2D59D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; + AF3F2DA7FA59ACA4E789A401 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; + AF601ABA3B20D0E5999328C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; + AFA2ACD68CD580639886A60B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; + AFD134A52E53280F52870EF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; + B043471A2BE93BA496CA44C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; + B04E7F101D9B104C6E4F180D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; + B05B1D7ACE1C33319A87328A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; + B06A9120276E8875161CFC7D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + B06BCB5D9CE908831C7E81D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + B0C8BABB5E59C2F7FAA37689 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0F79D18A4A523D01E05A940 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0FFC533F760AED1CE7B2BC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; + B27AB74B32E014257ACF7EC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; + B28EBA2EDF0E543EA1ED374B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; + B2D1342CC46A382FEB8043BA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + B307D90DA0DC9A76DC723878 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B343ECF6364A1693C3E86562 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; + B35E6FA7FA077CB7887CB7EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; + B463D24B6025AB064E03FBE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + B4EBC54E160BF6EFDA54A708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; + B50129FF78D1FCC64DB4D51E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; + B54E4A120CB79F8BB5BCA1E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; + B595F0B82E93560FC2CE5EAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; + B59C7AFE7DA427E795F736CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; + B5CA0C1C957C04A44E778E85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + B5CF56ECED7AB7108C7FA24A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; + B5FF1E4CC8E4177744F0833D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; + B663B0FD7F2FEDCE59A40373 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + B6FF0E28C1E186DD9E97F838 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; + B7485EC80869B5EAE869B552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; + B7C588B87E09F887C6CB73C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; + B7EF396405CB14D1ABDF709D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + B804B9C7C6CA696B7410A629 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + B84ADDD01BAB1B1E21DDFF07 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; + B87C42BDAE89E73E982EF85C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; + B896CB8307AD3EC317794847 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_utils/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + B8DE8BB323D2F1889BD7CF8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; + B905BFB6C174B284D84339A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; + B9425E1F94E5E6337E390B9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; + B98D12869BACB1D0ECB4EE95 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; + BA27FD5D74A9F7C7D0660EEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; + BA4268340FC48F04264E4992 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + BA724CE76B93BA0DF39FCC6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; + BACFDC91EDA31FACCF2B15DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + BADB10DBDB2B94E03AF14B91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + BB3DB74A8843A5C315854394 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + BBA6F050F86F5DC509CBB4B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + BBDC1C7DE652B571ED885097 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; + BC3E6DE998377FFB8E61EF44 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; + BC4C2690333D8622D054E99A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + BC77947BDED20C022DE3D8B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + BCDA77D2C1C152DA77B2558F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; + BD70FA4626657FF1DEBB10DA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + BD818EEF611179A02E2667BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; + BDA38AB61C19E4924549ABD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDC870E69E95845672295AB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; + BE187CBB955859129715DCEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; + BE439FE1379CC46AD8DA5F78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; + BEF6E9C8B9FE65A89F84DD3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + BF0600EC50B69C509612CCB3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + BF44CE913E3ABC7CBD3A7005 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + BF63AD2390FFED75EECD4FAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; + BFB539E4567CACD9D0DE55E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; + C02300F6DDD1A5D705603B0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + C03B12980850005B9ECF2E17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0813C1842A72A80AEBC8D3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; + C08F4E167F53BD59708ABC46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0F2634964D63D63A8A9E892 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + C119EC562AC9BCE4E6B61067 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + C1E4AD74F8C069DBFBA4E782 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; + C2015BA8A41561F8A723C50F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; + C22ABECEBF209672CC22F38D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; + C33A6A02E9F92ABA9618DD67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; + C3429B905F1744303CAE83AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; + C35667BD04402DF29D3FEF8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; + C3DE0ED05484B10615E59191 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; + C40EB67E7237BE2217C1E7A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; + C4117C0CDD0F80BCA4E8E9A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + C4A9D089AA401E6F8244181C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + C4F60DBF5BC6169F4B7357A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; + C4F92727F81156801D2F61E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; + C56587798EDC116C137A1DF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + C5ACDF0DCF5337C0B0AE1AF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C5CAA1141DB6800E4CE2CF51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; + C5ED1DD6D94C2FF75614E4A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + C5F3D1E74B44903AAC0126D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + C66D267FAFB0ECDB23F3C00A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; + C771A511AA82C6C652D4FC70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; + C772B460012E89562C4D93D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; + C7ED330EB140FCC0B096E2E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; + C807A91F69CF02432499E1E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; + C81CCF965B4C7E21308B305C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + C86F3258822428DB91009687 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + C8A3BA380B7DADEBA46EC1FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + C92EDF999BB6D02D070A8A62 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + C945BC507F2AFD320F0FA60D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + C9580CA9036A8E4144BFB904 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; + C95E510FB09338D7BB74781D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + C987F7105C386F9799C74AE5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; + C98ECE4B1357FDC58A90EDBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + CA3E9C9CE9CA59B370A81095 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; + CAAD0D8023B1EE063FE7B3BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; + CB0B2A556417D63523EA8C83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; + CBB3BF85622B9B875544C558 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; + CBF985C3779D9B0BFE5F15D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + CC180EFFA43B485F1A6DE764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + CC27C420117D56ABAB4984C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + CCD10DDE00405843C68CD278 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; + CD10CB521F53F36674738E3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; + CD13739C3599635DE5F687B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + CD8C53CF62B19A8E549D5C71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + CDD9D8D1D0DEED5F91CD0503 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; + CDEFD12DAEF30B7A13DFF8F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF01DB44007FF6940848C91A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; + CF16FBA5840B89D53711C89F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF412309E5514E05CBD2A30F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF6B3F4DF15D7BAAEB2495BC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; + CF746C34F8DB1B073F1A4FA0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D045327CC8A3E0C370070496 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + D08758C4B60AE0ECD82D8EF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; + D1504817660ECE621AAA066F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + D1A83AA1BCDB061B528DB415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; + D26A4E01842FF08AAA34B9D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; + D28E2CC83808A521E99BA3C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + D2E451A096DED665657647F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; + D34801677A2E2B17CD6CF93A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; + D396F2D0FF34CC5C59FA3DC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + D3AE4AEF45E4694F90FA90BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; + D41591FF892A6E2E672C7A18 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; + D45B9852EE24763DB29A07CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; + D45FA51540441FC7D57E016A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + D46770CDA754135BF9471DF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; + D56D6ADB264AC3107EE2D5C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + D57B55B2B9CE6B6D9D6EFFCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; + D583ED6D9DF5CADB3AE660C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; + D5A52E8FCFD2A574B140050F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + D5E118687F94A7A960E7EC71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; + D73A06F366784CFAA87B7BEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + D74826F0CFF78A5C10D954C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + D78365C74082A1253E12AF17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; + D7867DB9C17425E3F05EB860 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + D7ADC23EB8DDCAA960EE5745 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; + D7E99FDE83844ECAA502376A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; + D817A6C2192C3954C8B63045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8A9DA040BE1279C9863B422 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8C1391D9B2819FC8257719A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; + DA0DD5BF97E3F28C9CCA4A74 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + DA366F25CE709950B866C7D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; + DA3C59A6D8FE2E93EF171A41 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + DAD5AF16CB91B3134BFDBA0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + DAF2DC4885AA5A5263A16E94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; + DAFB41CC5DFEED6280C3D776 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; + DB1613193F82A43CE17AAF88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + DB353F5970D6CF72284F6794 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + DB3F9BFDECB17176CD53C029 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; + DB597523D1985EA60A403B94 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + DB6C3F30A7B477AA3A695B2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + DB7A3C83FB705898F07C13A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + DB8D923C776A1038384A10D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + DBEE524633668464C9593EE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; + DC0D7D089158296DF472F703 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC52C218059FD576DD0937FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC63BD4245A44AA0E41382E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; + DCCDC8D852E777EF63078AE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + DCE3EB6C3DF640697ADD3F0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD7C6F9CAF5CBA11B6024A83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD970DAD7E15CD399583110F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + DDB141526302B59595C3A584 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + DE6FBEE731028F230A86F223 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + DE90A7AD96CDF9332CA4B1CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + DF0EBC428D40282CD24D2015 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + DF8AC8795BBD9CC5918F5969 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + DFD0AFFFEC046CBD6E837825 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + E0026785667979561D036936 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; + E03B0CE2DF954597EDE01376 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E063AB1C1700670E900C28AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; + E0EEC67C10363E4FB3C0B956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + E0FBED51F796AF5616D51696 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + E10E5BBBE8515439D764CBBB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + E192C84132D30E43D30666A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; + E223F2E916CC8884D48BB2F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; + E22ADD78D920B09EECA708B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + E238C3F270655B4324101263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; + E2B8FC5BD4B67250BA9335A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + E42E9716C4B77E32053284A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + E43C13DD0E648037E8DAB7F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; + E4E6F10141E07DE0F2960C2F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + E4E97BDAD6209A76EA5B0CA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + E55C6DF8352F3FBE56499775 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; + E5753506CDDFF88D638975ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; + E6096A408885ECA69BCB15E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; + E6538FD6973A159756E2DC91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; + E662D32EE899694C2F360B77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E663E110A4BE0E43ADCC7ADB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; + E6FD0E2AE90C1053B736D210 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; + E7B5CA1BD06F33C213FAA37D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; + E7CF28977428BDE6A175943C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + E858258484916776F887FCDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; + E889D7DD7AC4FCA48517B2E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + E88B889CB23D7A61B31FA1E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; + E89A3BC0B3BD6CCAEE267855 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + E9294BBF9D2B39F77DCF5145 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; + E952B3E43DFEDB951B0CA41A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; + E96860404A16526A491A14C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + E97F0C403AFAF4820EDB55F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; + E9AFEB90653FD6CBE935D29D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; + E9CAA6108E4CC9A8240EDDC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + E9CE9F9373D3557656DFD116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + EA85ECBD920A5EE3E79B57E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; + EAAA2AC12D38A7162C99E24B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + EB1D64642D7FA904D675770E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + EBCA45F1E4BF7ECD899318F0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + EC41E20B845B695675761614 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC443EF07555D528F21945DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + ECD6FDB8D99D661E23915E85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + EDAA8D220CC237DE5D612F47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + EDB90C4006AC89CCFAC4AF82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + EDE49EEE9EF8B5202426D948 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; + EE60FE123A1E8C7ED4EE2C8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; + EE873579BB45504067BDD773 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + EED45AF0FE17F2782911D0AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; + EF0015657F3C994B1C76C306 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + EF14BD536F709B7D6B9F68F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + EF8B1B7A2AB1498859BCF0B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; + F1666DBF5DC7FF6B94C0F0FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + F5B5D441C4AB1D01509ACC8D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; + 4B8E8BD3DEAE0C479D04F571 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AudioAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; + EBE6C07DB63AAA1F750C22F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; + EC7A2DEE957A2B375201FC12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; + EE026B40E1115ED7C21FF7D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; + EF9C89B3C7A5808769ADFD76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F06CE10515F49B1DC5E87353 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + F0776755F05C2BF5C7AF4FDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + F16BDC9AFAD544D72BF6DC3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; + F20271230BBD0224FACE29E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + F3425CF4DCD715471072DB82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + F43D110150D84A1CF0B65F0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; + F4DD9A24D4B78E8DA2558487 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; + F5158122AABF8E950827F2CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; + F75D109BD33B5C057C150155 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F77BDA821AFA286E0B7CA733 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; + F8412676F1B3EAF03D7928FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; + F84DED97A83644758D30181D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; + F8A71BF8EF7965A2F9B0E396 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + F8E04FA3724E51F271D61F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + F90C21F489684D23EDD78BCE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + F93E820028869AA360740BE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; + F940D16031F521E526383AFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + F950431A9C0864A8EADF9996 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; + F9EDE109342E77467BBB4D13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; + FA01A4ACD8E51ECC2D1C1B63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + FAF3143A9CAF9ECAF81AB3D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; + FB21D85F25FF7C468331BAEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; + FB4B0B7CB3B7693E633DF85D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; + FB9D900CA19E8894F1F05F4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; + FBABB528D9CB9FCA127D3702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; + FC43C9F152FA300C417AD510 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + FC4F4A4607AA7CA722526B99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + FC9E35A083FC90411722B192 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; + FD81229B12072A6A5D27465C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; + FDA2E20181EEDFABEE8CACCC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; + FDC2F46EDF05732F05628411 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + FDD141E4E766AED3F01003B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; + FE004044BFD20BEA4153C471 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; + FE0594A998F5C9FE8C2A11DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + FE069E74A6308FF79DF3DC29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; + FE39247372F71DB8B9D7DDC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; + FE87D270C0095EC7B0FC0F51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; + FE8F197A2BB3631561C8A694 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + FEEE17569A737C486258BC9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + FF46CABD4A7C29380D4CAD26 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; + FF68B4C1DF411EED5E88DBAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + FF8A2AE20EED8687EA5D2A00 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; + FF8C6075F2D81FC3EF7588FE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + C366FD2226833583ECDE68D2 = {isa = PBXGroup; children = ( + 2545022A0EE088A0C46EBD13, + D78365C74082A1253E12AF17, ); name = Source; sourceTree = ""; }; + 24BF2D05D134C386864C4C7D = {isa = PBXGroup; children = ( + C366FD2226833583ECDE68D2, ); name = AudioAppExample; sourceTree = ""; }; + F2E49DBAE98ABA5E5C031BCF = {isa = PBXGroup; children = ( + C2015BA8A41561F8A723C50F, + 9E67899F08C1CB65A37C728F, + ACBD4C9D390EC20E0A37FAD7, + 9169D30719C69B4CF1EB6061, + 10F336062BF70F1171393EA0, + 5AB7146863FE8F4F5AD7A092, ); name = buffers; sourceTree = ""; }; + 20B9CD59936ECA4363FCCCA8 = {isa = PBXGroup; children = ( + 49245E8C5141A64C17209913, + DB353F5970D6CF72284F6794, + 3A0DE69457B7A75B13579949, + 0FB03F29666B9E3588BCA21A, + 283761EE00FC441F1881E282, + EE60FE123A1E8C7ED4EE2C8A, + B343ECF6364A1693C3E86562, + 63E1D500C9E6654A2EA5015B, + 81B5028748B2F81CA1F4F9EC, + 367C43A83F6BBA49141755B7, ); name = midi; sourceTree = ""; }; + 0986D33A60CD7179F02B9913 = {isa = PBXGroup; children = ( + CDD9D8D1D0DEED5F91CD0503, + 4E910C3EE26D3CB30DE64DE4, + F9EDE109342E77467BBB4D13, + 9257CFECF4696048B828768D, + 6F3004F968CFEFA5B776AA32, + 75BAC34D9924B34C89B4D26F, ); name = effects; sourceTree = ""; }; + EFE5C5B22FE69C3D3F927196 = {isa = PBXGroup; children = ( + 2C255E6DCF96BD803B6EA875, + C5ED1DD6D94C2FF75614E4A0, + 0A9D1C8737F68D63574FC517, + 771D65718BE0B30E711461D1, + D045327CC8A3E0C370070496, + 3126074952DF6879C42AF9A0, + 1626D80AAC03E9C00A114311, + 929ED279A30C759680096CD5, + 76A5E0AABE31E9D19F5BBCE2, + 6D1F6926A1A3424AD520AEFA, + A8CEABF70ECF7561C73604C4, + 7395529C7D5D264BCD3702F6, + 6F87BE5F4E3B7265969D48D5, + 5435DECD3AC65DBAC5C2A267, + 0407B0BEDEA7EC85B84197CD, + 163C76000FCA6DEEC7C240EC, ); name = sources; sourceTree = ""; }; + DA41D3DA8DDD60C67A4A2AE9 = {isa = PBXGroup; children = ( + 84C7DA39553A08EB2F357718, + 0AA4DFC6689DAC5C6C6D30B3, ); name = synthesisers; sourceTree = ""; }; + 42D107F741897BBB52B61202 = {isa = PBXGroup; children = ( + F2E49DBAE98ABA5E5C031BCF, + 20B9CD59936ECA4363FCCCA8, + 0986D33A60CD7179F02B9913, + EFE5C5B22FE69C3D3F927196, + DA41D3DA8DDD60C67A4A2AE9, + 02CF5AD726503AFB1193C81E, + 886CA18FAF31B80A3604C5B3, ); name = "juce_audio_basics"; sourceTree = ""; }; + CB1B7A138B91EEBE7BFE8C37 = {isa = PBXGroup; children = ( + ECD6FDB8D99D661E23915E85, + 448B223113A96B6D7C026E0E, + 782C982DE17D3619F58453B3, + 67D198D7BB5C246B87507FFB, + 37DDE4779BEE726B73257328, + B043471A2BE93BA496CA44C9, + 1E02091AE0A7BB79608FCC0D, ); name = "audio_io"; sourceTree = ""; }; + 11FB0A16BC11F8811563E23C = {isa = PBXGroup; children = ( + 0F7E54460D000A212BA37807, + A9B7641B8DC31EB20DA18BB6, + 77C55D5A6C29BB84028BF4C9, + 2F02F02DE72872590941BD0E, + 2296650D710569DE62A1ED84, ); name = "midi_io"; sourceTree = ""; }; + FA179D6940326B16EA8F4EBE = {isa = PBXGroup; children = ( + 550A729142AB16A20BB99123, + 9E8979F0765D76FDC54E0FA3, + 7DDA47BB9CE313C8AE917F40, + FE39247372F71DB8B9D7DDC1, ); name = sources; sourceTree = ""; }; + DB3BC4FF9BBE474A50B1BD39 = {isa = PBXGroup; children = ( + 81C9752ED058D6AAAE40E021, + FF68B4C1DF411EED5E88DBAD, + A9C0D755D2D644AB9B9EE13C, ); name = "audio_cd"; sourceTree = ""; }; + 75059FB5256785C4D9234524 = {isa = PBXGroup; children = ( + 80D99C9EB9437791B2317ED5, + 802E9ACA0F0495F366FD61D5, + FB4B0B7CB3B7693E633DF85D, + A535408525D77AD8CD01315D, + 28E18ED64628E325B734F817, + D5A52E8FCFD2A574B140050F, + 434777F5069C5A1EBFD0ECFB, + C0F2634964D63D63A8A9E892, + B7485EC80869B5EAE869B552, + 0ACC027581F750956F3DBF81, + EC41E20B845B695675761614, + 4302CD9CA740EBE5891DC3BF, + 902E481701585587D0AF4735, + 8A10539F3D428C2836A5178E, + B0F79D18A4A523D01E05A940, + 8B572C8BD4106047C3A46EFF, + 4E81FC636E217976041F8FD0, + 0C28072364B08528A9AD5B85, + A3E8C954C194E24AE1907AE2, ); name = native; sourceTree = ""; }; + C1CFAF0419BB789AA0E38629 = {isa = PBXGroup; children = ( + CB1B7A138B91EEBE7BFE8C37, + 11FB0A16BC11F8811563E23C, + FA179D6940326B16EA8F4EBE, + DB3BC4FF9BBE474A50B1BD39, + 75059FB5256785C4D9234524, + 5AE6D28B2C36587A4F0E9DE3, + 41DC9C31FE8A27E721AC95C6, ); name = "juce_audio_devices"; sourceTree = ""; }; + A829EEC7C9D388964229DE57 = {isa = PBXGroup; children = ( + 3E9355CECB4C063F13CC481F, + 582CAD0FEF6DC8676068004C, + 1176710342A96CE5E736F504, + 0BA2BBE2C12EFD349C06114E, + 9A26AEA080345998826A7F9C, + 76F5916C8F6C275EBBC12901, + E0FBED51F796AF5616D51696, + 4B57EFAB122FF8AD8A15DD4D, + E6538FD6973A159756E2DC91, + 75A55732BFBBC2BAEE28AACF, + 62E68C38E001F2FE60397D3F, + D8C1391D9B2819FC8257719A, + F8A71BF8EF7965A2F9B0E396, + 87068D2C6B2EF98F548312B7, + C945BC507F2AFD320F0FA60D, ); name = format; sourceTree = ""; }; + FA1254B776BFC3471DB96D0E = {isa = PBXGroup; children = ( + 7C47594E189DF41C1A9A697D, + ACE73C5C489D1CF6D4824776, + C95E510FB09338D7BB74781D, + 15BFA127CCD1E5D6F0647773, + C92EDF999BB6D02D070A8A62, + 0A160966A8128AB989F20F56, + 46EC28DEB32461DC57FC8091, + C98ECE4B1357FDC58A90EDBD, + B2D1342CC46A382FEB8043BA, + 789920BB98BF607E690B01BA, + 3210EE9DCE0CBD81D22F13AC, + 727001681CC52AB3D9D0FDA4, + 3B646957B5DAB8CAF910B83C, + 0580BF897CA7540D4B195702, + 506252B820D7D570B2D1928C, + AF1DDB78AF70C25D07D77387, + 881A14535E84A919974D8F84, + D28E2CC83808A521E99BA3C9, ); name = codecs; sourceTree = ""; }; + 2A60CB51A3C591E01CB900F8 = {isa = PBXGroup; children = ( + 0029311BFF31395FD00963CA, + 75AB14C9D97B3563BE688EA8, ); name = sampler; sourceTree = ""; }; + BCC969C3BC478853FD7E336F = {isa = PBXGroup; children = ( + A829EEC7C9D388964229DE57, + FA1254B776BFC3471DB96D0E, + 2A60CB51A3C591E01CB900F8, + 5BE6EA9AF8FB65EE6C5A2DDE, + B28EBA2EDF0E543EA1ED374B, ); name = "juce_audio_formats"; sourceTree = ""; }; + F94E85FEB3110173DE42317B = {isa = PBXGroup; children = ( + E9AFEB90653FD6CBE935D29D, + C771A511AA82C6C652D4FC70, + 7F5C171BA5EA9E83295B7498, + 8D57F62E9C62502D6C8762D5, + 13BE8F3EF3319E21ADCF67CE, + DCCDC8D852E777EF63078AE1, + 5CCF73F6CF5A9AF81DF09B12, + 421D944B78CB2925F3073FBC, + A594E86AD063F609FCD9888C, + 3ACBB7FEA688DB5A3B3C81DA, + 6A1102C4FB362652CB575CC2, + 948DDA1658E532819DC1CFC2, + 2A35B8768F9F47F2F4AE5223, + 94FAAA6CF20DF5854F277026, ); name = processors; sourceTree = ""; }; + 9EEB441FDDAE7DD5F3E24041 = {isa = PBXGroup; children = ( + 21ED255865DBE1B9B27CE0CE, + A9B5EEEAFA441F850358281B, + BC77947BDED20C022DE3D8B8, + D45FA51540441FC7D57E016A, ); name = format; sourceTree = ""; }; + 2897EA058D69BF9B0C8A446D = {isa = PBXGroup; children = ( + 7FCEC7C5C54AB90A7709406F, + B905BFB6C174B284D84339A2, + 973257D8FB62DAE78ACE85DD, + 37737A4FE37D244DCF36F8AE, + 040F3CA16CF425185E82976D, + 6C32FCD6B87189C1F43BD462, + DB6C3F30A7B477AA3A695B2D, + 6D869E6ED7DF080A9FAF162C, + 6C4F8F17F78FE9C8B45941D3, + DD7C6F9CAF5CBA11B6024A83, + 5374AB638100ED67F198E888, ); name = "format_types"; sourceTree = ""; }; + 83B7987F50AC8F2EE5E1C2A0 = {isa = PBXGroup; children = ( + 1B92C858971081339CAC889E, + FE004044BFD20BEA4153C471, + DC63BD4245A44AA0E41382E0, + 3FCCA7A2BBAC3F32C28A41CC, + 31BC85796D2F77677D4977C8, + 713E158BCFD9D0B61AB3DF2E, ); name = scanning; sourceTree = ""; }; + 0F1330B9E634C8C1D2A19EAD = {isa = PBXGroup; children = ( + F94E85FEB3110173DE42317B, + 9EEB441FDDAE7DD5F3E24041, + 2897EA058D69BF9B0C8A446D, + 83B7987F50AC8F2EE5E1C2A0, + 30E959B23AA2EBA0CB11D121, + 5E151D89199CE9D3E7C3F0B8, ); name = "juce_audio_processors"; sourceTree = ""; }; + 785AC00FC0793B0127274AAB = {isa = PBXGroup; children = ( + 9CC7A321D4B4323FF06A03B9, + 6D9E97482246DAD163EE58DB, + 97F0F9EB4F3131BE9C4684D9, + 56BBB410F5117805919652E9, + ACD7AEECAD82866A14BB111E, + 5FEF4DC42947B82D016071A5, + ABC57D52DD141A202B145B54, + 67D88DDD18716C1D7AC783EE, + A0B6BA5149627A02342A1691, + BACFDC91EDA31FACCF2B15DA, + 0E8660300B58F0FF90907C93, ); name = gui; sourceTree = ""; }; + 7B29609B00A97DB47552F081 = {isa = PBXGroup; children = ( + 4DA82F4EA6B042B411DB20A7, + 59D6E450E7823A809631B85A, ); name = players; sourceTree = ""; }; + DCA2C59535A97CCC2E7E5D5B = {isa = PBXGroup; children = ( + 785AC00FC0793B0127274AAB, + 7B29609B00A97DB47552F081, + B896CB8307AD3EC317794847, + 5736EEAD19F704D8BC0D63CB, ); name = "juce_audio_utils"; sourceTree = ""; }; + D4AD8131D5DDC542D8D8462D = {isa = PBXGroup; children = ( + 70A73FAF31B05C5DA4CE35AB, + 2763141DB90EDEB924F549B9, + 6E12A19A4995DE066C7130B1, + 697A591A67A38D7807665407, + 16C249B2489B726FA38EB40C, + E6FD0E2AE90C1053B736D210, + 7E787DB76F02DE3326E608A9, + 3F76E39F5ED6016AE007D846, + C3DE0ED05484B10615E59191, + DAFB41CC5DFEED6280C3D776, + 4046F9FFC62FE0E597136A28, + 7DBFDC2DAFD57DF638D745E1, + 69279A43C4E5EFCD851E6E2B, + 76F267A1568C2CAA1BBC3B5B, + CF01DB44007FF6940848C91A, + 719100C7D7C3AD37528165B6, + 6791A6621D6D8937D8BB3418, + A9E6F251933166D931848C0A, + ABB6B2384A0390705A173633, + 40046E402D3BB5D37AA9DC07, + FDC2F46EDF05732F05628411, + 379CFA695DBA290674B9466F, ); name = text; sourceTree = ""; }; + 66CEC72801EF9BE77D39B19F = {isa = PBXGroup; children = ( + 52D2F52B7284090A8CC4F18E, + 449F72688745585AEC908DE3, + 8D263509D4EB25038163FB5D, + 15C4E5B79331FFEF10E553D5, + 59F516B1F82F487ED0B8A08C, + 5CC1850C4E76C0825DF9F9A2, + 1399DD492AC9998A6513E251, + A311FDC490ED65A08E3B8B61, + E88B889CB23D7A61B31FA1E9, ); name = maths; sourceTree = ""; }; + 9C56D83D3BDD05DEF239F71C = {isa = PBXGroup; children = ( + FE069E74A6308FF79DF3DC29, + 2651FD678A14B0751CB5D020, + 92A68AA34859E8DDC511D21F, + 53C3C3F56CEF7ED61F8451E2, + A3A119C6E5ACA90C03A77A04, + 8292A39754EAA00C8AA376B0, + 12D1ED411A617AB55887F19D, + 75C69A20FBFD837BC86D860D, + B06BCB5D9CE908831C7E81D0, + B05B1D7ACE1C33319A87328A, + 408AA1123D7BFE64D870013F, + F1666DBF5DC7FF6B94C0F0FF, + 7C3E3ACE7E74B1ED0C3BE343, + 3B39B66B640766E9B90E3046, ); name = memory; sourceTree = ""; }; + 7F38B22DBF6D9255AD0FF626 = {isa = PBXGroup; children = ( + 12ED2DA2996DEFA911F07ECF, + 303FE5650303C9D52133FDB9, + 7A7925B71E4B01A22C6E7453, + B8DE8BB323D2F1889BD7CF8E, + C22ABECEBF209672CC22F38D, + 856659253CBF8304601F4FBA, + E858258484916776F887FCDF, + 2BF48C4EED551C019F3D293D, + 296031FF025F31DCE8472A08, + 1C88AFF1BEE2BBD2646C3FE0, + 1F9C7404B23AF0D8456ED1AD, + 60B660A81EF1085EAD5184A8, + 51FA79658840D67F6DFB9C0C, + 169BA47FE95B0EFE39A1FACE, + 7664ED4E8E9E543AB1ED72E7, + 1FC260D4C2C8EC0D1C46B882, + 592858CDDEB9B1CF44D0CA28, + B54E4A120CB79F8BB5BCA1E8, + 25131D3A8F8DDF0094192DCA, + CBB3BF85622B9B875544C558, ); name = containers; sourceTree = ""; }; + 0AB06DB5C2631EB668C528A2 = {isa = PBXGroup; children = ( + D817A6C2192C3954C8B63045, + 9E008BCB36772AA2445607FC, + 118739F5BBF8A273FDF45CFD, + 0197C4DD5E7ACE14FF668D62, + 9BF096AEDF125991249E696E, + C40EB67E7237BE2217C1E7A5, + 81505916961455538E9B1A7B, + 698E098BB958CC4719E2166E, + BA724CE76B93BA0DF39FCC6F, + 5CBF59C67F30E77F408EF2A3, + 45A893DD2D553ED62C5B4D63, + E22ADD78D920B09EECA708B3, + 8002BEBD6AD4EE01900CE16A, + 3E1891F87C00044C1C482137, + EE026B40E1115ED7C21FF7D5, + 9A54516E1DBD569C24F521F8, + B595F0B82E93560FC2CE5EAF, + 7851D44D38C6B206AD0134D2, + D34801677A2E2B17CD6CF93A, + 60D5DF22E19891DE5F69CC8E, + 188F0A8D1EEC0AC08485B32D, + 3737DB5B70CB03EB340745EA, ); name = threads; sourceTree = ""; }; + 403635C774A6BBC0F6980B64 = {isa = PBXGroup; children = ( + D46770CDA754135BF9471DF2, + AFD134A52E53280F52870EF7, + DB3F9BFDECB17176CD53C029, + 248D8296344CFAC3E6CA732E, + 9521308539218CF751ED1B1D, + A8452D6DA370E42EF91F1555, ); name = time; sourceTree = ""; }; + BC7512A77A4AB71F889C67BE = {isa = PBXGroup; children = ( + 8BA6EF260D361C1FC16E338E, + 873BD4265902B4FB6CC3A0A6, + 6613704E18148830091DF585, + 7E60DC744D035292F8A7BB97, + 9214DF8A087BB905EEB1017B, + F90C21F489684D23EDD78BCE, + EAAA2AC12D38A7162C99E24B, + EE873579BB45504067BDD773, + 0042600B8ACF3532B5AE4839, + 8C55F3C3E8ADABF3E2B72A12, + BF0600EC50B69C509612CCB3, + E9294BBF9D2B39F77DCF5145, + 598DCC346E8045B4A1221B0F, + 13254A553A9B8E5F5DB682E6, + 324E57D5C6BA8C19535791A9, + DB7A3C83FB705898F07C13A3, + 713CEFF3ECB6CB4EB74D2324, ); name = files; sourceTree = ""; }; + 8BBFA220942050CA89C4222B = {isa = PBXGroup; children = ( + 51BE027208C01296F2E76054, + 74D736A2BED0751C2A3C1BFE, + 1FA8CE4825B48E4FECCD1FEA, + 3514CF0F5CB28BBD688539B4, + 2A48FAEC948B121B6EB34631, + 0FEA2018033238F713A9933D, + 13A8EAABA98838BC051D7ECD, + 1F293903C761D909018FDD67, + 0A4F90598876FBE7A67A13D0, + B59C7AFE7DA427E795F736CE, ); name = network; sourceTree = ""; }; + 50B1E864B2356E8572B9A62F = {isa = PBXGroup; children = ( + 490FFC3A7899AA8FBE8E2D0E, + E0EEC67C10363E4FB3C0B956, + BC4C2690333D8622D054E99A, + 083D342FECE0C296374EF291, + 2289F6AE28B501127D381EEC, + 422EAE67E128C8295A23F6A0, + 3B3AB4E5CE405BF348F634C8, + BDA38AB61C19E4924549ABD1, + 1FF55E3BBA8A22620289A59E, + F06CE10515F49B1DC5E87353, + D56D6ADB264AC3107EE2D5C8, + 58A314392D34735350431602, + DA0DD5BF97E3F28C9CCA4A74, + D1504817660ECE621AAA066F, + FB21D85F25FF7C468331BAEC, ); name = streams; sourceTree = ""; }; + 401A32949AE4A75BF94D58BF = {isa = PBXGroup; children = ( + A3C671FCF17ED732E654C652, + BEF6E9C8B9FE65A89F84DD3E, + C3429B905F1744303CAE83AD, + 87E0E3F42A5E6C795C3769FC, ); name = logging; sourceTree = ""; }; + 8C087A97055FFF267ADC28DA = {isa = PBXGroup; children = ( + D26A4E01842FF08AAA34B9D7, + D583ED6D9DF5CADB3AE660C8, + C35667BD04402DF29D3FEF8F, + 94EA75B72A8361A33A498EDB, + D1A83AA1BCDB061B528DB415, + 820C05ED738EB5A0B1D48AD3, ); name = system; sourceTree = ""; }; + 03A962E8ACDBD0C24CD014AB = {isa = PBXGroup; children = ( + B5CA0C1C957C04A44E778E85, + 10CCA4154B34E2601DF7E36C, + DFD0AFFFEC046CBD6E837825, + 1501B794994314589934734A, ); name = xml; sourceTree = ""; }; + 1F04306E8F4BD6AA8AFA3185 = {isa = PBXGroup; children = ( + 0D136F19DF81AFE8C90A0F01, + 94F37F7C1FF260E499DF95CB, + 68626EA8EFEFB457495DFC58, + 00F0299DB6F4889526D7C5F0, ); name = javascript; sourceTree = ""; }; + EB6A51E5AA5A5C974F82075F = {isa = PBXGroup; children = ( + 363345C2BB552CE31BFAB6D2, + 740B836DA87A1C70DD06D1C5, + 16138611E29922ACCDB8DF97, + 4D8CBFA4ADFA41465A97C072, + 07721876CC21C0DBD17D00EE, + 6B2C313C20885C7B75D40ED2, ); name = zip; sourceTree = ""; }; + D31BDA28674C941530C73CA9 = {isa = PBXGroup; children = ( + A833D4B8902DBEF7D8B32E50, + 9D12A31934633A579D324B96, ); name = "unit_tests"; sourceTree = ""; }; + C9B1F8F814FE5B552A67C83D = {isa = PBXGroup; children = ( + C0813C1842A72A80AEBC8D3B, + 54905E0DBD3DFC08980F0635, + 3E87A40BAA207A6F8491BE60, + 3BF749BD7341CB6B695403F2, + 38628669BA3E9CF7E2DFED16, ); name = misc; sourceTree = ""; }; + D9B6523138F19B60DEABC1CA = {isa = PBXGroup; children = ( + 35C33DF203333BE87587F1BC, + 60E06352A02CFAEE12295CDA, + 1F0ADEAEB1F4BFFDF96597D6, + 722A961347F2FBFBADD22E88, + DA3C59A6D8FE2E93EF171A41, + 8BFB376F26710685A2BFDE62, + CBF985C3779D9B0BFE5F15D3, + 3FFFC28C52CE08D5DA7588AF, + 24B8757907ECF54548F90F08, + 81E9F11630D26DFBD0A93618, + 040EAFDEB6C10752F3E53440, + 2CD02E712AFC2633AE66F876, + 9D6101186894D8F444AE1162, + E192C84132D30E43D30666A7, + 949FE95B13456FDD83BC4719, + B04E7F101D9B104C6E4F180D, + 0CDECC23B99E40DB6BD73FD9, + 71C44B75937129DA6001F9CF, + 0B17C68C630608414339685D, + A1EFE173102C316855A3E277, + 6295F7DF5F087D52FD31265A, + BA4268340FC48F04264E4992, + A59C4B4BAC10B374D8CD17C3, + DA366F25CE709950B866C7D9, + 1B6E61F45C2F5E81914A71A7, + F0776755F05C2BF5C7AF4FDC, ); name = native; sourceTree = ""; }; + 134363737026CC80D69F48A5 = {isa = PBXGroup; children = ( + D4AD8131D5DDC542D8D8462D, + 66CEC72801EF9BE77D39B19F, + 9C56D83D3BDD05DEF239F71C, + 7F38B22DBF6D9255AD0FF626, + 0AB06DB5C2631EB668C528A2, + 403635C774A6BBC0F6980B64, + BC7512A77A4AB71F889C67BE, + 8BBFA220942050CA89C4222B, + 50B1E864B2356E8572B9A62F, + 401A32949AE4A75BF94D58BF, + 8C087A97055FFF267ADC28DA, + 03A962E8ACDBD0C24CD014AB, + 1F04306E8F4BD6AA8AFA3185, + EB6A51E5AA5A5C974F82075F, + D31BDA28674C941530C73CA9, + C9B1F8F814FE5B552A67C83D, + D9B6523138F19B60DEABC1CA, + 3CD98742CA1919AEE3F9D9BC, + FBABB528D9CB9FCA127D3702, ); name = "juce_core"; sourceTree = ""; }; + D7FE02721660A0F1ADDE0BED = {isa = PBXGroup; children = ( + 844235B2D29429BEF2F7D184, + CCD10DDE00405843C68CD278, + 46AE290C54ECEFF69D62C0A6, + 4F613FCE6F5079EBF19A2489, + A9AE20E7B5E5A3B47C18EC11, + 90ACD3C39C69C46B567D1DAE, ); name = encryption; sourceTree = ""; }; + 12A6E418E243AFC94B96A6E1 = {isa = PBXGroup; children = ( + E6096A408885ECA69BCB15E5, + 553AE1A4613ACE6750798D0A, + 3F2852F4D9EA9C67864288FE, + B9425E1F94E5E6337E390B9C, ); name = hashing; sourceTree = ""; }; + 367D3E7B1A3582D5693B9FC3 = {isa = PBXGroup; children = ( + D7FE02721660A0F1ADDE0BED, + 12A6E418E243AFC94B96A6E1, + 6BAD62D1E379BB05328C035D, + 8563FE036E562AD98EAF4FE1, ); name = "juce_cryptography"; sourceTree = ""; }; + 1DD90061ACEAF4356BC3D3CE = {isa = PBXGroup; children = ( + DC0D7D089158296DF472F703, + 41066A9B2DA06A8A42EB2302, + CB0B2A556417D63523EA8C83, + AFA2ACD68CD580639886A60B, ); name = values; sourceTree = ""; }; + C283CAA3B222E566D9C79EC2 = {isa = PBXGroup; children = ( + BBA6F050F86F5DC509CBB4B1, + 737DE6483F59E9AAE31B8568, + DB597523D1985EA60A403B94, ); name = undomanager; sourceTree = ""; }; + 723121B288F8EB847FF98DE0 = {isa = PBXGroup; children = ( + F77BDA821AFA286E0B7CA733, + A47A4A946381F45AE898A70D, + FA01A4ACD8E51ECC2D1C1B63, + 322590D8C7EE4F273C28A081, ); name = "app_properties"; sourceTree = ""; }; + 6BF9D16DF121408ADF8D243D = {isa = PBXGroup; children = ( + 1DD90061ACEAF4356BC3D3CE, + C283CAA3B222E566D9C79EC2, + 723121B288F8EB847FF98DE0, + E89A3BC0B3BD6CCAEE267855, + A943021729B460E5CF76D54A, ); name = "juce_data_structures"; sourceTree = ""; }; + 017E9B99D428699F1C6D5087 = {isa = PBXGroup; children = ( + 3CEE794B62AEDD6CD0650F0B, + 427F2DF6378E91A673BD5805, + A64E0921A828155BF1F5455C, + AF3E236113F3DADC4F2D59D5, + A08FAB7BE9C27D36087D4B45, + A18B835EB367E1D27693517D, + 3655B7B8C77849CD422BE014, + 25A32EA2B5B35D951633212E, + 89163E9DB0626DF42D686130, + 37AC07521C58A8D0AB468D4F, + AB8486AC595BB23DB29EDE78, + 44D12A261F14400C108FE695, + 546E1DA09F73BB6E17FD63CB, ); name = messages; sourceTree = ""; }; + 39D10AF212D901043F60E411 = {isa = PBXGroup; children = ( + 01065486D2E254D02B75509F, + 4A4D808E73E64EAC75888392, + 2CA8A8FEF881E1400CE33991, + 1DA9D191A3312AAF11810745, ); name = timers; sourceTree = ""; }; + FA63A4FEAF47A149B05B2D7B = {isa = PBXGroup; children = ( + 9B28308E02810E07AA5D9FA7, + E42E9716C4B77E32053284A9, + 0B8CE7C2918A2BC3C86E3CF9, + A6810E5A98CB9E4244EE6361, + 153310BD8726D691D726CEAC, + 7B2895D4FB86B3B075610B53, + A9E584C98134D88F8317056E, + 80CC6E5181AE8A06FAF7792A, + 8C6C4C23D1B376C95C2B5F7F, ); name = broadcasters; sourceTree = ""; }; + 5F95B461A46B124271F4D4C2 = {isa = PBXGroup; children = ( + E2B8FC5BD4B67250BA9335A1, + 8A66BE4644118DEB1EC06A19, + 1615E143D724EC65E5528B78, + AE88491D97D08B1215C182B5, + E663E110A4BE0E43ADCC7ADB, + 72FDA2118BBEAF1B8AAB2D74, ); name = interprocess; sourceTree = ""; }; + 259A4043A2C33A2F7542D782 = {isa = PBXGroup; children = ( + A6A6BF31BD4CE0ED3B3B472E, + FE0594A998F5C9FE8C2A11DC, + 87B85E49FC448CEE97FCE14E, + D74826F0CFF78A5C10D954C3, + 7C1FABF9A21D7211D6E1420D, + 79703B85F426FD4DF5C0AC42, + F8412676F1B3EAF03D7928FD, + C86F3258822428DB91009687, ); name = native; sourceTree = ""; }; + FB86CB37A490EC9DB740D91C = {isa = PBXGroup; children = ( + 017E9B99D428699F1C6D5087, + 39D10AF212D901043F60E411, + FA63A4FEAF47A149B05B2D7B, + 5F95B461A46B124271F4D4C2, + 259A4043A2C33A2F7542D782, + 641CEAEA5DDBA04D348E3E58, + 5765E0F55ADB4319F0F896D3, ); name = "juce_events"; sourceTree = ""; }; + E969A83F4C0CF83A078F47F3 = {isa = PBXGroup; children = ( + D8A9DA040BE1279C9863B422, + B5FF1E4CC8E4177744F0833D, + 319336062D169304F2BEDDD2, + 4AB25C5BAD57250C530830AF, + 2706BDD74A8ED307B92B9BFD, + C9580CA9036A8E4144BFB904, + DC52C218059FD576DD0937FE, + A0A94042C6D636512C7A41EB, + 958E73D19425EE81B17EA8CD, ); name = colour; sourceTree = ""; }; + B886B1B89D7773E4E0B443C0 = {isa = PBXGroup; children = ( + 31C5DA5DD3FE3C167B4C6527, + 0D748BB96C09FA6846E28D1A, + 66FB9E52B611D5E118CED62D, + 8A9EF3F9FEE1D45AF1EB7D41, + 1FBB32224251DCA53E9CE4A5, + C119EC562AC9BCE4E6B61067, + 3A22AD6926B2CC42F4E5988C, ); name = contexts; sourceTree = ""; }; + F309B3269E76DE120143DD91 = {isa = PBXGroup; children = ( + BDC870E69E95845672295AB9, + 359E9C5EB887770E3AA46B95, + 01490B3A4FE0E7503EF78A59, + FDA2E20181EEDFABEE8CACCC, + F5158122AABF8E950827F2CB, + AC8848FA6745CDFDFAF2F927, + 0C211C03FF27A92ADC7706A6, + DBEE524633668464C9593EE8, ); name = images; sourceTree = ""; }; + F59D71157F4D41C4D4816141 = {isa = PBXGroup; children = ( + DD970DAD7E15CD399583110F, + 93B34B16D67C27ADD795D346, + 9A123AE56C9C5AE3BE0E2800, ); name = "image_formats"; sourceTree = ""; }; + 6E98284B2337B8ACB6DB657C = {isa = PBXGroup; children = ( + 0687C181905F8F3CE2CD9B8E, + 14D79056503073B08ACAA92E, + 55CFA008C55F190872354FF5, + AF36619C034B0D33F93CB70A, + 2C5BAB180C4B0F64A76D265C, + BCDA77D2C1C152DA77B2558F, + 8A94F716483CAA5DBF139053, + E063AB1C1700670E900C28AA, + 121B842EB5C66CD392D7673F, + FDD141E4E766AED3F01003B5, + 9E7E1945498A6BC57A2768EF, + EF8B1B7A2AB1498859BCF0B7, + D7ADC23EB8DDCAA960EE5745, + E952B3E43DFEDB951B0CA41A, + E43C13DD0E648037E8DAB7F6, ); name = geometry; sourceTree = ""; }; + 2E6FA1D06FBF4A4F13B37ACE = {isa = PBXGroup; children = ( + E238C3F270655B4324101263, + 2C9F5746F9D3DEA41F12FE58, + D57B55B2B9CE6B6D9D6EFFCE, ); name = placement; sourceTree = ""; }; + 6018A5E91B7A26DA24103F9F = {isa = PBXGroup; children = ( + 33FEAF50967CEB5800BF72BE, + 88F756FE30BD5DEA47C1725D, + 83F1B63878AD351B064B301B, + 6D275948B4E4F4B5A5390798, + 1A2E38E8795FD19F801DF103, + 87766D3A5FC3CB4ABB3D6ED0, + C4F92727F81156801D2F61E7, + D45B9852EE24763DB29A07CB, + 1C50B35A818EC78F8FF81815, + 7FC679066DAC1C23188A46ED, + 766259EB7D04DF87556127C0, + 1D904F5F3F9ABF88E0D4385D, ); name = fonts; sourceTree = ""; }; + AD6C56A11E3F985F7C7AA351 = {isa = PBXGroup; children = ( + EB1D64642D7FA904D675770E, + 503351935DD85F70D491ED2A, + 31FE14F48D2E4827337F3C65, + 98DFC6A85CB893442E014D84, + D5E118687F94A7A960E7EC71, ); name = effects; sourceTree = ""; }; + 44131CDF742706D6C0E9EC66 = {isa = PBXGroup; children = ( + BF44CE913E3ABC7CBD3A7005, + 613B39307B80D6D9C4D62739, + C03B12980850005B9ECF2E17, + 570E0E900CD46076476337A8, + 1AA843725F045F4E0857830A, + CD10CB521F53F36674738E3F, + 48AEBE2829B0A312E3B598BA, + 54CAC1382C1237BFA1B4D877, + 24F0BB17E458EBEC96E7360C, + 67CC682EE03AA0B82CCE2C2C, + 4A44D8CE1E8F932AD7F6E5A3, + 5B267B0B84A4AE272AAD58A4, + EF14BD536F709B7D6B9F68F4, ); name = native; sourceTree = ""; }; + F7DD1006ED325822934CE941 = {isa = PBXGroup; children = ( + E969A83F4C0CF83A078F47F3, + B886B1B89D7773E4E0B443C0, + F309B3269E76DE120143DD91, + F59D71157F4D41C4D4816141, + 6E98284B2337B8ACB6DB657C, + 2E6FA1D06FBF4A4F13B37ACE, + 6018A5E91B7A26DA24103F9F, + AD6C56A11E3F985F7C7AA351, + 44131CDF742706D6C0E9EC66, + A7FC8A80F3BF7EDCBB40DBAF, + 9F0363632194A6415E392DE8, ); name = "juce_graphics"; sourceTree = ""; }; + 2F1041C065A0A50307F614ED = {isa = PBXGroup; children = ( + 3E8AACC53630A2225F4C5486, + F84DED97A83644758D30181D, + BF63AD2390FFED75EECD4FAB, + 554835604BAE08C82511706E, + 047A715B70BDCE0605F0CB1A, + 3DF61BB51C4F45E8E7399BBE, + 7354BFA17F9565BE32B449D0, + 7D75EB56FF74B25CAC8B3B56, + 5A707B988D57A28536A6E62E, ); name = components; sourceTree = ""; }; + 1F27292979CA7D0A6E999F3D = {isa = PBXGroup; children = ( + 68CE13A021B91CD24AB856E1, + AF3F2DA7FA59ACA4E789A401, + DAD5AF16CB91B3134BFDBA0D, + 2FDFCD44816447805FD012DC, + C4A9D089AA401E6F8244181C, + E9CE9F9373D3557656DFD116, + EF9C89B3C7A5808769ADFD76, + 2E3E5BB82FD2A9A582FD7E5E, + 7287E94D566F0CCB336585D6, + AAC4E65438260939D18D3F40, + 6D749A9561547CBF4C9D55FD, + E97F0C403AFAF4820EDB55F8, + 7FEE5FBF562E44ADD32CAFAC, + 1800F7D6AC6CB08DDE716CFF, + 130B30A89F8EB787CA96BD73, + 16A5D3C51A676B5EB96B07FC, + 9DC7E8A153861BEC0C8205A0, + A3784CA5E1195E1792E617F6, + 2CBB52A96FFA3344C137AFB1, + 8DC66AE55D8DDC757FEFC35D, ); name = mouse; sourceTree = ""; }; + 88897071E8E741ABDB94C057 = {isa = PBXGroup; children = ( + 221859580563CB895AAB6167, + 9E20217FB413D60F83A931AD, + D7E99FDE83844ECAA502376A, + 3E9420908A60B009C762593A, + 804EF2A74F928AE02E380D38, + 6173081C862DEC593FC80E05, + 41D8E7CFFC16D293F934DB74, + 28B97FFBC14A808881547FA7, + 1BF56B39CCF7CBAEF9BB9A84, + 4378029B012345D856709C2E, + 19FE66760D46BF77905C3B48, + 661F33F1EB949D590090D53E, + 1DA8B8E25372E8F00080877B, ); name = keyboard; sourceTree = ""; }; + B1F5418A24C949EF1EDCC5CC = {isa = PBXGroup; children = ( + BADB10DBDB2B94E03AF14B91, + F4DD9A24D4B78E8DA2558487, + 06745837B0C272B8686ACF30, + 422E3CE271E2064729DA6F46, + A4371BEE6FAA21EAD5E50D9C, + C772B460012E89562C4D93D7, + C02300F6DDD1A5D705603B0F, + 2CB8EA303EA9DDA6A788E09C, + 949131E58393C7020549AA11, + 8A5772ED4AE108BB21D97514, + 8930689A13E07781BE58FA24, + 9A577EF18204B6FE35D227B0, + 4CA0D374BA396AC331C7657E, + CF746C34F8DB1B073F1A4FA0, + 607D538C599F10798C3399E0, + C5CAA1141DB6800E4CE2CF51, + E7CF28977428BDE6A175943C, + E55C6DF8352F3FBE56499775, + 4CA0CF8181B0B7321AC02F44, + E5753506CDDFF88D638975ED, + 8A1FB5D85766EE499267EFCC, + A6D365F17431ED5DE20C31C6, + EED45AF0FE17F2782911D0AE, + 1A4FF248A625623F2AB5B78A, + 664D7BAD62148780288B4904, + AF601ABA3B20D0E5999328C7, + 360140E521BFFBEAE167DE5F, ); name = widgets; sourceTree = ""; }; + 20C66850D35C2F7AADD7EA64 = {isa = PBXGroup; children = ( + A1CC4DCD28D612221D9B445C, + C7ED330EB140FCC0B096E2E9, + DDB141526302B59595C3A584, + 5A1ECBE0BEAF6C2B976EE813, + 5C00F2B0503A9B4774455977, + AA78AF689E1B8E9B48B6E271, + 08CC510A823DA8A188233FB2, + 14E46E9101177690C481518A, + 3BE93702701665C1CF0D71F4, + DAF2DC4885AA5A5263A16E94, + B27AB74B32E014257ACF7EC5, + 46EE36AEA94A83975A5C36C3, + 602F2E014E4796C2DA29CDB3, + 577824246C165D84AA378BE0, + 20B1A2291D2367A6CE6A98E0, + 3FE3BB22E6A6B04200358D89, + 48348E65A2D505CD55F894CC, + 34D0CAA3AE118782B1D85410, + BFB539E4567CACD9D0DE55E5, ); name = windows; sourceTree = ""; }; + F30B7D8CE97DE5606AE6DC8E = {isa = PBXGroup; children = ( + 098EE470BA8744AD218E09F7, + 41004038C181AC5C8CDDD02D, + F950431A9C0864A8EADF9996, + 26B0149626A30EF364609DDD, + EDE49EEE9EF8B5202426D948, + 32AA8C09B7A39118E3A4BFA6, ); name = menus; sourceTree = ""; }; + 4C272B3754B014AC08B0E033 = {isa = PBXGroup; children = ( + 6B526A365078C24900C821B5, + 24D34491A75D9158E571CE95, + B0C8BABB5E59C2F7FAA37689, + FC9E35A083FC90411722B192, + C08F4E167F53BD59708ABC46, + B35E6FA7FA077CB7887CB7EC, + A16CAFD9F29F03D5A11457FD, + 26A7E3CEB56737AB4E725BE9, + 6877464D85600AAC5F84F063, + A6E737E1560A81E5A45DD9BC, + 948076D06B104682079290E5, + 705D210EADDE876947060561, + 4DC09FE2D606F3346B269F47, + E03B0CE2DF954597EDE01376, + 64E7DC1B23F237CD9F141439, + 1FA16B4D97401423966B4183, + 0B35461B91EE6372D40C26E0, + 778A0345A4F0B08ABA3ED5F1, + 55AD9D2F0D75B19660C948C1, + 8B01626CE8C886F18BEC9178, + F940D16031F521E526383AFC, + 3E71B82FA28ADE017FF7C836, + 433F5E9D26E0EDD4B309A0C0, + C5F3D1E74B44903AAC0126D1, + 93C5ACD4E394109C97132641, + E7B5CA1BD06F33C213FAA37D, + 6F689AC4B401D474507500C1, + 06027E788981B5B21E48EDEA, + 624D83262AB7BACCD81A4B50, + FAF3143A9CAF9ECAF81AB3D9, + 3B52D9CB9D7135AD2F240CE0, + BD818EEF611179A02E2667BF, + 1246B7FA44AABAA2D9D19B7D, + B87C42BDAE89E73E982EF85C, + FF46CABD4A7C29380D4CAD26, + 03B8A6359E4DD6796B9F7840, ); name = layout; sourceTree = ""; }; + A0A794A5F17590D11359544E = {isa = PBXGroup; children = ( + DB1613193F82A43CE17AAF88, + B50129FF78D1FCC64DB4D51E, + CDEFD12DAEF30B7A13DFF8F5, + FF8A2AE20EED8687EA5D2A00, + 7F9D7EC0BE80A6DA54A9805D, + C1E4AD74F8C069DBFBA4E782, + FE8F197A2BB3631561C8A694, + 2D8585823D0A4210D1B161DD, + 72DA84A591B2827C323332B3, + F43D110150D84A1CF0B65F0E, + C56587798EDC116C137A1DF5, + B98D12869BACB1D0ECB4EE95, + 32043671A35DA448332B557F, + C33A6A02E9F92ABA9618DD67, + 095864129E8B873229076D4F, + C4F60DBF5BC6169F4B7357A6, + 1AB3BEE546811801C8D4C377, + EC443EF07555D528F21945DF, ); name = buttons; sourceTree = ""; }; + 0CE1F0AC5B7735D5C59D065E = {isa = PBXGroup; children = ( + 1C95AB2B2812BD8960870603, + E0026785667979561D036936, + 2B56C4638018F72794BEADC8, + 8E6345C2A24786DB002C85A0, + D73A06F366784CFAA87B7BEE, + 053462A035FADA4FDCE2A8D0, + 45CAA0CEA9DA2B4F3AF549FC, + 0CB6B999BF9DBA9D0F586C6F, + 49811A30680D278DA9591BE5, + 41FDE3C3197B773438925736, + DF0EBC428D40282CD24D2015, + B7C588B87E09F887C6CB73C0, + 06577256ACDA6ECA2DF0AE84, + E889D7DD7AC4FCA48517B2E8, ); name = positioning; sourceTree = ""; }; + 1011BBE9304BAFF95A476125 = {isa = PBXGroup; children = ( + B5CF56ECED7AB7108C7FA24A, + EC7A2DEE957A2B375201FC12, + B0FFC533F760AED1CE7B2BC2, + 8AD5C1E90DE18441407D769D, + D396F2D0FF34CC5C59FA3DC1, + 862FE36C50506109E33D6E88, + 2B4A4D4411B9314CEEE873F2, + 6E99388FCA0417BCE813EAE0, + 64515D56E168E26DE6679FF2, + B663B0FD7F2FEDCE59A40373, + 9708B38E625B426432C46439, + D3AE4AEF45E4694F90FA90BF, + A9C31C52F36697E74384B83A, + BA27FD5D74A9F7C7D0660EEC, + 070AE2690CA06010BDBB4644, ); name = drawables; sourceTree = ""; }; + 7B851D47EEB0A51D2C32C5FB = {isa = PBXGroup; children = ( + 1FB5E4B9CC25B15D872DDAF8, + 762FD953C2BB53F5DC9CD403, + 9A07C2A820D1A4D1C5429E6F, + 84030B3A2263DEAB1A2EC8CF, + 08BA9BF25A4A247BAEFA7C7B, + 44AF43F408DE59FEC7FC87C1, + A516757003C57D4D3E5C637A, + 8CC6758FB15124F3CF345CA0, + 4BB76738C3C05043BFDE3507, + 6E0D954E48998693A587F2DE, + 04CF614E82E5E0D67952963A, + BB3DB74A8843A5C315854394, + 5546974D4F68A427792B725E, + 3CAB0402E5EDD5A25D4DE907, ); name = properties; sourceTree = ""; }; + 43B0193D1C7DEF84D41B69A4 = {isa = PBXGroup; children = ( + 202FBA54BE113F8E12628DF3, + F93E820028869AA360740BE2, + A3D1C2B1D20BB35EABEF5D56, + C807A91F69CF02432499E1E1, + CAAD0D8023B1EE063FE7B3BB, + 7DCF0A2E89D3CC5C976411D9, + 06F692C85C20B60877A3E153, + CA3E9C9CE9CA59B370A81095, ); name = lookandfeel; sourceTree = ""; }; + FC94936E6781852E6A5F5AAF = {isa = PBXGroup; children = ( + AA2C868E050557A1CCEFB5AA, + 0333EF5021D4B11D0567EDE9, + FB9D900CA19E8894F1F05F4E, + 46844E11FFE3314B7A4D1182, + 65B8AFC880FE18CAD80D0C4F, + 12ECDE0E70945E79B3C6FADF, + 25D592FB01574ECBD7AB256A, + C81CCF965B4C7E21308B305C, + 0EC0E5FB195BD2DCCE4FE103, + 4E54EF00533AF35ACE6EE0D2, + BE187CBB955859129715DCEE, + 6F681F8D57B92084BD4DC38F, + 9B47191752AD5B64A858FC13, + 90BDA0B8FE4A26E5298DAEE3, + 44EB27DCDBCEC36F4DB760A9, + 9F14A2AA61821A565FF22D39, + 4D130A36E132798BA1BB53FF, + 07B9E706EBAAD4873E3914EC, + B307D90DA0DC9A76DC723878, + 89C90F8B0901C465E356C6C8, + 3EF6C867CB55DBB90076ACF2, + 06EB590F5B838B697CE72F8B, ); name = filebrowser; sourceTree = ""; }; + 76533D71441DB73BC581D584 = {isa = PBXGroup; children = ( + D41591FF892A6E2E672C7A18, + DCE3EB6C3DF640697ADD3F0D, + 7552ACBC68EF48B063F619E2, + AE1746EE8E4FC95FC3635940, + 7A356CCD42F455D41990C69F, + A6E5EC33E5F9767654EFCB25, + 1E73665689A8CF1EAD07A410, + 7D5050E0DD69CB60EF1B677C, + 6D8FDB139E0FDCBD5641A097, ); name = commands; sourceTree = ""; }; + A16C13AC925F01E513BC0632 = {isa = PBXGroup; children = ( + AD7D7A1631818FAFC9600F3F, + 5D2270DEE9D5C23019DEB152, + D2E451A096DED665657647F8, + BE439FE1379CC46AD8DA5F78, ); name = misc; sourceTree = ""; }; + C25E9058EE7B0F2E900E3433 = {isa = PBXGroup; children = ( + EBE6C07DB63AAA1F750C22F5, + 05864BC8C7804D05F485305F, ); name = application; sourceTree = ""; }; + 49D064C5B2141BD8D14AE294 = {isa = PBXGroup; children = ( + 6776FE828D0C9AAC3F12EA59, + 4013F4D715E43764169C2BF5, + 1D05DBE68E45BED5B842F212, + A47775D4CDD050038883A890, + 5D65D7D73CFD4C3292B44F07, + F20271230BBD0224FACE29E8, + B804B9C7C6CA696B7410A629, + 90D0993A08E71E212911B4E7, + EA85ECBD920A5EE3E79B57E8, + 4F0C38D878C6A40DB5E610F5, + E96860404A16526A491A14C2, + E4E97BDAD6209A76EA5B0CA2, + 054317A8EFDF8C80052EA0E0, + 46FBF3438B506BBBA1C08BE5, + 1CCFA6CA5E8D3E8D1D9476B5, + 584F5DA03ABAC58D8200F4DB, ); name = native; sourceTree = ""; }; + 2727A6D234211D5EEFE67B2D = {isa = PBXGroup; children = ( + 2F1041C065A0A50307F614ED, + 1F27292979CA7D0A6E999F3D, + 88897071E8E741ABDB94C057, + B1F5418A24C949EF1EDCC5CC, + 20C66850D35C2F7AADD7EA64, + F30B7D8CE97DE5606AE6DC8E, + 4C272B3754B014AC08B0E033, + A0A794A5F17590D11359544E, + 0CE1F0AC5B7735D5C59D065E, + 1011BBE9304BAFF95A476125, + 7B851D47EEB0A51D2C32C5FB, + 43B0193D1C7DEF84D41B69A4, + FC94936E6781852E6A5F5AAF, + 76533D71441DB73BC581D584, + A16C13AC925F01E513BC0632, + C25E9058EE7B0F2E900E3433, + 49D064C5B2141BD8D14AE294, + E10E5BBBE8515439D764CBBB, + 6A6347D9B543CE96713831B9, ); name = "juce_gui_basics"; sourceTree = ""; }; + 7DEF87B9C8D847F2840BF97D = {isa = PBXGroup; children = ( + 714F603CF16614D65F89340D, + 33C4E091AF43E7CEA138F133, + 964D86CC6AD404519F939215, + EBCA45F1E4BF7ECD899318F0, + F8E04FA3724E51F271D61F9A, + 898B5EF2CF5B2303DE59B07A, + FEEE17569A737C486258BC9A, + FC43C9F152FA300C417AD510, + 8BFEC7409742F768017FC3D7, + 50EDCF1A36276EEDC8FE3C5D, + FC4F4A4607AA7CA722526B99, + 9837ED0D470BD0E633A71F04, ); name = "code_editor"; sourceTree = ""; }; + 276BB424622D00B2F6D6EF05 = {isa = PBXGroup; children = ( + CF16FBA5840B89D53711C89F, + 9B8E99199DFF5A5588690C9E, ); name = documents; sourceTree = ""; }; + 66D132EDB56154912C007BA8 = {isa = PBXGroup; children = ( + C5ACDF0DCF5337C0B0AE1AF6, + 88AA420D1FEF4EB95D8166FB, + 9A2D9A5DBD78446D8878717A, ); name = embedding; sourceTree = ""; }; + A53F5FF344A1D95EBBBDF3DC = {isa = PBXGroup; children = ( + 2C34C4F10FEED10795237530, + CC27C420117D56ABAB4984C6, + 71AB2D9F86EE978F739150B8, + EDB90C4006AC89CCFAC4AF82, + CD13739C3599635DE5F687B7, + E223F2E916CC8884D48BB2F0, + 06D76C16465B649BF0CBCDAC, + 8A9D3CD0BDC7B8597C5F8A07, + AD258805D250E1D7B3ED5E56, + B463D24B6025AB064E03FBE7, + 451266541F1F93099A252033, + FF8C6075F2D81FC3EF7588FE, + 70D98CAAD904CF7FC923F24D, + 5C6D3A49499F186AFFC3DFDA, + 3473D34B4E5F5BC3D315C6E5, + 124D98B849980B7EAAE01068, + 1C489FC83EA76D34A2043B23, + EF0015657F3C994B1C76C306, + 8CF06B5E9E25293F79B15242, + 13852E700B8919909E360669, ); name = misc; sourceTree = ""; }; + DFD4E790D5E34260219E3AF7 = {isa = PBXGroup; children = ( + 2722B15F48A305F2ECD82429, + E9CAA6108E4CC9A8240EDDC1, + C4117C0CDD0F80BCA4E8E9A6, + DE90A7AD96CDF9332CA4B1CB, + 1F9EB82BB8FBECB611B7DBED, + FD81229B12072A6A5D27465C, + 5248E05CA643E149A0B9A8D4, + 5F1FD7697F7FB42EA6E9CDBC, + DF8AC8795BBD9CC5918F5969, + 89EB6DD3E34A7D2EB520D929, + CC180EFFA43B485F1A6DE764, + 64851AA6F4FAEAD9E3CB5D68, ); name = native; sourceTree = ""; }; + F60E760717F10C7C5B1BFB7B = {isa = PBXGroup; children = ( + 7DEF87B9C8D847F2840BF97D, + 276BB424622D00B2F6D6EF05, + 66D132EDB56154912C007BA8, + A53F5FF344A1D95EBBBDF3DC, + DFD4E790D5E34260219E3AF7, + 5DB6DA27DC5C022696109EF8, + 644E389974336014E8890F31, ); name = "juce_gui_extra"; sourceTree = ""; }; + 6EB5B0C74A683FD9E8F67118 = {isa = PBXGroup; children = ( + 86F9F3EDDA98B10C15901578, + A003021CCCD1F8D2200E9066, + EDAA8D220CC237DE5D612F47, + B7EF396405CB14D1ABDF709D, + CD8C53CF62B19A8E549D5C71, + 1D4A3BD9939CC395D2AE4324, + C66D267FAFB0ECDB23F3C00A, + A4B3FB3D6F0A5EF90023F514, + F3425CF4DCD715471072DB82, + FE87D270C0095EC7B0FC0F51, + 54B29F8CAEE68EECEED7A088, + BC3E6DE998377FFB8E61EF44, + 57AA11256FE770C2AC1CCF9B, + 11A431D13AA9844AEBCC97B0, + AC5BB40FA10713128CC9A2A1, + 3BAC3350B6CA12EFF6587DF6, + 4055E0D3D92A96C8E797ACBD, ); name = opengl; sourceTree = ""; }; + 8EEFFBC75F21B6E21D802A38 = {isa = PBXGroup; children = ( + 8C7A9D19E4BF794F25112C92, + 8AF7405E7AF18A44BF24811B, + 6E2E587EC9DCB2595D73A5CD, + 44BFB21474150C54D8B45035, ); name = geometry; sourceTree = ""; }; + 72D293A3B38BAD3129DF1940 = {isa = PBXGroup; children = ( + 6BF891205F6EEAF85C1C0F2C, + E662D32EE899694C2F360B77, ); name = utils; sourceTree = ""; }; + 4527369C4DAB2CE60232DE94 = {isa = PBXGroup; children = ( + 93A5B72C4030F63A78120194, + 6ACE33C4515448BE0DF400C8, + CF6B3F4DF15D7BAAEB2495BC, + 73B2312BC8C5D5A5A7AD87D0, + 51686AA73651EE47EF5CE35E, + 49E5DF4D47ADC97FB605F93F, + F16BDC9AFAD544D72BF6DC3C, ); name = native; sourceTree = ""; }; + F60314F08ACFDB997F502781 = {isa = PBXGroup; children = ( + 6EB5B0C74A683FD9E8F67118, + 8EEFFBC75F21B6E21D802A38, + 72D293A3B38BAD3129DF1940, + 4527369C4DAB2CE60232DE94, + E4E6F10141E07DE0F2960C2F, + B4EBC54E160BF6EFDA54A708, ); name = "juce_opengl"; sourceTree = ""; }; + ABEEA81A9680F6A4F8ECA0EA = {isa = PBXGroup; children = ( + 7A32476DF07EE4C33512F01D, + F75D109BD33B5C057C150155, ); name = playback; sourceTree = ""; }; + 1C67C665FD3B6D5133151E2D = {isa = PBXGroup; children = ( + DB8D923C776A1038384A10D5, + 5CD2D4CDAC75E50E78ABE46C, ); name = capture; sourceTree = ""; }; + 5CBF586DCC30079B9463982A = {isa = PBXGroup; children = ( + 407FCF60E01E1C7F7BBF83B2, + 26BFF71147B21AEECB934431, + C8A3BA380B7DADEBA46EC1FF, + A091657F22DDCFFC2D0E3E68, + 4366A35F3F091C0EEFD58817, + CF412309E5514E05CBD2A30F, ); name = native; sourceTree = ""; }; + CC319022914B6972D2B91A23 = {isa = PBXGroup; children = ( + ABEEA81A9680F6A4F8ECA0EA, + 1C67C665FD3B6D5133151E2D, + 5CBF586DCC30079B9463982A, + 0FD74232B9B3A15C19D73B4F, + A20A2F639F28E15631EEEA35, ); name = "juce_video"; sourceTree = ""; }; + E697CF5985AC7D206A214CE1 = {isa = PBXGroup; children = ( + 42D107F741897BBB52B61202, + C1CFAF0419BB789AA0E38629, + BCC969C3BC478853FD7E336F, + 0F1330B9E634C8C1D2A19EAD, + DCA2C59535A97CCC2E7E5D5B, + 134363737026CC80D69F48A5, + 367D3E7B1A3582D5693B9FC3, + 6BF9D16DF121408ADF8D243D, + FB86CB37A490EC9DB740D91C, + F7DD1006ED325822934CE941, + 2727A6D234211D5EEFE67B2D, + F60E760717F10C7C5B1BFB7B, + F60314F08ACFDB997F502781, + CC319022914B6972D2B91A23, ); name = "Juce Modules"; sourceTree = ""; }; + C94E97E4A3CB628A675EE05C = {isa = PBXGroup; children = ( + B84ADDD01BAB1B1E21DDFF07, + 19DBF218B50AA295AED50CC2, + D08758C4B60AE0ECD82D8EF6, + C987F7105C386F9799C74AE5, + 768E5A86B7E84A146818B866, + 0D72F29AB05E80E6D8A57578, + 7DE30FBED9393A59FF08AFC4, + 332B664DD5F1E87D1BC77715, + BBDC1C7DE652B571ED885097, + 8C96A8A1170495B6693F2FF9, + 5E489080FFCF538C3170739B, + DE6FBEE731028F230A86F223, + 2E631361420FA9496ED300DF, + 1CA41F35C44145819921CF79, + B6FF0E28C1E186DD9E97F838, + 15BA4AEE0C0E22D7C8BE92CA, ); name = "Juce Library Code"; sourceTree = ""; }; + 094FA973096AF6FDD5A75280 = {isa = PBXGroup; children = ( + 9A31450E90F82EE417285AA4, + 9B83CA7A03621F4DE0B0C3F5, ); name = Resources; sourceTree = ""; }; + B679234897D9AEB22E892566 = {isa = PBXGroup; children = ( + 92CABA9C9B5148FCA22A0503, + BD70FA4626657FF1DEBB10DA, + 4286F1F40FC3E04B4AE701C2, + 7C86E886C3FCB671004E1CA2, + F5B5D441C4AB1D01509ACC8D, + D7867DB9C17425E3F05EB860, + 712FD99244BEDA356A73A60D, + B06A9120276E8875161CFC7D, + 1D29F6A21F927F10EB8C5EEF, ); name = Frameworks; sourceTree = ""; }; + 6F245D0C169B0E9060BD1033 = {isa = PBXGroup; children = ( + 4B8E8BD3DEAE0C479D04F571, ); name = Products; sourceTree = ""; }; + 41A4B977F5588A439A066455 = {isa = PBXGroup; children = ( + 24BF2D05D134C386864C4C7D, + E697CF5985AC7D206A214CE1, + C94E97E4A3CB628A675EE05C, + 094FA973096AF6FDD5A75280, + B679234897D9AEB22E892566, + 6F245D0C169B0E9060BD1033, ); name = Source; sourceTree = ""; }; + 993A56BA093F4D3C2556398E = {isa = XCBuildConfiguration; buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JUCER_XCODE_IPHONE_5BC26AE3=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; }; name = Debug; }; + EA0243E56EC3EAF286B53CA6 = {isa = XCBuildConfiguration; buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JUCER_XCODE_IPHONE_5BC26AE3=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; }; name = Release; }; + 2DDD1A3A56EAB02179D1CFB6 = {isa = XCBuildConfiguration; buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ALWAYS_SEARCH_USER_PATHS = NO; + DEBUG_INFORMATION_FORMAT = "dwarf"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "AudioAppExample"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Debug; }; + BE32D9CFAA27D791B2181C7F = {isa = XCBuildConfiguration; buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ALWAYS_SEARCH_USER_PATHS = NO; + DEBUG_INFORMATION_FORMAT = "dwarf"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PRODUCT_NAME = "AudioAppExample"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Release; }; + 074FE87A26471418B3AC0921 = {isa = XCConfigurationList; buildConfigurations = ( + 2DDD1A3A56EAB02179D1CFB6, + BE32D9CFAA27D791B2181C7F, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + FF720F7C44675347E5E0EB5A = {isa = XCConfigurationList; buildConfigurations = ( + 993A56BA093F4D3C2556398E, + EA0243E56EC3EAF286B53CA6, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 6480A9A75122084E426BEF0C = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 70EC04D8CFE012341DBC0A45, ); runOnlyForDeploymentPostprocessing = 0; }; + EE26AB6336CDF8E778B3DA86 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 5055109434B36CD6E0B6D360, + 55A794809FECCB07D3C4D07D, + 9F994C4912DB4402247C438F, + 9BC0ECFC7AF57F1909EE09FA, + 85FE609FB6402062EF2C0DBA, + F794ED1AA51CF125F7F1A8A9, + 8B9F9A6D24146522DD93CD22, + B0576FED799D792664EB5D15, + 916BBC1AB5BE42CD684DAC5B, + EA094DDAD2D1A7A4C0C2233E, + 8FB9BEF532266F191FA2343F, + 3D181BDD770219ED14488377, + E0AAACBB6027FC8FD4F9113C, + 9537FB2A9B43C898E86156A7, + 42AE22EDF3A83997E9444080, + ED46B41A891FE3B15A184ECF, ); runOnlyForDeploymentPostprocessing = 0; }; + B6DD28580BC7A7F690EF4B49 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 3286435E3CC944A630866B89, + 7AC823C6BFA28E49D004E0E0, + F02410B634B6C9C29060A812, + 26E4E22AC7196AC405E218B9, + DE32F1DDED355F817FCA16C4, + 62AE0FBB5B9184FF94092D43, + C3F12DC7CA8C22C1853A7F08, + 291730DFE49E6AE97D4C8CEC, + D3AC61A0594DE1592920426F, ); runOnlyForDeploymentPostprocessing = 0; }; + EDF214F1951D7745347EA1D1 = {isa = PBXNativeTarget; buildConfigurationList = FF720F7C44675347E5E0EB5A; buildPhases = ( + 6480A9A75122084E426BEF0C, + EE26AB6336CDF8E778B3DA86, + B6DD28580BC7A7F690EF4B49, ); buildRules = ( ); dependencies = ( ); name = AudioAppExample; productName = AudioAppExample; productReference = 4B8E8BD3DEAE0C479D04F571; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + 0E00FEF4A999DE35888889AE = {isa = PBXProject; buildConfigurationList = 074FE87A26471418B3AC0921; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 41A4B977F5588A439A066455; projectDirPath = ""; projectRoot = ""; targets = ( EDF214F1951D7745347EA1D1 ); }; + }; + rootObject = 0E00FEF4A999DE35888889AE; +} diff --git a/extras/example projects/Builds/iOS/HelloWorld/Images.xcassets/AppIcon.appiconset/Contents.json b/examples/AudioAppExample/Builds/iOS/AudioAppExample/Images.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from extras/example projects/Builds/iOS/HelloWorld/Images.xcassets/AppIcon.appiconset/Contents.json rename to examples/AudioAppExample/Builds/iOS/AudioAppExample/Images.xcassets/AppIcon.appiconset/Contents.json diff --git a/extras/example projects/Builds/iOS/HelloWorld/Images.xcassets/LaunchImage.launchimage/Contents.json b/examples/AudioAppExample/Builds/iOS/AudioAppExample/Images.xcassets/LaunchImage.launchimage/Contents.json similarity index 100% rename from extras/example projects/Builds/iOS/HelloWorld/Images.xcassets/LaunchImage.launchimage/Contents.json rename to examples/AudioAppExample/Builds/iOS/AudioAppExample/Images.xcassets/LaunchImage.launchimage/Contents.json diff --git a/examples/AudioAppExample/Builds/iOS/Info.plist b/examples/AudioAppExample/Builds/iOS/Info.plist new file mode 100644 index 0000000000..00278da42a --- /dev/null +++ b/examples/AudioAppExample/Builds/iOS/Info.plist @@ -0,0 +1,29 @@ + + + + + + LSRequiresIPhoneOS + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.yourcompany.AudioAppExample + CFBundleName + AudioAppExample + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/AudioAppExample/JuceLibraryCode/AppConfig.h b/examples/AudioAppExample/JuceLibraryCode/AppConfig.h new file mode 100644 index 0000000000..c2075106c1 --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/AppConfig.h @@ -0,0 +1,197 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + + There's a section below where you can add your own custom code safely, and the + Introjucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Introjucer's project settings. + + Any commented-out settings will assume their default values. + +*/ + +#ifndef __JUCE_APPCONFIG_PANJXP__ +#define __JUCE_APPCONFIG_PANJXP__ + +//============================================================================== +// [BEGIN_USER_CODE_SECTION] + +// (You can add your own code in this section, and the Introjucer will not overwrite it) + +// [END_USER_CODE_SECTION] + +//============================================================================== +#define JUCE_MODULE_AVAILABLE_juce_audio_basics 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_formats 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_processors 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_utils 1 +#define JUCE_MODULE_AVAILABLE_juce_core 1 +#define JUCE_MODULE_AVAILABLE_juce_cryptography 1 +#define JUCE_MODULE_AVAILABLE_juce_data_structures 1 +#define JUCE_MODULE_AVAILABLE_juce_events 1 +#define JUCE_MODULE_AVAILABLE_juce_graphics 1 +#define JUCE_MODULE_AVAILABLE_juce_gui_basics 1 +#define JUCE_MODULE_AVAILABLE_juce_gui_extra 1 +#define JUCE_MODULE_AVAILABLE_juce_opengl 1 +#define JUCE_MODULE_AVAILABLE_juce_video 1 + +//============================================================================== +// juce_audio_devices flags: + +#ifndef JUCE_ASIO + //#define JUCE_ASIO +#endif + +#ifndef JUCE_WASAPI + //#define JUCE_WASAPI +#endif + +#ifndef JUCE_DIRECTSOUND + //#define JUCE_DIRECTSOUND +#endif + +#ifndef JUCE_ALSA + //#define JUCE_ALSA +#endif + +#ifndef JUCE_JACK + //#define JUCE_JACK +#endif + +#ifndef JUCE_USE_ANDROID_OPENSLES + //#define JUCE_USE_ANDROID_OPENSLES +#endif + +#ifndef JUCE_USE_CDREADER + //#define JUCE_USE_CDREADER +#endif + +#ifndef JUCE_USE_CDBURNER + //#define JUCE_USE_CDBURNER +#endif + +//============================================================================== +// juce_audio_formats flags: + +#ifndef JUCE_USE_FLAC + //#define JUCE_USE_FLAC +#endif + +#ifndef JUCE_USE_OGGVORBIS + //#define JUCE_USE_OGGVORBIS +#endif + +#ifndef JUCE_USE_MP3AUDIOFORMAT + //#define JUCE_USE_MP3AUDIOFORMAT +#endif + +#ifndef JUCE_USE_LAME_AUDIO_FORMAT + //#define JUCE_USE_LAME_AUDIO_FORMAT +#endif + +#ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT + //#define JUCE_USE_WINDOWS_MEDIA_FORMAT +#endif + +//============================================================================== +// juce_audio_processors flags: + +#ifndef JUCE_PLUGINHOST_VST + //#define JUCE_PLUGINHOST_VST +#endif + +#ifndef JUCE_PLUGINHOST_VST3 + //#define JUCE_PLUGINHOST_VST3 +#endif + +#ifndef JUCE_PLUGINHOST_AU + //#define JUCE_PLUGINHOST_AU +#endif + +//============================================================================== +// juce_core flags: + +#ifndef JUCE_FORCE_DEBUG + //#define JUCE_FORCE_DEBUG +#endif + +#ifndef JUCE_LOG_ASSERTIONS + //#define JUCE_LOG_ASSERTIONS +#endif + +#ifndef JUCE_CHECK_MEMORY_LEAKS + //#define JUCE_CHECK_MEMORY_LEAKS +#endif + +#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES + //#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES +#endif + +#ifndef JUCE_INCLUDE_ZLIB_CODE + //#define JUCE_INCLUDE_ZLIB_CODE +#endif + +//============================================================================== +// juce_graphics flags: + +#ifndef JUCE_USE_COREIMAGE_LOADER + //#define JUCE_USE_COREIMAGE_LOADER +#endif + +#ifndef JUCE_USE_DIRECTWRITE + //#define JUCE_USE_DIRECTWRITE +#endif + +//============================================================================== +// juce_gui_basics flags: + +#ifndef JUCE_ENABLE_REPAINT_DEBUGGING + //#define JUCE_ENABLE_REPAINT_DEBUGGING +#endif + +#ifndef JUCE_USE_XSHM + //#define JUCE_USE_XSHM +#endif + +#ifndef JUCE_USE_XRENDER + //#define JUCE_USE_XRENDER +#endif + +#ifndef JUCE_USE_XCURSOR + //#define JUCE_USE_XCURSOR +#endif + +//============================================================================== +// juce_gui_extra flags: + +#ifndef JUCE_WEB_BROWSER + //#define JUCE_WEB_BROWSER +#endif + +#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR + //#define JUCE_ENABLE_LIVE_CONSTANT_EDITOR +#endif + +//============================================================================== +// juce_video flags: + +#ifndef JUCE_DIRECTSHOW + //#define JUCE_DIRECTSHOW +#endif + +#ifndef JUCE_MEDIAFOUNDATION + //#define JUCE_MEDIAFOUNDATION +#endif + +#ifndef JUCE_QUICKTIME + //#define JUCE_QUICKTIME +#endif + +#ifndef JUCE_USE_CAMERA + //#define JUCE_USE_CAMERA +#endif + + +#endif // __JUCE_APPCONFIG_PANJXP__ diff --git a/examples/AudioAppExample/JuceLibraryCode/JuceHeader.h b/examples/AudioAppExample/JuceLibraryCode/JuceHeader.h new file mode 100644 index 0000000000..80978b88f8 --- /dev/null +++ b/examples/AudioAppExample/JuceLibraryCode/JuceHeader.h @@ -0,0 +1,47 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + + This is the header file that your files should include in order to get all the + JUCE library headers. You should avoid including the JUCE headers directly in + your own source files, because that wouldn't pick up the correct configuration + options for your app. + +*/ + +#ifndef __APPHEADERFILE_PANJXP__ +#define __APPHEADERFILE_PANJXP__ + +#include "AppConfig.h" +#include "modules/juce_audio_basics/juce_audio_basics.h" +#include "modules/juce_audio_devices/juce_audio_devices.h" +#include "modules/juce_audio_formats/juce_audio_formats.h" +#include "modules/juce_audio_processors/juce_audio_processors.h" +#include "modules/juce_audio_utils/juce_audio_utils.h" +#include "modules/juce_core/juce_core.h" +#include "modules/juce_cryptography/juce_cryptography.h" +#include "modules/juce_data_structures/juce_data_structures.h" +#include "modules/juce_events/juce_events.h" +#include "modules/juce_graphics/juce_graphics.h" +#include "modules/juce_gui_basics/juce_gui_basics.h" +#include "modules/juce_gui_extra/juce_gui_extra.h" +#include "modules/juce_opengl/juce_opengl.h" +#include "modules/juce_video/juce_video.h" + +#if ! DONT_SET_USING_JUCE_NAMESPACE + // If your code uses a lot of JUCE classes, then this will obviously save you + // a lot of typing, but can be disabled by setting DONT_SET_USING_JUCE_NAMESPACE. + using namespace juce; +#endif + +#if ! JUCE_DONT_DECLARE_PROJECTINFO +namespace ProjectInfo +{ + const char* const projectName = "AudioAppExample"; + const char* const versionString = "1.0.0"; + const int versionNumber = 0x10000; +} +#endif + +#endif // __APPHEADERFILE_PANJXP__ diff --git a/extras/audio plugin demo/JuceLibraryCode/ReadMe.txt b/examples/AudioAppExample/JuceLibraryCode/ReadMe.txt similarity index 100% rename from extras/audio plugin demo/JuceLibraryCode/ReadMe.txt rename to examples/AudioAppExample/JuceLibraryCode/ReadMe.txt diff --git a/extras/audio plugin demo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h similarity index 100% rename from extras/audio plugin demo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h rename to examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h diff --git a/extras/audio plugin demo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h similarity index 100% rename from extras/audio plugin demo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h rename to examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h diff --git a/extras/audio plugin demo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h similarity index 100% rename from extras/audio plugin demo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h rename to examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h diff --git a/extras/audio plugin demo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h similarity index 100% rename from extras/audio plugin demo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h rename to examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h diff --git a/extras/Demo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h similarity index 100% rename from extras/Demo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h rename to examples/AudioAppExample/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h diff --git a/extras/audio plugin demo/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_core/juce_core.h similarity index 100% rename from extras/audio plugin demo/JuceLibraryCode/modules/juce_core/juce_core.h rename to examples/AudioAppExample/JuceLibraryCode/modules/juce_core/juce_core.h diff --git a/extras/audio plugin host/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h similarity index 100% rename from extras/audio plugin host/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h rename to examples/AudioAppExample/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h diff --git a/extras/audio plugin demo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h similarity index 100% rename from extras/audio plugin demo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h rename to examples/AudioAppExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h diff --git a/extras/audio plugin demo/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_events/juce_events.h similarity index 100% rename from extras/audio plugin demo/JuceLibraryCode/modules/juce_events/juce_events.h rename to examples/AudioAppExample/JuceLibraryCode/modules/juce_events/juce_events.h diff --git a/extras/audio plugin demo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h similarity index 100% rename from extras/audio plugin demo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h rename to examples/AudioAppExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h diff --git a/extras/audio plugin demo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h similarity index 100% rename from extras/audio plugin demo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h rename to examples/AudioAppExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h diff --git a/extras/audio plugin demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h similarity index 100% rename from extras/audio plugin demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h rename to examples/AudioAppExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h diff --git a/extras/audio plugin host/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_opengl/juce_opengl.h similarity index 100% rename from extras/audio plugin host/JuceLibraryCode/modules/juce_opengl/juce_opengl.h rename to examples/AudioAppExample/JuceLibraryCode/modules/juce_opengl/juce_opengl.h diff --git a/extras/audio plugin host/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/AudioAppExample/JuceLibraryCode/modules/juce_video/juce_video.h similarity index 100% rename from extras/audio plugin host/JuceLibraryCode/modules/juce_video/juce_video.h rename to examples/AudioAppExample/JuceLibraryCode/modules/juce_video/juce_video.h diff --git a/examples/AudioAppExample/Source/Main.cpp b/examples/AudioAppExample/Source/Main.cpp new file mode 100644 index 0000000000..dd48f969ca --- /dev/null +++ b/examples/AudioAppExample/Source/Main.cpp @@ -0,0 +1,101 @@ +/* + ============================================================================== + + This file was auto-generated by the Introjucer! + + It contains the basic startup code for a Juce application. + + ============================================================================== +*/ + +#include "../JuceLibraryCode/JuceHeader.h" + +Component* createMainContentComponent(); + +//============================================================================== +class AudioAppExampleApplication : public JUCEApplication +{ +public: + //============================================================================== + AudioAppExampleApplication() {} + + const String getApplicationName() override { return ProjectInfo::projectName; } + const String getApplicationVersion() override { return ProjectInfo::versionString; } + bool moreThanOneInstanceAllowed() override { return true; } + + //============================================================================== + void initialise (const String& /*commandLine*/) override + { + // This method is where you should put your application's initialisation code.. + + mainWindow = new MainWindow (getApplicationName()); + } + + void shutdown() override + { + // Add your application's shutdown code here.. + + mainWindow = nullptr; // (deletes our window) + } + + //============================================================================== + void systemRequestedQuit() override + { + // This is called when the app is being asked to quit: you can ignore this + // request and let the app carry on running, or call quit() to allow the app to close. + quit(); + } + + void anotherInstanceStarted (const String& /*commandLine*/) override + { + // When another instance of the app is launched while this one is running, + // this method is invoked, and the commandLine parameter tells you what + // the other instance's command-line arguments were. + } + + //============================================================================== + /* + This class implements the desktop window that contains an instance of + our MainContentComponent class. + */ + class MainWindow : public DocumentWindow + { + public: + MainWindow (String name) : DocumentWindow (name, + Colours::lightgrey, + DocumentWindow::allButtons) + { + setUsingNativeTitleBar (true); + setContentOwned (createMainContentComponent(), true); + setResizable (true, true); + + centreWithSize (getWidth(), getHeight()); + setVisible (true); + } + + void closeButtonPressed() override + { + // This is called when the user tries to close this window. Here, we'll just + // ask the app to quit when this happens, but you can change this to do + // whatever you need. + JUCEApplication::getInstance()->systemRequestedQuit(); + } + + /* Note: Be careful if you override any DocumentWindow methods - the base + class uses a lot of them, so by overriding you might break its functionality. + It's best to do all your work in your content component instead, but if + you really have to override any DocumentWindow methods, make sure your + subclass also calls the superclass's method. + */ + + private: + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow) + }; + +private: + ScopedPointer mainWindow; +}; + +//============================================================================== +// This macro generates the main() routine that launches the app. +START_JUCE_APPLICATION (AudioAppExampleApplication) diff --git a/examples/AudioAppExample/Source/MainComponent.cpp b/examples/AudioAppExample/Source/MainComponent.cpp new file mode 100644 index 0000000000..a0eeee5a89 --- /dev/null +++ b/examples/AudioAppExample/Source/MainComponent.cpp @@ -0,0 +1,154 @@ +/* + ============================================================================== + + This file was auto-generated! + + ============================================================================== +*/ + +#ifndef MAINCOMPONENT_H_INCLUDED +#define MAINCOMPONENT_H_INCLUDED + +#include "../JuceLibraryCode/JuceHeader.h" + + +//============================================================================== +class MainContentComponent : public AudioAppComponent +{ +public: + //============================================================================== + MainContentComponent() + : phase (0.0f), + phaseDelta (0.0f), + frequency (5000.0f), + amplitude (0.2f), + sampleRate (0.0), + expectedSamplesPerBlock (0) + { + setSize (800, 600); + + // specify the number of input and output channels that we want to open + setAudioChannels (2, 2); + } + + ~MainContentComponent() + { + shutdownAudio(); + } + + //======================================================================= + void prepareToPlay (int samplesPerBlockExpected, double newSampleRate) override + { + sampleRate = newSampleRate; + expectedSamplesPerBlock = samplesPerBlockExpected; + } + + /* This method generates the actual audio samples. + In this example the buffer is filled with a sine wave whose frequency and + amplitude are controlled by the mouse position. + */ + void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) override + { + bufferToFill.clearActiveBufferRegion(); + const float originalPhase = phase; + + for (int chan = 0; chan < bufferToFill.buffer->getNumChannels(); ++chan) + { + phase = originalPhase; + + float* const channelData = bufferToFill.buffer->getWritePointer (chan, bufferToFill.startSample); + + for (int i = 0; i < bufferToFill.numSamples ; ++i) + { + channelData[i] = amplitude * std::sin (phase); + + // increment the phase step for the next sample + phase = std::fmod (phase + phaseDelta, float_Pi * 2.0f); + } + } + } + + void releaseResources() override + { + // This gets automatically called when audio device paramters change + // or device is restarted. + } + + + //======================================================================= + void paint (Graphics& g) override + { + // (Our component is opaque, so we must completely fill the background with a solid colour) + g.fillAll (Colours::black); + + const float centreY = getHeight() / 2.0f; + const float radius = amplitude * 200.0f; + + // Draw an ellipse based on the mouse position and audio volume + g.setColour (Colours::lightgreen); + g.fillEllipse (lastMousePosition.x - radius / 2.0f, + lastMousePosition.y - radius / 2.0f, + radius, radius); + + // draw a representative sinewave + Path wavePath; + wavePath.startNewSubPath (0, centreY); + + for (float x = 1.0f; x < getWidth(); ++x) + wavePath.lineTo (x, centreY + amplitude * getHeight() * 2.0f + * std::sin (x * frequency * 0.0001f)); + + g.setColour (Colours::grey); + g.strokePath (wavePath, PathStrokeType (2.0f)); + } + + // Mouse handling.. + void mouseDown (const MouseEvent& e) override + { + mouseDrag (e); + } + + void mouseDrag (const MouseEvent& e) override + { + lastMousePosition = e.position; + + frequency = (getHeight() - e.y) * 10.0f; + amplitude = jmin (0.9f, 0.2f * e.position.x / getWidth()); + + phaseDelta = 2.0f * float_Pi * frequency / sampleRate; + + repaint(); + } + + void mouseUp (const MouseEvent&) override + { + amplitude = 0.0f; + repaint(); + } + + void resized() override + { + // This is called when the MainContentComponent is resized. + // If you add any child components, this is where you should + // update their positions. + } + + +private: + //============================================================================== + float phase; + float phaseDelta; + float frequency; + float amplitude; + + double sampleRate; + int expectedSamplesPerBlock; + Point lastMousePosition; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent) +}; + + +Component* createMainContentComponent() { return new MainContentComponent(); }; + +#endif // MAINCOMPONENT_H_INCLUDED diff --git a/extras/Demo/Builds/Android/AndroidManifest.xml b/examples/Demo/Builds/Android/AndroidManifest.xml similarity index 100% rename from extras/Demo/Builds/Android/AndroidManifest.xml rename to examples/Demo/Builds/Android/AndroidManifest.xml diff --git a/extras/Demo/Builds/Android/build.xml b/examples/Demo/Builds/Android/build.xml similarity index 100% rename from extras/Demo/Builds/Android/build.xml rename to examples/Demo/Builds/Android/build.xml diff --git a/extras/Demo/Builds/Android/jni/Android.mk b/examples/Demo/Builds/Android/jni/Android.mk similarity index 100% rename from extras/Demo/Builds/Android/jni/Android.mk rename to examples/Demo/Builds/Android/jni/Android.mk diff --git a/extras/Demo/Builds/Android/jni/Application.mk b/examples/Demo/Builds/Android/jni/Application.mk similarity index 100% rename from extras/Demo/Builds/Android/jni/Application.mk rename to examples/Demo/Builds/Android/jni/Application.mk diff --git a/extras/Demo/Builds/Android/local.properties b/examples/Demo/Builds/Android/local.properties similarity index 100% rename from extras/Demo/Builds/Android/local.properties rename to examples/Demo/Builds/Android/local.properties diff --git a/extras/Demo/Builds/Android/project.properties b/examples/Demo/Builds/Android/project.properties similarity index 100% rename from extras/Demo/Builds/Android/project.properties rename to examples/Demo/Builds/Android/project.properties diff --git a/examples/Demo/Builds/Android/res/drawable-mdpi/icon.png b/examples/Demo/Builds/Android/res/drawable-mdpi/icon.png new file mode 100644 index 0000000000..1d6694b05e Binary files /dev/null and b/examples/Demo/Builds/Android/res/drawable-mdpi/icon.png differ diff --git a/extras/Demo/Builds/Android/res/values/strings.xml b/examples/Demo/Builds/Android/res/values/strings.xml similarity index 100% rename from extras/Demo/Builds/Android/res/values/strings.xml rename to examples/Demo/Builds/Android/res/values/strings.xml diff --git a/extras/Demo/Builds/Android/src/com/juce/jucedemo/JuceDemo.java b/examples/Demo/Builds/Android/src/com/juce/jucedemo/JuceDemo.java similarity index 100% rename from extras/Demo/Builds/Android/src/com/juce/jucedemo/JuceDemo.java rename to examples/Demo/Builds/Android/src/com/juce/jucedemo/JuceDemo.java diff --git a/extras/Demo/Builds/Linux/Makefile b/examples/Demo/Builds/Linux/Makefile similarity index 93% rename from extras/Demo/Builds/Linux/Makefile rename to examples/Demo/Builds/Linux/Makefile index 4accd79af0..ab2b8f594a 100644 --- a/extras/Demo/Builds/Linux/Makefile +++ b/examples/Demo/Builds/Linux/Makefile @@ -18,7 +18,7 @@ ifeq ($(CONFIG),Debug) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -std=c++11 -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules + CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "DEBUG=1" -D "_DEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -g -ggdb -O0 CXXFLAGS += $(CFLAGS) LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt @@ -39,7 +39,7 @@ ifeq ($(CONFIG),Release) TARGET_ARCH := -march=native endif - CPPFLAGS := $(DEPFLAGS) -std=c++11 -D "LINUX=1" -D "NDEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules + CPPFLAGS := $(DEPFLAGS) -D "LINUX=1" -D "NDEBUG=1" -D "JUCE_UNIT_TESTS=1" -D "JUCER_LINUX_MAKE_7346DA2A=1" -D "JUCE_APP_VERSION=3.0.0" -D "JUCE_APP_VERSION_HEX=0x30000" -I /usr/include -I /usr/include/freetype2 -I ../../JuceLibraryCode -I ../../../../modules CFLAGS += $(CPPFLAGS) $(TARGET_ARCH) -O3 CXXFLAGS += $(CFLAGS) LDFLAGS += $(TARGET_ARCH) -L$(BINDIR) -L$(LIBDIR) -fvisibility=hidden -L/usr/X11R6/lib/ -lGL -lX11 -lXext -lXinerama -lasound -ldl -lfreetype -lpthread -lrt diff --git a/examples/Demo/Builds/MacOSX/Icon.icns b/examples/Demo/Builds/MacOSX/Icon.icns new file mode 100644 index 0000000000..4b535c392d Binary files /dev/null and b/examples/Demo/Builds/MacOSX/Icon.icns differ diff --git a/extras/Demo/Builds/MacOSX/Info.plist b/examples/Demo/Builds/MacOSX/Info.plist similarity index 100% rename from extras/Demo/Builds/MacOSX/Info.plist rename to examples/Demo/Builds/MacOSX/Info.plist diff --git a/extras/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj b/examples/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj similarity index 99% rename from extras/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj rename to examples/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj index b3d86e364c..4fbb94bdb8 100644 --- a/extras/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj +++ b/examples/Demo/Builds/MacOSX/JuceDemo.xcodeproj/project.pbxproj @@ -116,6 +116,7 @@ 07553F86ADDF3CE278CBDE66 = {isa = PBXFileReference; lastKnownFileType = file.xml; name = "demo table data.xml"; path = "../../Resources/demo table data.xml"; sourceTree = "SOURCE_ROOT"; }; 08085F4282FC26BA8D377921 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 081472DAF6208CF7FDD4466B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0876934F047839205147DB99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 088687334FC51A5136881578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 088BC49A72D9304769B2CBFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 0923A3AD0A837532E55AE93C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSampleBuffer.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -341,6 +342,7 @@ 3F8C313EC9C1E6E234108098 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 3FBF109F3AD6DE221EFB1BA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 402BC49CAFCFFF067A88F96A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; + 408C5E78F7DE038844E18D31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 40B485A7CCC441C90EA92FBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; 40D267701C8FF75121454D79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 4120CBF145DA500C140BC666 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; @@ -441,6 +443,7 @@ 58FB0C4FE674CC5BB7B1DCA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; 599036DC07DB54E446ECA054 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 59E2B82491E344257F84FC40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + 5A3C2298934C0F77CC60D336 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A73A448137344953ED2BD32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; 5AB15A508A07934A89398A6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PropertiesDemo.cpp; path = ../../Source/Demos/PropertiesDemo.cpp; sourceTree = "SOURCE_ROOT"; }; 5AB81EDAFED264951169F1B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; @@ -454,6 +457,7 @@ 5D475A368AC24E639B8A3797 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 5D4FE2C580EFC84212CFBFB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; 5DA9EA3E74C2AB870EC9CACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5E69510D460EEB7754976CC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5E9F335E274427A81514A20C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 5F3E8B08EE74B0023DA176B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 5FB5AE3F2ECCD8AC1A49CA18 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; @@ -719,6 +723,7 @@ A83639AF2210589E5367ABCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = UnitTestsDemo.cpp; path = ../../Source/Demos/UnitTestsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; A8878B1B86367E161868E49E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; A88B3DDBD1939456E225E36E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + A90C7FF8F98D21494524B726 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; A90EA62A0A4A1B5E62CF0BE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; A966B620E1FB219BD4A4F3D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A99853D3CB536CFDB6C91F98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; @@ -728,6 +733,7 @@ AAA2590D363C6DE624D320A6 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; }; AAC68E522F44DA7AD25574C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; AAEBF0976E57F4756E4AE31E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB3C484314062E809AC41132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; AB589E1E7EC83EA620B7F780 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; AB92BC8961EE90E0F23FD6C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; ABDFE5D85E6ED3CBB8AE1F50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -838,7 +844,6 @@ C993FAEDCEE0A33CAB42F995 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Box2DDemo.cpp; path = ../../Source/Demos/Box2DDemo.cpp; sourceTree = "SOURCE_ROOT"; }; C9C1FC1B4628557AE5C7E7ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; C9DA15073F3BF252BAFF9D69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; - C9DAF05F2DAF78159647512B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; CA0E3166C77EB91555893286 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; CAD3749B6A5BDB2BB00D3498 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; CAD598C03B7C93B4AF912E66 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; @@ -847,7 +852,6 @@ CC79B254C68555B4FFEBC692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; CCD2ED6F6F3ABCC172DC4957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; CCEC8F9385AE939B24D27954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = JavaScript.cpp; path = ../../Source/Demos/JavaScript.cpp; sourceTree = "SOURCE_ROOT"; }; - CD28C9F519BC7F1C835B6EC0 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "brushed_aluminium.png"; path = "../../Resources/brushed_aluminium.png"; sourceTree = "SOURCE_ROOT"; }; CD8B9E60EFE0A0ED368EE3D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; CD9B8C96642C7F691FCB3EC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; CDB41763FDE907C3C0E75374 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -856,11 +860,9 @@ CE7D4E7030BF4BB4B1093B5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; CE89334A964AFF33758CBDEB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; CF626DE27EB763C9BCFD4F15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; - CF7CEC8C260AC623C222264C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; D04960564D2860B19FA5D1CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; D057633F8F7684AB7B4B28AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.h"; sourceTree = "SOURCE_ROOT"; }; D0A84ED14FC2F7A143679258 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; - D0ADA33F00B3BD83C1D5AE37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; D100B2EDF88F2C019E4D2311 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; D1D8A53A7614F106942DADED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; D1E31AC47CCAB97418EB646D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; @@ -886,7 +888,6 @@ D8EB3FEADD047C7AEFF9C8C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; D93CE990D75211F4A5EBB4F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; D94C07E10FC25EE303D64992 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; - D999C4C8DE51CDFB861B863D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; D99C0F89D572BBF219A7B991 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; D9AAC6516BAD4F5BAE9CF297 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; D9DFC1CE9A4EF9230B49D697 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; @@ -898,57 +899,61 @@ DB748B0D9227F5345683CF7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; DB8FAF091C9E78AE5F64701F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; DC0AE99EFE4F88987CA2F705 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; - DC6930EE56EEA5221CFECAB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; DD24BAA1E8104B6D3554A222 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = XMLandJSONDemo.cpp; path = ../../Source/Demos/XMLandJSONDemo.cpp; sourceTree = "SOURCE_ROOT"; }; DD4A812225F47E590FCF2E29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; DD5F4BFEA497212883A869A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; - DDDB707A59DB489D195BF99D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - DE3BEA732CBC57AE71E94159 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; DE534A5A2D3B48BFBCE598B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; DEB0E2F28130100B1EFD250E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; - DEFD6AD8B2BBA57017DB4A13 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_box2d/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - DF9B26660FAF5ECF2EF620B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; E04EC9F05219CEEB4469A437 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; E0565A19E2589729259C7116 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; E0B8277ABF9DDAC8C12DE26D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; E0DB91A472A77866258D12B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; E1107017C2BF7ECC847DF01A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorPlayer.h"; path = "../../../../modules/juce_audio_utils/players/juce_AudioProcessorPlayer.h"; sourceTree = "SOURCE_ROOT"; }; E199DDD8F06741F21D8F9CFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; - E2127416236840EE3AF32D5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; E23EDF80FD5320232483D80F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; E243FC2BD3446D9518049538 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E2C5C95247FDECA4C39F1415 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; E30009C6743474CD6195F5F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; - E31FB2C8B34A146D28A4C611 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; E32D1C481161F063918F76AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; - E3415348D45BF63A7CE8CF6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; E34DFFF51D0F7C34FB826C4C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; - E3E3CD4660C20BE120E8BB1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; E41A387D233A436131D7910E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; - E4369FFC0E1A6547580D671F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; E489FF0264C957A8F71F346A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; - E4981056661C3F251FECEC32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; - E4BD5632ADD38CF8BAD38A76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; E5058DD199CEC42ECE922239 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; - E52756E1DB553ED02D829F61 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; - E6333272C33612B6A7D6073E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; E6E0ADA4E3632540A8ADC7D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; E6E0FE3CBDBE2554B527CF60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; E70A283A87989F5A1CEDE6A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; - E7EA99CD84E1EC598F4984DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; - E7EE6BDC0E3A0739529AED91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + E7113B21A18CD89165BAFD4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; E80CA3836329ED0EEC74BAE6 = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; - EA7D346CAE6A07C0B395816B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; EACCBFA17F4D07ECE058EEBB = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; 229D2DAADACF15540C3BBD15 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JuceDemo.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; + C9DAF05F2DAF78159647512B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; + CF7CEC8C260AC623C222264C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + D0ADA33F00B3BD83C1D5AE37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; + D999C4C8DE51CDFB861B863D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC6930EE56EEA5221CFECAB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + DDDB707A59DB489D195BF99D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + DE3BEA732CBC57AE71E94159 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; DEE5EFE8148FD2DC743A7DD7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LookAndFeelDemo.cpp; path = ../../Source/Demos/LookAndFeelDemo.cpp; sourceTree = "SOURCE_ROOT"; }; + DEFD6AD8B2BBA57017DB4A13 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_box2d/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + DF9B26660FAF5ECF2EF620B8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + E2127416236840EE3AF32D5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + E31FB2C8B34A146D28A4C611 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + E3415348D45BF63A7CE8CF6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; + E3E3CD4660C20BE120E8BB1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E4369FFC0E1A6547580D671F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + E4981056661C3F251FECEC32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + E4BD5632ADD38CF8BAD38A76 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + E52756E1DB553ED02D829F61 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E5E02A3C4E942105FEDCA885 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + E6333272C33612B6A7D6073E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; E682A3A52BD15D5CA4933C12 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; - E7113B21A18CD89165BAFD4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; E7A5AF3EBCFEEF8787F2D14F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_MidiKeyboardComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E7B21011F93915ADD2CC5DD9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; + E7EA99CD84E1EC598F4984DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + E7EE6BDC0E3A0739529AED91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; E8128A35828C860977FEC54C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; E8B785D8DD9C49BC7FF5EA75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; + E8D96BDC76CD02DF3E238A88 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "tile_background.png"; path = "../../Resources/tile_background.png"; sourceTree = "SOURCE_ROOT"; }; E8DBB02B17A6E144D08E4CC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; E98EA1189613978EA4E78D85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; E9A3E96E32C301EE817059C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -956,6 +961,7 @@ E9BBEE1B3986E0829AA44133 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; EA082125C757D1FD63BA38C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; EA3436079F0D78BB76CD15F7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + EA7D346CAE6A07C0B395816B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; EA9FE6D1E0A072E73312916C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; EB369EA30D31CD710A09B7FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; EB6F5F8F57F0117C10735583 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1066,7 +1072,7 @@ AD55906C5D8552E842C98EDC, DD24BAA1E8104B6D3554A222, ); name = Demos; sourceTree = ""; }; 0BC17C2D6DC6B34C6F308432 = {isa = PBXGroup; children = ( - CD28C9F519BC7F1C835B6EC0, + E8D96BDC76CD02DF3E238A88, 703C1FBF6632A8078BBE05AC, 07553F86ADDF3CE278CBDE66, FEB688750213D0C64F18AA37, @@ -1281,6 +1287,8 @@ 5FB5AE3F2ECCD8AC1A49CA18, 6BD1D463E40A463C69C065C7, ); name = "juce_audio_processors"; sourceTree = ""; }; EE85F21BD60AE1C7926DA310 = {isa = PBXGroup; children = ( + 5A3C2298934C0F77CC60D336, + A90C7FF8F98D21494524B726, 081472DAF6208CF7FDD4466B, AB92BC8961EE90E0F23FD6C5, A4A7D4C4EF2A24F743D107B5, @@ -2034,6 +2042,8 @@ 57D6E8A8E8D871EB1DEF6A5F, 17ADC8ECFA616CF392783757, ); name = embedding; sourceTree = ""; }; 488105705659833F97300471 = {isa = PBXGroup; children = ( + 0876934F047839205147DB99, + 408C5E78F7DE038844E18D31, 6EBA81213324106593EF5DF8, 475B1787F548E4FB11C63CD3, 0A25E42359372E51ADB0123C, @@ -2096,7 +2106,10 @@ E8DBB02B17A6E144D08E4CC7, 6308DABB4145FBD330B7DA5A, 8EF11A0D1370915CA7AF4F64, ); name = geometry; sourceTree = ""; }; - A97532325A0F37510A7F9E3C = {isa = PBXGroup; children = ( + 8EEE76AA4EC057A4D2507E39 = {isa = PBXGroup; children = ( + AB3C484314062E809AC41132, + 5E69510D460EEB7754976CC8, ); name = utils; sourceTree = ""; }; + DFBBD0DCA08C2A6E552B7643 = {isa = PBXGroup; children = ( 200A1B6B96E1089110CEAD48, 7B81083FC4CCD2D096D93162, F5B288379859F5C9F4FB83BB, @@ -2107,7 +2120,8 @@ C47DD018E100D8FA5BDEBB7E = {isa = PBXGroup; children = ( C351D1801F7000CF7EB16A39, F873F1C35B16AE04A75E99A0, - A97532325A0F37510A7F9E3C, + 8EEE76AA4EC057A4D2507E39, + DFBBD0DCA08C2A6E552B7643, F4AD24F8DDD10C938759CEB9, 14A37C392DF6CF1CDB64612D, ); name = "juce_opengl"; sourceTree = ""; }; D0F919BD5E25E00651040936 = {isa = PBXGroup; children = ( diff --git a/extras/audio plugin host/Builds/MacOSX/RecentFilesMenuTemplate.nib b/examples/Demo/Builds/MacOSX/RecentFilesMenuTemplate.nib similarity index 100% rename from extras/audio plugin host/Builds/MacOSX/RecentFilesMenuTemplate.nib rename to examples/Demo/Builds/MacOSX/RecentFilesMenuTemplate.nib diff --git a/extras/Demo/Builds/VisualStudio2010/JuceDemo.sln b/examples/Demo/Builds/VisualStudio2010/JuceDemo.sln similarity index 100% rename from extras/Demo/Builds/VisualStudio2010/JuceDemo.sln rename to examples/Demo/Builds/VisualStudio2010/JuceDemo.sln diff --git a/extras/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj b/examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj similarity index 97% rename from extras/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj rename to examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj index dbdf05c959..13e63d0f8f 100644 --- a/extras/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj +++ b/examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj @@ -381,6 +381,9 @@ true + + true + true @@ -1179,6 +1182,9 @@ true + + true + true @@ -1248,6 +1254,9 @@ true + + true + true @@ -1363,6 +1372,7 @@ + @@ -1700,6 +1710,7 @@ + @@ -1725,6 +1736,7 @@ + @@ -1742,7 +1754,7 @@ - + diff --git a/extras/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj.filters b/examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj.filters similarity index 97% rename from extras/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj.filters rename to examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj.filters index 700c3e6b52..0c334fb312 100644 --- a/extras/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj.filters +++ b/examples/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj.filters @@ -302,6 +302,9 @@ {B3141847-8F13-F67D-45B2-E3ECF6E09088} + + {9E586194-C056-101C-5311-F2AF5191AC80} + {151B49D8-6102-F802-1C07-D59931BC0574} @@ -667,6 +670,9 @@ Juce Modules\juce_audio_processors\scanning + + Juce Modules\juce_audio_utils\gui + Juce Modules\juce_audio_utils\gui @@ -1513,6 +1519,9 @@ Juce Modules\juce_gui_extra\documents + + Juce Modules\juce_gui_extra\misc + Juce Modules\juce_gui_extra\misc @@ -1594,6 +1603,9 @@ Juce Modules\juce_opengl\opengl + + Juce Modules\juce_opengl\utils + Juce Modules\juce_video\capture @@ -1911,6 +1923,9 @@ Juce Modules\juce_audio_processors + + Juce Modules\juce_audio_utils\gui + Juce Modules\juce_audio_utils\gui @@ -2922,6 +2937,9 @@ Juce Modules\juce_gui_extra\embedding + + Juce Modules\juce_gui_extra\misc + Juce Modules\juce_gui_extra\misc @@ -2997,6 +3015,9 @@ Juce Modules\juce_opengl\geometry + + Juce Modules\juce_opengl\utils + Juce Modules\juce_opengl\native @@ -3044,7 +3065,7 @@ - + JuceDemo\Source\Resources diff --git a/examples/Demo/Builds/VisualStudio2010/icon.ico b/examples/Demo/Builds/VisualStudio2010/icon.ico new file mode 100644 index 0000000000..6ba1b7e3d5 Binary files /dev/null and b/examples/Demo/Builds/VisualStudio2010/icon.ico differ diff --git a/extras/Demo/Builds/VisualStudio2010/resources.rc b/examples/Demo/Builds/VisualStudio2010/resources.rc similarity index 100% rename from extras/Demo/Builds/VisualStudio2010/resources.rc rename to examples/Demo/Builds/VisualStudio2010/resources.rc diff --git a/extras/Demo/Builds/VisualStudio2012/JuceDemo.sln b/examples/Demo/Builds/VisualStudio2012/JuceDemo.sln similarity index 100% rename from extras/Demo/Builds/VisualStudio2012/JuceDemo.sln rename to examples/Demo/Builds/VisualStudio2012/JuceDemo.sln diff --git a/extras/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj b/examples/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj similarity index 97% rename from extras/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj rename to examples/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj index df13043a0c..1d557e57fc 100644 --- a/extras/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj +++ b/examples/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj @@ -387,6 +387,9 @@ true + + true + true @@ -1185,6 +1188,9 @@ true + + true + true @@ -1254,6 +1260,9 @@ true + + true + true @@ -1369,6 +1378,7 @@ + @@ -1706,6 +1716,7 @@ + @@ -1731,6 +1742,7 @@ + @@ -1748,7 +1760,7 @@ - + diff --git a/extras/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj.filters b/examples/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj.filters similarity index 97% rename from extras/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj.filters rename to examples/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj.filters index 700c3e6b52..0c334fb312 100644 --- a/extras/Demo/Builds/VisualStudio2010/JuceDemo.vcxproj.filters +++ b/examples/Demo/Builds/VisualStudio2012/JuceDemo.vcxproj.filters @@ -302,6 +302,9 @@ {B3141847-8F13-F67D-45B2-E3ECF6E09088} + + {9E586194-C056-101C-5311-F2AF5191AC80} + {151B49D8-6102-F802-1C07-D59931BC0574} @@ -667,6 +670,9 @@ Juce Modules\juce_audio_processors\scanning + + Juce Modules\juce_audio_utils\gui + Juce Modules\juce_audio_utils\gui @@ -1513,6 +1519,9 @@ Juce Modules\juce_gui_extra\documents + + Juce Modules\juce_gui_extra\misc + Juce Modules\juce_gui_extra\misc @@ -1594,6 +1603,9 @@ Juce Modules\juce_opengl\opengl + + Juce Modules\juce_opengl\utils + Juce Modules\juce_video\capture @@ -1911,6 +1923,9 @@ Juce Modules\juce_audio_processors + + Juce Modules\juce_audio_utils\gui + Juce Modules\juce_audio_utils\gui @@ -2922,6 +2937,9 @@ Juce Modules\juce_gui_extra\embedding + + Juce Modules\juce_gui_extra\misc + Juce Modules\juce_gui_extra\misc @@ -2997,6 +3015,9 @@ Juce Modules\juce_opengl\geometry + + Juce Modules\juce_opengl\utils + Juce Modules\juce_opengl\native @@ -3044,7 +3065,7 @@ - + JuceDemo\Source\Resources diff --git a/examples/Demo/Builds/VisualStudio2012/icon.ico b/examples/Demo/Builds/VisualStudio2012/icon.ico new file mode 100644 index 0000000000..6ba1b7e3d5 Binary files /dev/null and b/examples/Demo/Builds/VisualStudio2012/icon.ico differ diff --git a/extras/Demo/Builds/VisualStudio2012/resources.rc b/examples/Demo/Builds/VisualStudio2012/resources.rc similarity index 100% rename from extras/Demo/Builds/VisualStudio2012/resources.rc rename to examples/Demo/Builds/VisualStudio2012/resources.rc diff --git a/extras/Demo/Builds/VisualStudio2013/JuceDemo.sln b/examples/Demo/Builds/VisualStudio2013/JuceDemo.sln similarity index 100% rename from extras/Demo/Builds/VisualStudio2013/JuceDemo.sln rename to examples/Demo/Builds/VisualStudio2013/JuceDemo.sln diff --git a/extras/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj b/examples/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj similarity index 97% rename from extras/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj rename to examples/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj index 01cd3ee795..fd3ba48ebf 100644 --- a/extras/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj +++ b/examples/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj @@ -387,6 +387,9 @@ true + + true + true @@ -1185,6 +1188,9 @@ true + + true + true @@ -1254,6 +1260,9 @@ true + + true + true @@ -1369,6 +1378,7 @@ + @@ -1706,6 +1716,7 @@ + @@ -1731,6 +1742,7 @@ + @@ -1748,7 +1760,7 @@ - + diff --git a/extras/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj.filters b/examples/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj.filters similarity index 97% rename from extras/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj.filters rename to examples/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj.filters index f0b5c6ab8c..fb11f9952f 100644 --- a/extras/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj.filters +++ b/examples/Demo/Builds/VisualStudio2013/JuceDemo.vcxproj.filters @@ -302,6 +302,9 @@ {B3141847-8F13-F67D-45B2-E3ECF6E09088} + + {9E586194-C056-101C-5311-F2AF5191AC80} + {151B49D8-6102-F802-1C07-D59931BC0574} @@ -667,6 +670,9 @@ Juce Modules\juce_audio_processors\scanning + + Juce Modules\juce_audio_utils\gui + Juce Modules\juce_audio_utils\gui @@ -1513,6 +1519,9 @@ Juce Modules\juce_gui_extra\documents + + Juce Modules\juce_gui_extra\misc + Juce Modules\juce_gui_extra\misc @@ -1594,6 +1603,9 @@ Juce Modules\juce_opengl\opengl + + Juce Modules\juce_opengl\utils + Juce Modules\juce_video\capture @@ -1911,6 +1923,9 @@ Juce Modules\juce_audio_processors + + Juce Modules\juce_audio_utils\gui + Juce Modules\juce_audio_utils\gui @@ -2922,6 +2937,9 @@ Juce Modules\juce_gui_extra\embedding + + Juce Modules\juce_gui_extra\misc + Juce Modules\juce_gui_extra\misc @@ -2997,6 +3015,9 @@ Juce Modules\juce_opengl\geometry + + Juce Modules\juce_opengl\utils + Juce Modules\juce_opengl\native @@ -3044,7 +3065,7 @@ - + JuceDemo\Source\Resources diff --git a/examples/Demo/Builds/VisualStudio2013/icon.ico b/examples/Demo/Builds/VisualStudio2013/icon.ico new file mode 100644 index 0000000000..6ba1b7e3d5 Binary files /dev/null and b/examples/Demo/Builds/VisualStudio2013/icon.ico differ diff --git a/extras/Demo/Builds/VisualStudio2013/resources.rc b/examples/Demo/Builds/VisualStudio2013/resources.rc similarity index 100% rename from extras/Demo/Builds/VisualStudio2013/resources.rc rename to examples/Demo/Builds/VisualStudio2013/resources.rc diff --git a/examples/Demo/Builds/iOS/Icon.icns b/examples/Demo/Builds/iOS/Icon.icns new file mode 100644 index 0000000000..4b535c392d Binary files /dev/null and b/examples/Demo/Builds/iOS/Icon.icns differ diff --git a/extras/Demo/Builds/iOS/Info.plist b/examples/Demo/Builds/iOS/Info.plist similarity index 100% rename from extras/Demo/Builds/iOS/Info.plist rename to examples/Demo/Builds/iOS/Info.plist diff --git a/extras/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj b/examples/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj similarity index 99% rename from extras/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj rename to examples/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj index c7261c14b6..3306d3d672 100644 --- a/extras/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj +++ b/examples/Demo/Builds/iOS/JuceDemo.xcodeproj/project.pbxproj @@ -111,6 +111,7 @@ 07553F86ADDF3CE278CBDE66 = {isa = PBXFileReference; lastKnownFileType = file.xml; name = "demo table data.xml"; path = "../../Resources/demo table data.xml"; sourceTree = "SOURCE_ROOT"; }; 08085F4282FC26BA8D377921 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 081472DAF6208CF7FDD4466B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceSelectorComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0876934F047839205147DB99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 088687334FC51A5136881578 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; 088BC49A72D9304769B2CBFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 0923A3AD0A837532E55AE93C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSampleBuffer.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -336,6 +337,7 @@ 3F8C313EC9C1E6E234108098 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; 3FBF109F3AD6DE221EFB1BA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 402BC49CAFCFFF067A88F96A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; + 408C5E78F7DE038844E18D31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 40B485A7CCC441C90EA92FBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; 40D267701C8FF75121454D79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; 4120CBF145DA500C140BC666 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; @@ -435,6 +437,7 @@ 58FB0C4FE674CC5BB7B1DCA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; 599036DC07DB54E446ECA054 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; 59E2B82491E344257F84FC40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + 5A3C2298934C0F77CC60D336 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 5A73A448137344953ED2BD32 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; 5AB15A508A07934A89398A6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PropertiesDemo.cpp; path = ../../Source/Demos/PropertiesDemo.cpp; sourceTree = "SOURCE_ROOT"; }; 5AB81EDAFED264951169F1B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; @@ -449,6 +452,7 @@ 5D475A368AC24E639B8A3797 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; 5D4FE2C580EFC84212CFBFB5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; 5DA9EA3E74C2AB870EC9CACB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5E69510D460EEB7754976CC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5E9F335E274427A81514A20C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; 5F3E8B08EE74B0023DA176B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; 5FB5AE3F2ECCD8AC1A49CA18 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; @@ -710,6 +714,7 @@ A83639AF2210589E5367ABCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = UnitTestsDemo.cpp; path = ../../Source/Demos/UnitTestsDemo.cpp; sourceTree = "SOURCE_ROOT"; }; A8878B1B86367E161868E49E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; A88B3DDBD1939456E225E36E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + A90C7FF8F98D21494524B726 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; A90EA62A0A4A1B5E62CF0BE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; A966B620E1FB219BD4A4F3D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; A99853D3CB536CFDB6C91F98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; @@ -718,6 +723,7 @@ AA967AC6E8FDCD7502272DA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; AAC68E522F44DA7AD25574C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; AAEBF0976E57F4756E4AE31E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB3C484314062E809AC41132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; AB589E1E7EC83EA620B7F780 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; AB92BC8961EE90E0F23FD6C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; ABDFE5D85E6ED3CBB8AE1F50 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -838,7 +844,6 @@ CC79B254C68555B4FFEBC692 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; CCD2ED6F6F3ABCC172DC4957 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; CCEC8F9385AE939B24D27954 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = JavaScript.cpp; path = ../../Source/Demos/JavaScript.cpp; sourceTree = "SOURCE_ROOT"; }; - CD28C9F519BC7F1C835B6EC0 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "brushed_aluminium.png"; path = "../../Resources/brushed_aluminium.png"; sourceTree = "SOURCE_ROOT"; }; CD8B9E60EFE0A0ED368EE3D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; CD9B8C96642C7F691FCB3EC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; CDB41763FDE907C3C0E75374 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; @@ -936,6 +941,7 @@ E7EE6BDC0E3A0739529AED91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; E8128A35828C860977FEC54C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; E8B785D8DD9C49BC7FF5EA75 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; + E8D96BDC76CD02DF3E238A88 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "tile_background.png"; path = "../../Resources/tile_background.png"; sourceTree = "SOURCE_ROOT"; }; E8DBB02B17A6E144D08E4CC7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; E98EA1189613978EA4E78D85 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; E9A3E96E32C301EE817059C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -1058,7 +1064,7 @@ AD55906C5D8552E842C98EDC, DD24BAA1E8104B6D3554A222, ); name = Demos; sourceTree = ""; }; 0BC17C2D6DC6B34C6F308432 = {isa = PBXGroup; children = ( - CD28C9F519BC7F1C835B6EC0, + E8D96BDC76CD02DF3E238A88, 703C1FBF6632A8078BBE05AC, 07553F86ADDF3CE278CBDE66, FEB688750213D0C64F18AA37, @@ -1273,6 +1279,8 @@ 5FB5AE3F2ECCD8AC1A49CA18, 6BD1D463E40A463C69C065C7, ); name = "juce_audio_processors"; sourceTree = ""; }; EE85F21BD60AE1C7926DA310 = {isa = PBXGroup; children = ( + 5A3C2298934C0F77CC60D336, + A90C7FF8F98D21494524B726, 081472DAF6208CF7FDD4466B, AB92BC8961EE90E0F23FD6C5, A4A7D4C4EF2A24F743D107B5, @@ -2026,6 +2034,8 @@ 57D6E8A8E8D871EB1DEF6A5F, 17ADC8ECFA616CF392783757, ); name = embedding; sourceTree = ""; }; 488105705659833F97300471 = {isa = PBXGroup; children = ( + 0876934F047839205147DB99, + 408C5E78F7DE038844E18D31, 6EBA81213324106593EF5DF8, 475B1787F548E4FB11C63CD3, 0A25E42359372E51ADB0123C, @@ -2088,7 +2098,10 @@ E8DBB02B17A6E144D08E4CC7, 6308DABB4145FBD330B7DA5A, 8EF11A0D1370915CA7AF4F64, ); name = geometry; sourceTree = ""; }; - A97532325A0F37510A7F9E3C = {isa = PBXGroup; children = ( + 8EEE76AA4EC057A4D2507E39 = {isa = PBXGroup; children = ( + AB3C484314062E809AC41132, + 5E69510D460EEB7754976CC8, ); name = utils; sourceTree = ""; }; + DFBBD0DCA08C2A6E552B7643 = {isa = PBXGroup; children = ( 200A1B6B96E1089110CEAD48, 7B81083FC4CCD2D096D93162, F5B288379859F5C9F4FB83BB, @@ -2099,7 +2112,8 @@ C47DD018E100D8FA5BDEBB7E = {isa = PBXGroup; children = ( C351D1801F7000CF7EB16A39, F873F1C35B16AE04A75E99A0, - A97532325A0F37510A7F9E3C, + 8EEE76AA4EC057A4D2507E39, + DFBBD0DCA08C2A6E552B7643, F4AD24F8DDD10C938759CEB9, 14A37C392DF6CF1CDB64612D, ); name = "juce_opengl"; sourceTree = ""; }; D0F919BD5E25E00651040936 = {isa = PBXGroup; children = ( diff --git a/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Contents.json b/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000000..765c4780a5 --- /dev/null +++ b/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,58 @@ +{ + "images": [ + { + "idiom": "iphone", + "size": "29x29", + "scale": "2x" + }, + { + "idiom": "iphone", + "size": "40x40", + "scale": "2x" + }, + { + "idiom": "iphone", + "size": "60x60", + "scale": "2x" + }, + { + "idiom": "iphone", + "size": "60x60", + "scale": "3x" + }, + { + "idiom": "ipad", + "size": "29x29", + "scale": "1x" + }, + { + "idiom": "ipad", + "size": "29x29", + "scale": "2x" + }, + { + "idiom": "ipad", + "size": "40x40", + "scale": "1x" + }, + { + "idiom": "ipad", + "size": "40x40", + "scale": "2x" + }, + { + "idiom": "ipad", + "size": "76x76", + "scale": "1x" + }, + { + "idiom": "ipad", + "size": "76x76", + "scale": "2x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/LaunchImage.launchimage/Contents.json b/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/LaunchImage.launchimage/Contents.json new file mode 100644 index 0000000000..c805626cce --- /dev/null +++ b/examples/Demo/Builds/iOS/JuceDemo/Images.xcassets/LaunchImage.launchimage/Contents.json @@ -0,0 +1,50 @@ +{ + "images": [ + { + "orientation": "portrait", + "idiom": "iphone", + "extent": "full-screen", + "minimum-system-version": "7.0", + "scale": "2x" + }, + { + "orientation": "portrait", + "idiom": "iphone", + "extent": "full-screen", + "minimum-system-version": "7.0", + "scale": "2x" + }, + { + "orientation": "portrait", + "idiom": "ipad", + "extent": "full-screen", + "minimum-system-version": "7.0", + "scale": "1x" + }, + { + "orientation": "landscape", + "idiom": "ipad", + "extent": "full-screen", + "minimum-system-version": "7.0", + "scale": "1x" + }, + { + "orientation": "portrait", + "idiom": "ipad", + "extent": "full-screen", + "minimum-system-version": "7.0", + "scale": "2x" + }, + { + "orientation": "landscape", + "idiom": "ipad", + "extent": "full-screen", + "minimum-system-version": "7.0", + "scale": "2x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/extras/Demo/JuceDemo.jucer b/examples/Demo/JuceDemo.jucer similarity index 97% rename from extras/Demo/JuceDemo.jucer rename to examples/Demo/JuceDemo.jucer index fc3a4f5b39..9a3100d41f 100644 --- a/extras/Demo/JuceDemo.jucer +++ b/examples/Demo/JuceDemo.jucer @@ -275,8 +275,8 @@ file="Source/Demos/XMLandJSONDemo.cpp"/> - + diff --git a/extras/Demo/JuceLibraryCode/AppConfig.h b/examples/Demo/JuceLibraryCode/AppConfig.h similarity index 100% rename from extras/Demo/JuceLibraryCode/AppConfig.h rename to examples/Demo/JuceLibraryCode/AppConfig.h diff --git a/extras/Demo/JuceLibraryCode/BinaryData.cpp b/examples/Demo/JuceLibraryCode/BinaryData.cpp similarity index 85% rename from extras/Demo/JuceLibraryCode/BinaryData.cpp rename to examples/Demo/JuceLibraryCode/BinaryData.cpp index 58220789a8..738c067c1d 100644 --- a/extras/Demo/JuceLibraryCode/BinaryData.cpp +++ b/examples/Demo/JuceLibraryCode/BinaryData.cpp @@ -7,217 +7,12 @@ namespace BinaryData { -//================== brushed_aluminium.png ================== +//================== tile_background.png ================== static const unsigned char temp_binary_data_0[] = -{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,1,84,0,0,0,110,8,2,0,0,0,247,102,124,157,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,4,103,65,77,65,0,0,177,142,124,251,81,147,0,0,0,32,99,72,82,77,0,0,122,37,0,0,128,131,0,0,249,255, -0,0,128,233,0,0,117,48,0,0,234,96,0,0,58,152,0,0,23,111,146,95,197,70,0,0,56,250,73,68,65,84,120,218,172,83,71,14,192,32,12,75,248,255,153,231,66,17,81,45,203,97,244,80,31,16,114,246,242,90,171,153,185,187,189,224,127,239,221,8,33,10,178,79,240,135,245, -197,48,152,48,247,137,80,64,44,72,51,66,196,230,87,125,206,22,177,6,74,41,98,216,90,147,4,144,24,107,242,7,10,97,203,140,148,47,53,230,90,196,231,1,185,88,97,174,221,56,48,255,226,139,127,214,217,181,98,12,75,218,190,172,37,147,60,71,225,151,185,241, -94,241,155,163,200,43,171,40,219,178,187,41,56,228,162,120,115,176,87,187,161,35,226,104,209,161,153,249,30,229,0,31,1,40,43,163,21,10,97,24,134,34,235,255,255,241,192,65,184,33,36,93,229,250,48,100,98,77,179,211,88,40,196,25,32,154,159,208,152,239,84, -147,162,117,194,237,93,75,147,214,68,125,202,21,109,91,136,168,30,29,81,238,239,189,159,223,133,157,181,214,0,40,15,169,253,68,234,52,70,51,167,110,108,41,232,230,51,142,38,19,118,200,217,33,38,90,1,115,136,252,21,22,45,241,106,56,201,51,198,120,127, -250,165,141,184,142,57,48,129,217,141,77,98,48,136,73,104,147,73,16,114,107,51,19,156,83,199,190,80,129,125,105,241,193,61,29,114,162,114,42,87,213,77,6,86,244,174,98,108,10,244,7,147,248,145,234,87,0,82,171,32,5,96,24,132,93,246,255,23,123,88,65,8,33, -137,210,177,157,134,108,218,168,73,250,0,198,52,197,200,201,200,129,14,162,149,62,90,145,31,145,27,62,150,228,140,165,89,35,165,22,114,98,105,152,69,71,2,226,130,162,150,60,139,77,49,52,238,36,239,183,59,155,160,115,86,243,11,246,251,198,88,150,235,192, -66,248,63,30,254,53,27,166,230,60,92,228,169,251,6,142,157,72,85,77,192,157,9,209,171,248,95,22,145,104,185,88,33,40,145,104,119,148,137,41,30,205,117,25,16,23,93,134,226,151,86,96,17,80,253,205,43,0,229,229,146,2,48,16,194,208,77,239,127,230,22,132, -16,242,17,187,233,206,14,227,196,151,248,240,77,28,201,226,183,34,119,97,185,68,128,38,35,167,201,18,90,64,86,96,37,122,187,63,63,119,28,133,12,23,184,135,135,183,56,156,203,118,227,128,88,72,220,198,85,36,120,148,197,125,86,99,118,189,212,54,232,252, -165,137,148,199,128,19,13,147,91,55,73,109,63,218,213,184,232,112,206,146,228,219,178,219,247,157,240,200,229,120,53,14,38,252,55,70,64,204,249,173,219,144,34,219,85,220,184,121,143,104,196,119,168,189,2,112,98,6,41,0,131,64,12,188,244,255,111,110,65, -8,33,19,89,235,205,130,61,168,201,238,108,30,54,150,145,124,104,179,133,106,241,150,231,180,25,23,225,236,192,250,29,35,70,212,108,186,49,112,189,170,220,123,81,92,116,213,86,181,238,46,110,32,11,184,248,92,118,127,123,233,197,47,20,214,97,166,112,97, -239,17,70,116,246,111,161,249,171,214,83,166,60,220,48,122,158,78,150,121,68,206,174,186,218,204,98,161,207,5,5,81,197,42,228,239,14,85,27,198,24,102,213,100,202,39,101,141,81,20,192,43,0,41,102,140,3,80,8,131,208,229,223,255,204,14,38,228,5,104,29,190, -155,139,162,210,10,124,53,223,154,242,146,60,146,222,76,2,187,30,190,254,54,234,17,134,94,107,178,176,77,43,18,182,185,12,74,29,222,2,25,95,45,92,149,79,79,251,87,163,71,50,38,85,162,77,173,81,154,60,177,191,174,182,158,159,189,96,2,182,100,13,211,131, -46,225,83,106,201,197,200,212,245,41,253,50,253,205,236,182,150,98,245,158,194,147,46,152,137,3,139,252,142,235,62,140,162,36,94,149,162,207,206,40,36,53,144,182,45,56,77,34,25,157,152,83,28,1,24,51,183,21,128,65,24,134,194,88,255,255,151,133,9,18,146, -211,186,61,236,221,154,91,227,171,40,63,84,220,39,212,109,22,179,144,13,215,76,44,101,41,185,87,85,184,219,236,255,96,194,72,6,92,150,48,86,153,72,161,216,39,178,51,215,253,116,182,206,160,146,3,93,223,134,86,48,219,245,48,153,249,129,38,137,215,61,124, -92,59,133,46,228,91,183,151,238,100,33,46,25,107,112,239,186,113,220,164,208,228,52,154,161,192,29,52,158,107,125,190,239,170,170,218,20,160,59,162,217,32,248,181,22,181,3,90,173,166,5,86,55,255,37,0,103,86,142,3,48,8,195,150,254,255,205,84,66,178,44, -219,49,136,141,41,37,52,135,143,15,2,184,52,195,254,54,40,135,151,184,60,58,118,84,223,123,146,201,31,249,184,43,58,115,139,188,145,7,191,215,159,88,0,69,149,229,28,5,195,247,191,206,241,89,113,40,67,74,110,27,221,208,7,27,47,42,234,15,146,158,48,47, -199,65,83,168,50,20,216,227,40,72,120,26,58,147,17,27,21,62,62,139,206,117,3,117,221,202,241,254,228,94,144,188,0,16,64,105,227,157,39,174,225,77,228,243,75,10,210,169,13,35,133,125,94,2,176,106,229,56,0,64,64,80,225,255,111,86,72,54,50,151,141,80,40, -20,18,199,216,57,76,201,60,185,92,103,155,231,196,249,126,219,170,135,5,184,68,167,175,111,185,114,194,120,112,40,114,250,34,139,176,244,59,203,121,206,175,155,219,195,135,0,252,139,224,103,191,182,57,201,53,184,126,86,28,192,96,1,183,210,196,146,192, -118,126,179,227,41,174,50,73,165,233,238,152,139,105,152,127,5,193,40,213,74,62,5,96,43,67,253,49,9,136,168,182,4,32,213,76,110,0,136,65,24,248,73,255,53,239,35,146,101,249,64,172,210,0,31,48,135,135,35,62,68,100,233,113,57,228,88,220,2,175,42,160,255, -200,8,238,228,228,95,133,185,152,34,204,111,56,176,181,164,25,183,182,107,51,38,155,197,224,142,99,204,68,236,176,27,155,109,222,198,255,58,130,143,126,193,230,142,104,215,132,36,75,102,151,39,136,209,119,20,0,34,184,146,103,33,9,238,133,8,157,5,250, -206,140,90,245,238,227,156,40,206,42,169,16,176,0,249,192,105,27,193,230,47,46,130,42,175,156,79,0,74,205,37,5,64,24,6,162,93,148,220,255,200,22,4,25,230,147,212,238,92,40,130,105,157,207,219,85,101,79,86,202,12,212,125,81,52,98,133,138,58,28,123,26, -89,140,135,156,136,254,132,241,101,40,249,211,123,111,166,57,245,118,182,8,164,143,157,246,103,226,43,172,247,182,28,219,47,32,103,212,56,99,7,214,75,188,123,155,144,212,62,69,188,180,163,108,174,190,28,75,242,77,215,187,86,198,239,212,158,160,46,32, -90,174,137,39,241,81,77,170,141,3,73,44,80,170,238,241,210,182,140,9,212,107,192,164,177,125,63,235,17,128,85,51,88,1,32,4,129,232,101,253,255,95,222,5,65,100,158,169,196,118,234,148,20,141,217,115,158,147,35,85,122,152,35,47,241,201,247,183,137,195, -98,114,237,237,95,140,101,102,25,174,230,2,73,218,248,146,80,243,107,79,248,241,215,32,181,22,51,70,153,89,130,167,46,5,60,218,37,175,245,217,203,245,194,92,208,112,147,82,231,25,157,208,130,229,19,118,115,54,54,4,97,82,229,59,204,234,111,172,192,79, -77,53,17,24,111,59,85,22,187,107,62,176,188,87,75,147,69,185,84,102,254,30,241,21,128,117,51,70,2,32,4,97,160,133,255,127,179,29,195,100,67,134,194,254,26,207,136,36,139,87,18,203,188,126,86,20,42,198,146,207,12,63,44,209,173,250,218,239,115,130,13,123, -60,10,79,136,115,33,35,9,26,226,131,130,156,6,157,249,165,0,127,93,73,60,79,215,108,16,236,151,42,182,135,8,108,109,166,145,138,80,44,234,75,222,16,83,189,182,164,237,184,233,32,134,246,214,45,115,187,133,106,137,114,104,236,73,245,2,223,233,62,66,34, -250,48,167,40,173,129,149,174,245,164,210,59,216,60,235,9,64,186,25,228,0,16,130,48,240,255,191,86,47,164,105,97,52,187,30,185,169,8,56,148,147,249,77,41,249,66,140,236,197,106,88,106,219,72,208,49,98,226,149,207,207,74,196,137,217,192,15,144,5,146,173, -60,19,70,74,210,201,38,224,215,150,57,249,123,178,192,49,201,4,128,102,127,6,132,215,219,249,169,11,210,228,195,184,52,237,229,250,169,206,86,39,209,97,13,147,196,194,96,79,94,10,163,162,170,20,174,45,173,116,81,179,240,81,107,42,221,91,179,64,51,209, -208,202,232,160,37,223,107,9,192,184,185,227,0,8,195,48,52,3,247,63,51,67,37,43,248,87,214,10,81,32,164,81,158,157,135,202,11,40,125,79,39,250,10,231,177,52,237,129,184,202,27,150,192,32,216,240,26,168,133,67,27,173,206,87,230,107,13,42,26,59,9,150,246, -63,160,62,141,22,11,128,133,122,186,201,104,97,69,215,66,253,147,228,37,111,226,220,166,208,18,195,179,18,90,186,94,15,74,29,94,72,6,85,59,169,162,91,20,111,72,33,100,212,125,32,130,41,171,201,222,87,54,178,135,136,213,240,108,172,183,226,62,226,130, -75,55,41,69,104,175,188,2,112,110,46,41,0,131,64,12,189,255,173,93,8,67,200,207,193,101,161,116,90,21,235,36,47,220,243,223,98,84,114,46,237,251,21,172,189,56,159,58,121,41,54,103,131,119,56,154,118,195,66,116,148,202,37,162,86,49,9,148,232,103,85,41, -254,133,152,227,64,199,164,66,161,65,152,112,29,117,4,21,82,218,252,36,247,146,225,190,141,255,176,9,210,209,192,166,48,38,218,168,178,110,233,29,74,163,177,73,166,150,49,236,159,214,61,66,186,147,214,234,243,128,80,30,110,181,9,34,127,172,221,104,39, -244,8,192,202,25,163,0,20,194,48,212,193,251,159,249,15,130,148,164,47,118,248,155,8,46,90,107,77,158,238,26,223,217,114,119,155,138,176,231,138,52,73,220,231,0,13,2,166,160,29,34,248,181,135,176,232,255,121,215,13,221,108,41,112,46,137,40,134,45,217, -4,153,138,19,46,232,140,37,72,241,95,4,128,102,99,146,32,178,55,57,79,46,55,20,91,175,116,241,131,159,118,153,158,137,96,40,91,58,237,191,248,31,129,22,217,172,197,8,21,38,212,47,175,93,92,194,240,75,177,235,47,212,254,4,96,229,204,109,0,0,97,24,72,193, -254,51,211,161,200,57,27,36,88,128,42,128,206,79,166,227,85,103,155,227,69,237,48,38,96,150,9,95,196,188,225,3,228,24,224,31,177,178,46,249,197,250,244,98,147,207,217,60,216,145,16,17,177,11,31,57,225,131,115,38,14,48,146,197,71,16,112,254,60,150,41, -94,228,198,99,124,248,102,37,6,170,72,149,46,243,135,143,190,55,146,8,46,155,185,169,66,58,88,192,212,189,219,239,16,64,12,115,80,125,206,131,43,183,79,88,2,80,114,6,57,0,132,32,12,228,176,255,127,179,7,147,13,161,157,170,31,240,100,64,166,131,95,95, -137,183,8,241,191,250,59,198,11,236,231,158,0,133,21,17,125,246,147,247,210,235,133,202,88,161,171,19,243,63,54,88,26,168,70,214,56,24,181,229,11,227,40,130,35,199,249,159,136,38,125,231,80,236,207,214,197,98,239,83,11,181,39,116,41,221,250,148,150,162, -87,147,88,109,170,111,185,128,46,110,135,97,216,26,92,74,91,109,112,48,110,151,122,59,26,212,147,246,23,106,247,232,40,52,54,82,149,212,215,202,18,128,145,51,90,1,40,6,65,104,255,255,213,99,12,134,152,90,239,187,131,46,17,75,79,93,182,63,204,171,160, -85,30,118,90,245,236,119,229,220,69,184,220,78,35,137,192,48,147,35,19,189,71,74,80,67,119,134,229,34,131,165,76,229,140,177,50,152,170,219,86,54,58,252,185,181,174,70,88,109,52,188,17,55,216,148,123,188,144,20,28,154,165,15,116,22,161,92,125,112,179, -60,255,47,235,184,212,134,199,160,228,91,3,107,214,75,78,74,60,210,116,157,125,142,93,207,251,36,191,73,115,219,130,63,10,105,250,127,242,8,64,201,21,27,1,16,131,32,139,175,220,127,224,116,158,7,136,254,0,41,82,72,8,32,95,102,26,49,67,34,43,27,230,38, -243,108,12,48,32,198,236,76,134,202,129,198,176,251,89,103,187,29,42,19,151,114,116,251,243,43,51,136,221,47,157,80,192,35,250,4,79,204,72,127,9,126,171,28,117,212,113,204,216,92,184,244,229,43,33,113,25,204,206,142,14,53,72,177,213,254,221,35,79,204, -206,226,208,91,201,40,195,95,110,25,61,174,11,246,69,117,163,209,66,74,109,109,61,3,242,8,13,119,94,198,122,2,144,114,198,56,0,131,48,12,204,208,255,127,56,75,135,72,85,107,39,23,164,238,8,146,1,176,141,241,149,153,128,52,228,74,108,245,3,23,105,214, -200,154,85,249,172,102,128,59,57,72,123,10,16,99,95,116,201,74,188,103,252,163,136,156,125,30,4,58,85,8,121,103,85,179,191,101,252,212,234,121,115,50,135,63,87,22,14,13,112,43,52,227,150,167,220,183,248,198,230,181,51,180,254,25,120,126,2,174,17,230, -237,241,64,158,137,108,58,150,121,187,96,101,93,97,139,240,61,220,109,203,98,111,101,180,88,131,111,1,24,57,119,28,128,97,16,134,50,244,254,103,238,208,165,194,126,54,91,198,72,145,9,248,195,163,11,70,168,71,10,15,67,142,241,129,189,69,150,60,203,130, -179,77,59,208,120,182,238,179,200,210,105,254,77,205,237,106,81,95,196,33,157,115,219,127,244,204,100,164,93,84,253,90,23,200,127,57,231,40,81,229,128,194,56,106,233,104,21,116,106,228,196,226,156,36,24,11,245,186,105,111,17,162,182,232,107,235,26,34, -58,244,177,43,139,164,136,251,55,134,22,231,52,218,124,122,220,43,0,37,103,140,3,80,8,194,80,135,127,255,51,59,144,252,52,45,45,184,186,25,136,32,165,239,43,84,104,64,139,5,122,169,75,80,116,245,58,62,12,225,205,40,24,154,40,191,132,78,125,105,235,3, -81,69,116,249,149,117,119,39,79,30,165,157,194,78,48,222,181,1,53,14,120,158,250,234,179,91,164,223,207,228,130,64,48,90,199,54,3,240,19,141,110,10,98,117,232,27,213,143,148,173,48,58,35,91,104,45,86,93,167,171,183,10,156,27,84,171,30,228,164,159,208, -113,104,233,85,55,109,176,0,33,77,27,223,139,58,185,2,144,114,46,39,0,128,48,12,245,224,254,27,11,130,135,34,205,179,31,116,2,21,76,107,210,100,58,186,69,171,22,122,24,131,94,206,220,145,24,212,129,25,3,24,57,128,164,128,98,152,205,38,99,38,111,247,199, -59,178,97,68,204,32,112,137,224,106,136,198,32,96,20,186,82,17,187,91,228,211,222,164,171,123,87,110,175,133,65,120,252,64,111,86,195,232,139,147,194,135,157,110,105,157,21,128,215,77,227,33,220,127,78,88,12,50,14,6,249,101,117,212,115,34,215,22,128, -180,51,216,1,0,130,97,168,131,255,255,102,78,34,107,95,51,113,23,7,134,173,237,106,218,61,32,230,64,213,87,148,246,119,130,160,191,82,229,27,131,27,34,86,30,43,195,63,100,43,22,218,209,169,160,160,190,189,193,214,17,148,155,5,80,253,73,148,214,12,178, -207,97,153,243,127,194,255,236,45,22,80,198,115,44,247,165,79,109,102,229,181,176,218,51,5,89,85,105,94,38,87,228,203,250,97,43,199,20,196,32,182,56,191,227,220,98,147,217,251,144,236,103,134,216,67,46,1,56,59,119,28,128,65,24,134,50,244,254,103,166, -82,36,84,197,246,163,192,212,137,14,81,139,63,137,121,146,213,100,11,243,21,8,234,184,75,30,97,10,75,183,56,167,185,56,128,30,91,20,225,79,235,11,250,91,86,247,37,128,192,210,228,154,26,191,98,14,237,189,43,169,198,16,25,192,76,228,238,75,6,116,118,250, -59,96,14,114,116,47,200,216,5,22,89,208,187,29,51,213,38,49,221,77,19,34,152,245,0,30,73,4,217,190,194,210,123,237,204,213,103,149,6,117,12,207,90,215,173,220,42,25,188,107,10,192,217,149,220,0,0,130,48,30,238,63,179,63,66,122,0,97,3,67,136,213,30,240, -114,61,136,243,93,201,60,240,114,111,132,196,49,39,192,114,14,73,10,1,16,165,114,56,35,159,73,142,230,141,221,104,218,17,199,26,145,12,10,91,97,164,193,171,165,104,119,54,222,141,51,212,206,108,95,243,89,224,216,226,120,140,209,28,205,140,15,7,213,101, -192,46,148,37,54,89,122,25,175,132,14,132,214,170,80,209,160,142,171,115,149,229,151,23,40,32,188,155,100,205,10,194,23,128,178,51,70,2,24,6,97,88,135,254,255,205,205,212,1,203,42,205,156,37,151,59,8,70,49,247,184,149,44,138,80,172,254,180,163,22,152, -161,205,8,194,126,204,213,33,95,225,67,93,204,207,0,52,192,169,54,94,2,13,82,61,55,122,132,194,82,194,53,127,233,204,239,67,64,51,162,89,18,172,127,51,121,30,103,67,188,164,132,158,47,219,102,121,240,106,64,141,91,245,63,240,200,2,12,77,161,61,147,81, -156,115,74,10,173,80,219,128,44,220,143,117,129,247,188,207,122,4,224,236,76,110,0,0,129,16,232,195,254,107,246,207,0,174,118,96,140,123,6,135,205,172,156,72,82,246,247,107,50,201,120,45,77,140,183,226,100,66,146,71,121,184,148,36,149,232,74,74,88,194, -130,236,114,36,17,74,228,181,177,43,147,108,221,179,76,239,252,139,66,222,74,167,230,229,229,67,140,48,1,141,137,96,100,221,184,236,82,150,89,153,196,129,131,7,182,80,192,117,179,15,160,170,77,182,232,147,139,234,67,83,242,197,179,52,205,52,198,38,86, -2,187,167,35,0,99,103,140,3,80,8,131,208,197,251,159,249,155,252,133,148,7,118,55,213,193,88,40,149,30,220,62,137,213,155,222,239,148,142,156,234,140,200,101,18,171,198,71,125,117,95,46,118,212,87,172,181,125,14,95,98,13,207,79,41,40,219,36,202,170,57, -173,219,197,237,9,191,119,82,63,131,236,31,157,100,211,82,70,229,118,98,239,206,182,168,102,247,30,251,31,132,59,42,28,21,31,236,47,208,3,171,156,174,151,86,137,0,78,136,65,238,137,255,240,134,96,153,196,69,196,26,106,147,235,217,62,153,190,220,53,159, -0,164,157,193,13,192,48,8,3,121,116,255,153,251,139,42,99,46,70,29,33,40,17,196,192,249,57,68,241,107,198,182,71,173,1,204,80,1,96,112,170,169,120,197,37,212,156,167,87,39,84,163,156,57,149,168,175,224,175,212,161,14,50,83,252,181,157,237,105,106,69, -203,79,34,243,211,29,108,43,233,115,195,223,234,85,192,125,146,239,167,173,225,97,80,133,59,208,82,54,91,169,92,174,4,120,61,87,219,225,179,63,2,176,156,180,134,145,60,243,91,205,204,203,70,245,21,128,180,243,184,1,0,132,97,32,15,246,159,153,31,66,57, -219,68,192,6,160,160,52,151,201,54,94,122,0,12,131,190,14,194,224,78,199,206,145,121,164,199,86,150,43,227,204,204,233,22,49,214,79,128,68,25,67,4,60,6,19,29,117,123,202,82,192,117,134,37,212,36,141,236,250,15,223,22,203,77,175,132,159,243,80,136,5,38, -162,11,0,105,9,63,20,104,133,42,242,121,154,40,159,203,241,220,155,166,102,78,249,142,233,100,223,43,136,5,177,2,146,16,216,0,91,94,2,112,118,198,54,0,132,48,12,164,248,253,103,166,67,145,125,182,30,58,26,132,80,8,16,18,206,159,128,193,196,72,253,51, -185,11,149,162,45,125,167,23,221,82,12,140,11,38,244,124,120,74,89,67,9,255,48,183,159,106,75,146,110,148,91,23,113,93,8,102,199,20,116,186,193,58,40,250,214,81,31,82,128,43,19,105,223,6,253,223,183,203,111,160,228,113,242,76,172,61,89,198,246,75,103, -195,124,71,232,124,36,89,156,232,165,24,228,166,35,90,38,85,74,247,18,81,110,94,88,74,129,252,108,111,1,56,59,151,20,0,64,16,136,182,232,254,103,46,8,66,230,99,67,23,104,97,152,163,166,111,74,121,89,157,167,225,141,176,198,112,229,247,38,2,187,66,235, -48,139,116,207,57,251,46,147,249,57,57,128,0,249,146,83,43,205,231,133,106,110,48,168,155,48,185,121,35,0,17,193,92,144,188,185,222,245,200,118,233,36,30,235,232,110,33,144,59,100,117,72,151,8,57,229,61,172,82,186,214,19,232,34,155,142,46,228,124,3,78, -56,212,73,77,193,176,60,249,237,5,176,212,176,167,0,32,156,44,7,248,61,93,2,144,118,70,41,0,128,48,8,221,253,79,221,79,68,204,167,13,186,64,16,140,205,116,230,118,245,41,50,15,75,151,154,105,27,46,230,232,244,155,71,81,109,15,5,133,50,38,144,172,136, -84,76,50,13,201,16,1,236,160,255,79,203,26,11,8,21,93,85,191,158,142,244,225,3,251,103,122,231,7,194,240,87,79,28,80,195,246,228,182,194,144,36,66,98,12,181,27,68,194,237,168,195,5,186,20,13,244,104,42,1,233,28,162,40,203,57,4,218,194,118,85,20,211,46, -134,43,176,173,155,44,1,24,187,147,28,0,66,16,136,162,44,250,254,103,118,71,58,177,120,232,5,52,193,32,50,212,255,34,115,234,241,218,173,143,15,202,164,208,222,143,189,177,107,230,9,165,84,104,173,78,147,27,197,65,32,32,55,98,204,137,242,76,247,132,68, -125,161,53,49,137,168,103,237,182,90,99,90,200,28,121,193,100,96,40,182,69,238,77,239,194,94,205,152,109,28,6,109,38,19,113,44,186,9,128,0,226,184,39,126,19,149,112,154,214,164,249,131,128,38,58,72,123,46,80,79,143,0,156,157,49,14,128,48,12,3,59,240, -255,55,119,64,138,34,159,99,181,101,5,49,64,68,168,115,181,63,89,190,214,125,101,232,106,91,25,235,53,88,163,216,198,43,201,28,22,84,228,147,234,252,19,35,138,153,175,244,111,49,154,200,121,162,212,50,173,153,204,222,150,203,114,188,101,141,15,163,80, -223,14,171,167,4,219,149,160,107,134,17,102,230,115,237,219,225,90,201,10,215,25,124,182,27,79,248,21,174,121,86,175,183,28,4,28,200,25,57,37,191,244,93,86,100,29,178,11,46,151,50,214,77,129,168,85,81,234,154,28,116,38,218,173,174,220,2,80,118,46,57, -0,132,48,8,221,204,253,207,236,206,152,194,131,206,21,154,168,148,159,159,21,72,130,203,117,67,20,107,18,222,174,115,170,91,4,104,116,199,122,223,106,106,28,36,64,168,226,71,46,47,165,177,210,150,174,253,13,35,170,76,190,0,173,54,222,56,64,54,234,108, -208,252,44,226,219,95,37,127,233,198,241,197,163,10,96,54,49,73,103,134,44,76,22,183,210,134,88,9,249,234,230,24,58,194,203,4,231,194,232,138,172,169,132,175,202,174,53,154,253,78,239,8,192,217,181,227,0,20,130,176,55,200,253,175,236,102,76,127,54,111, -115,53,33,64,105,41,107,102,36,166,133,84,212,159,64,253,204,158,86,198,219,16,16,238,66,51,128,159,128,36,217,179,197,173,109,241,184,56,252,130,25,123,103,97,230,202,224,221,179,241,14,182,203,235,191,121,123,103,246,216,188,27,178,173,148,0,114,239, -253,4,119,0,205,26,245,49,92,115,105,180,33,129,255,115,35,73,8,185,195,35,112,150,151,70,250,165,2,66,22,206,76,60,203,240,14,124,214,22,128,180,51,198,1,0,4,97,224,226,255,223,236,198,192,245,208,232,7,76,76,16,44,180,101,113,37,8,139,170,45,9,172, -57,31,187,29,69,126,56,222,156,50,225,214,3,143,228,31,246,255,110,252,143,163,125,154,13,78,153,233,184,68,36,102,162,99,241,180,223,83,68,248,159,40,96,142,105,155,134,60,216,123,93,34,2,179,232,164,222,214,128,113,140,132,214,20,48,214,77,180,138, -103,81,109,0,59,178,146,6,121,130,129,187,57,177,114,163,12,1,166,61,126,211,237,199,121,124,29,178,5,96,237,140,113,0,10,65,24,218,193,251,159,249,15,46,10,125,85,147,191,25,39,7,18,176,192,235,40,185,52,115,181,8,203,219,115,181,22,0,14,253,91,180, -155,97,245,197,172,163,98,89,238,201,236,37,12,47,11,88,168,217,10,70,128,94,203,124,56,170,204,9,252,162,157,3,253,203,104,141,125,246,189,170,119,175,104,60,217,117,190,90,21,91,173,215,118,118,169,60,36,139,36,219,250,177,34,162,29,185,11,49,22,168, -205,61,252,10,80,59,56,53,103,161,141,80,148,243,240,9,192,217,25,221,0,16,194,32,244,246,159,218,191,139,82,120,181,46,160,137,169,198,2,133,99,164,87,94,95,33,180,210,84,47,11,251,172,160,69,182,216,211,90,65,36,127,35,126,6,138,139,15,162,5,222,108, -82,184,180,42,22,131,145,154,171,89,206,22,146,96,168,230,1,129,31,181,238,163,149,71,98,190,100,40,80,61,176,147,230,66,210,214,192,169,181,226,181,109,54,244,215,169,158,146,173,59,119,46,150,168,230,47,97,181,147,1,72,216,94,195,63,177,51,17,159,75, -0,214,206,24,7,0,16,132,129,14,254,255,205,58,18,218,94,212,184,58,25,13,104,75,161,211,118,80,212,225,115,80,126,215,83,104,172,161,109,42,76,242,97,72,132,135,168,53,213,72,85,62,100,101,100,22,56,212,60,101,233,40,29,177,168,198,187,154,41,216,79, -242,48,144,222,30,94,192,20,64,20,125,172,65,36,174,164,129,100,125,117,108,148,130,90,14,254,179,246,222,111,45,18,212,156,43,237,167,233,8,45,111,98,71,235,3,235,52,194,76,212,170,163,1,35,163,189,178,4,160,236,220,109,0,8,97,24,74,113,251,207,124, -29,178,98,63,3,11,32,10,148,16,255,242,69,61,89,212,57,105,179,29,187,7,163,197,170,227,168,132,171,21,31,152,227,130,101,134,36,182,63,90,250,199,138,241,72,218,123,213,215,154,234,236,244,112,1,147,90,153,184,128,163,188,151,32,168,215,146,113,31,194, -217,163,217,215,123,172,96,79,212,163,185,172,164,39,81,186,28,193,207,59,151,149,28,71,254,60,226,31,109,213,245,80,5,147,210,206,161,106,218,155,58,190,47,175,33,119,46,211,28,34,93,61,237,23,128,179,107,89,1,0,4,97,30,250,255,111,238,16,136,184,71, -214,57,8,10,89,83,215,92,181,11,122,13,14,122,209,39,238,113,134,137,119,212,136,23,59,93,213,149,85,229,86,63,231,131,138,46,232,112,72,42,221,53,193,151,112,48,28,200,217,96,34,6,30,234,134,189,127,91,247,206,187,54,158,124,78,178,146,212,104,52,128, -83,172,205,168,98,140,18,132,38,161,84,253,138,109,66,4,26,243,192,134,254,255,95,79,138,24,129,213,251,36,234,170,180,20,66,242,72,141,3,115,169,37,212,117,195,45,0,103,103,112,3,0,8,194,64,30,236,63,179,223,6,174,64,220,64,141,26,168,181,151,152,160, -128,174,134,46,107,15,214,78,71,203,193,174,44,40,229,226,168,72,99,248,215,28,233,131,123,20,185,148,97,8,80,238,115,69,121,58,41,151,2,18,84,21,204,180,86,61,31,89,253,107,97,245,173,228,173,133,0,14,56,51,7,180,105,49,125,205,194,94,220,40,105,250, -195,18,17,192,248,32,162,34,57,250,118,81,23,212,41,168,119,51,154,49,60,26,219,15,59,23,183,170,14,100,128,61,166,59,8,79,0,206,206,29,7,96,24,132,161,30,42,238,127,228,14,149,170,10,127,160,89,51,101,128,16,131,252,184,170,202,109,152,253,70,100,19, -36,210,136,198,87,124,51,179,57,141,92,151,69,170,253,108,180,10,127,99,54,123,141,184,33,169,45,67,14,56,174,185,44,8,146,2,44,75,19,38,200,52,214,52,238,131,166,224,1,162,115,243,42,57,203,38,252,90,199,192,137,10,152,166,176,69,135,133,173,52,158, -178,49,46,108,115,230,96,110,19,238,13,213,251,239,128,9,19,15,30,209,8,243,28,222,2,112,118,37,55,0,128,48,168,15,247,159,217,175,41,103,156,161,138,10,2,135,222,61,134,185,113,80,45,140,21,93,102,23,189,176,164,168,142,197,247,162,226,138,46,104,69, -16,170,22,221,169,77,129,102,108,20,113,71,87,187,99,209,138,89,94,125,195,207,199,185,29,95,152,198,80,216,87,137,120,174,167,177,238,199,24,98,53,211,8,166,49,6,150,254,221,86,248,210,164,36,161,82,182,152,57,170,106,33,205,73,51,66,40,177,173,160, -249,10,64,218,153,28,1,12,2,49,204,143,244,95,115,126,25,102,45,27,146,180,192,189,96,164,107,168,53,68,25,38,108,56,196,123,165,20,93,95,14,214,82,25,75,104,247,165,171,254,20,70,36,38,154,146,135,138,7,147,54,221,165,83,80,42,10,66,37,237,208,113,165, -210,254,121,213,255,193,249,171,151,64,113,29,208,105,203,131,203,216,229,124,108,164,139,39,239,196,33,183,41,129,194,115,141,82,122,90,243,57,178,18,126,157,197,140,199,192,39,186,142,12,200,237,33,87,249,131,131,200,104,114,11,192,217,25,172,0,0,130, -48,180,67,255,255,205,157,18,217,214,76,239,18,68,32,230,244,109,103,48,6,156,14,38,74,30,95,151,135,183,101,86,102,215,65,185,71,32,245,51,214,54,60,186,223,128,77,249,133,128,235,236,105,159,229,70,10,220,49,204,124,124,161,43,29,172,90,40,212,129, -64,104,2,186,218,234,64,155,252,41,131,95,188,115,217,24,146,4,39,248,138,71,76,228,2,182,244,144,190,111,101,166,131,137,248,117,215,201,192,228,194,20,143,178,153,93,14,35,173,111,196,43,79,220,28,1,24,59,131,27,128,97,24,4,250,145,253,103,206,207, -138,194,129,189,64,251,105,104,132,241,113,116,224,236,96,128,33,111,244,189,64,139,165,81,38,177,193,70,37,60,176,220,156,241,230,12,200,220,0,243,253,118,240,66,136,117,8,8,75,121,161,35,203,79,95,213,182,214,36,159,49,162,27,50,39,1,224,177,233,50, -28,125,7,231,219,149,20,87,188,3,212,140,111,198,13,104,244,167,81,211,251,33,189,132,211,180,111,23,193,112,243,32,189,102,35,3,218,169,121,153,37,23,60,71,106,207,111,50,29,14,150,117,5,96,236,140,113,0,128,65,16,232,255,95,221,177,6,15,194,222,85, -115,21,148,239,240,115,140,23,110,137,237,110,23,0,120,40,72,219,221,51,44,181,223,64,107,65,221,117,250,133,19,29,69,16,158,98,175,94,156,130,205,4,17,13,88,219,64,218,35,64,179,93,59,209,13,217,123,209,67,247,201,76,33,122,24,34,36,118,124,151,195, -209,128,198,53,104,98,141,185,219,237,161,19,185,207,20,190,185,161,26,142,101,176,200,69,23,192,24,18,140,123,193,49,199,19,128,179,107,217,1,0,130,97,14,254,255,155,221,154,165,15,27,119,49,33,161,155,118,221,169,145,8,129,97,109,162,76,224,100,168, -243,107,141,104,172,128,225,201,116,209,234,67,170,203,10,6,220,185,89,132,101,170,86,132,140,131,236,74,90,153,218,10,214,78,218,163,242,163,176,55,135,244,79,183,70,91,2,24,126,4,172,192,25,211,20,172,174,68,223,100,64,235,86,199,129,112,214,108,7, -167,76,250,92,157,141,50,83,170,49,107,189,204,146,202,18,14,181,20,221,203,6,234,131,4,218,78,178,48,172,177,142,0,164,93,203,10,0,32,8,243,208,255,127,115,135,64,98,115,83,176,99,116,19,67,230,30,39,179,110,125,196,165,41,48,91,151,168,84,31,198,111, -21,241,176,4,135,224,163,1,8,71,149,36,239,243,125,185,50,28,66,250,204,69,85,144,108,58,136,112,47,25,21,61,16,46,247,221,110,124,208,77,136,93,88,245,81,43,173,85,78,16,49,51,23,219,196,221,182,48,42,179,218,126,32,64,9,198,91,143,208,146,44,168,140, -201,97,20,5,121,248,112,217,236,39,50,191,221,120,231,10,64,217,21,35,1,0,130,160,255,255,186,193,41,64,192,198,70,243,204,0,233,27,233,5,230,176,84,152,65,52,183,169,3,89,2,61,242,44,77,203,165,127,94,147,13,160,180,105,16,111,104,195,128,146,137,169, -12,71,43,91,18,216,228,90,30,39,231,99,45,240,250,194,18,171,55,68,90,52,144,40,145,26,15,173,249,129,223,43,235,193,168,138,252,150,79,130,35,236,230,54,107,172,49,224,89,33,175,195,237,67,122,25,73,3,52,156,122,52,22,29,63,1,56,59,119,28,0,66,16,136, -82,120,255,51,111,103,144,153,7,186,165,149,49,209,128,243,99,217,178,54,166,56,111,183,80,64,84,176,182,247,58,80,61,43,147,45,5,93,72,254,172,150,143,83,171,111,255,216,86,188,64,182,156,177,184,5,251,201,40,174,167,52,171,249,32,205,43,29,137,198, -167,123,223,207,65,26,151,151,9,34,63,82,250,85,72,102,65,1,219,184,82,28,251,77,85,108,36,170,10,244,20,166,57,64,51,155,49,227,112,137,131,4,27,55,189,146,250,68,201,42,66,36,63,129,41,123,139,79,0,230,206,29,5,0,16,134,161,29,188,255,153,29,10,82, -242,169,117,211,201,77,65,68,147,198,231,106,200,121,206,14,96,83,138,55,85,149,103,57,215,84,22,210,132,31,102,200,171,234,6,187,225,137,42,39,35,140,87,166,56,56,183,147,19,47,76,206,79,102,48,195,160,65,160,190,53,25,244,171,38,151,102,66,76,149,160, -238,48,113,61,169,162,83,232,193,23,15,236,58,51,66,6,100,151,252,103,69,190,245,0,123,184,183,229,161,248,237,64,230,205,229,223,21,80,122,21,121,58,91,0,222,206,24,11,0,16,4,161,222,255,212,13,53,248,80,126,185,180,181,57,85,10,2,7,237,175,79,75,110, -179,221,94,29,111,131,49,199,14,195,109,107,197,9,208,113,171,129,23,25,179,52,11,251,0,41,75,188,161,20,19,35,10,199,6,183,174,117,181,180,240,127,215,9,235,243,101,158,54,222,47,206,156,140,56,140,74,131,51,165,67,4,3,69,159,249,174,10,177,45,233,61, -206,21,54,186,68,236,170,112,145,15,134,211,174,156,25,185,128,232,50,221,47,1,40,59,131,27,128,65,24,6,230,209,253,103,230,129,84,161,248,108,194,2,32,74,11,53,38,231,79,177,65,120,158,95,134,91,62,84,191,142,139,140,33,109,117,187,68,93,99,148,245, -127,126,219,58,197,251,85,78,38,101,211,91,137,128,37,89,29,90,182,164,76,37,116,170,157,138,115,33,75,57,131,248,181,200,215,85,55,230,31,180,57,11,96,207,206,233,191,168,90,196,52,14,28,166,139,111,70,163,123,242,118,225,39,125,213,74,205,23,119,143, -5,87,183,70,112,58,55,54,180,21,50,159,51,56,223,187,229,37,0,101,103,112,3,0,8,194,64,30,238,63,179,190,140,161,244,64,55,208,104,98,161,92,151,234,88,184,151,154,87,235,236,253,48,75,228,8,63,101,109,60,177,144,157,161,40,49,97,239,59,124,75,238,144, -112,48,148,57,110,188,84,155,148,74,161,113,62,8,48,53,65,43,4,212,108,59,141,255,133,247,13,15,62,154,240,66,24,43,170,121,155,12,116,230,18,131,107,209,195,183,130,183,207,233,137,109,8,237,60,162,210,237,180,100,225,68,53,179,168,186,59,169,75,61, -147,179,182,0,164,157,49,14,192,32,12,3,25,248,255,135,179,116,168,20,149,96,31,65,221,216,145,136,147,152,243,76,11,218,49,141,107,24,115,149,123,201,128,192,207,142,40,25,198,176,95,216,123,136,8,87,7,118,62,20,131,6,74,98,119,115,216,206,48,214,35, -191,201,25,108,82,243,59,108,235,31,249,221,153,231,245,199,10,87,130,2,204,231,37,33,71,238,89,29,27,71,246,104,223,212,29,206,222,234,211,181,185,66,20,16,158,219,155,20,226,19,164,12,141,213,240,47,139,144,20,104,208,210,230,39,229,71,0,206,206,29, -7,0,16,132,161,12,222,255,204,14,38,134,216,87,32,174,78,26,81,62,45,101,185,242,18,142,70,127,220,148,34,34,46,113,117,241,115,78,209,29,217,75,69,90,115,95,253,57,228,220,254,16,101,9,146,232,112,188,221,32,206,22,134,18,245,151,81,128,157,58,219,123, -14,233,181,117,199,161,35,109,227,225,191,175,71,133,15,241,41,58,52,17,231,91,61,131,91,208,157,230,107,69,26,8,26,9,110,236,18,129,21,76,113,90,201,154,141,22,148,121,108,27,83,157,184,32,78,17,38,164,110,101,11,192,217,181,172,0,0,194,160,29,250,255, -111,46,8,34,230,35,233,210,125,193,134,76,167,163,152,66,72,17,69,20,39,63,227,220,104,217,173,224,253,155,244,234,22,1,243,77,251,37,89,168,222,46,146,90,238,249,147,44,69,65,171,236,244,86,194,45,221,45,48,50,65,198,43,108,182,164,51,191,25,196,68, -151,17,130,136,243,237,138,237,71,74,31,199,7,6,99,208,189,111,131,238,72,197,209,37,57,221,173,80,237,153,241,65,86,46,227,165,19,56,188,19,1,78,34,3,1,158,43,152,245,78,1,56,59,99,36,0,66,16,6,82,220,255,31,76,117,173,195,146,76,180,183,194,81,32,36, -228,235,238,80,82,58,8,97,12,253,186,204,140,235,199,149,244,122,60,152,193,229,228,228,92,165,89,214,201,148,226,16,104,29,36,130,83,233,236,147,182,170,104,214,117,230,5,111,111,31,246,178,142,61,21,155,231,94,65,241,207,228,25,213,93,231,116,148,100, -162,65,83,109,26,189,172,14,8,202,162,39,100,212,169,27,103,177,237,17,25,3,194,25,196,206,48,11,125,111,53,126,186,243,252,47,0,101,103,140,3,0,8,131,64,7,255,255,102,55,67,4,78,93,29,220,170,64,75,153,110,108,142,169,21,87,96,163,132,205,227,16,116, -20,183,249,19,119,89,70,6,24,55,142,12,89,170,5,119,250,152,64,147,208,14,3,79,76,80,131,122,115,95,103,139,27,209,201,40,168,25,8,219,251,173,216,23,2,15,39,176,103,254,171,47,232,125,242,246,180,113,152,154,210,215,134,155,98,159,143,199,150,35,141, -133,204,133,38,163,70,80,195,65,93,215,63,56,10,19,176,203,56,42,202,10,22,150,0,164,156,49,14,0,32,8,3,25,252,255,155,29,76,12,41,109,193,56,59,26,42,212,114,203,7,221,232,136,174,28,20,83,24,199,86,52,177,153,43,222,170,147,1,85,130,109,71,72,215,83, -45,207,64,69,163,160,10,103,76,121,196,144,232,174,23,6,12,95,152,228,115,204,193,44,50,135,166,42,180,200,211,182,230,255,87,128,158,100,136,114,19,38,115,4,77,173,133,198,61,154,15,157,218,177,43,39,120,18,60,87,172,46,149,52,5,52,30,28,13,125,19,15, -237,54,18,147,223,212,45,0,103,87,146,3,0,4,196,252,255,213,14,68,154,233,50,120,129,68,194,148,110,187,171,47,119,122,5,245,75,17,240,186,66,53,188,35,207,121,96,208,129,250,121,71,218,183,124,149,171,97,231,105,227,154,88,217,179,132,174,175,0,32,131, -119,69,202,34,248,181,223,114,111,89,55,154,227,34,254,4,60,79,134,191,113,157,228,149,43,183,157,0,22,81,131,203,92,185,71,37,37,118,157,187,234,228,38,200,103,32,127,9,201,176,150,16,209,19,40,243,66,142,226,100,146,152,183,173,18,89,107,77,1,40,187, -98,36,0,64,16,196,208,255,63,236,210,234,41,34,254,160,178,227,48,3,94,68,192,75,104,45,102,160,215,219,83,150,78,211,178,181,35,0,117,242,155,112,58,15,144,215,209,139,96,86,104,121,236,147,242,183,119,89,148,121,102,95,42,125,224,215,254,115,5,5,71, -67,10,25,211,230,192,193,105,95,221,42,18,118,22,40,165,132,244,169,216,212,23,78,77,138,0,148,92,235,46,244,40,21,199,229,171,21,54,43,135,124,98,61,41,152,114,141,194,182,190,0,156,157,193,13,0,32,8,3,121,184,255,204,126,129,150,195,232,2,26,131,6, -11,246,142,13,104,174,156,67,226,1,180,176,168,189,244,90,195,0,251,237,188,146,166,246,217,51,60,41,249,54,83,178,60,89,0,138,194,21,208,196,133,233,35,99,158,2,250,160,20,7,252,81,201,143,205,111,147,129,188,204,144,249,24,150,131,98,105,232,49,51, -237,172,227,187,170,235,47,24,136,149,147,19,21,172,220,210,251,108,212,219,126,181,216,231,55,123,7,170,30,164,151,242,68,49,179,123,203,241,115,5,224,236,92,110,0,0,65,24,202,193,253,103,246,74,232,107,53,184,130,49,197,210,207,113,66,148,1,209,14, -153,245,206,156,57,185,76,100,74,191,179,49,116,97,243,175,3,37,151,253,28,12,127,89,12,231,138,12,48,239,240,103,203,152,137,198,50,209,17,59,98,239,249,242,17,78,115,196,232,238,104,119,107,145,228,30,243,51,112,209,141,101,126,106,215,233,67,34,186, -241,243,207,92,163,239,209,171,211,25,71,204,167,127,150,106,235,194,162,196,26,164,163,74,87,10,252,240,59,200,223,95,1,72,59,99,28,0,64,16,6,254,255,215,198,197,16,184,22,130,155,171,209,80,40,165,220,193,158,185,86,116,232,123,223,26,140,25,194,15, -191,102,140,68,200,20,120,199,107,188,145,106,156,98,174,56,28,227,81,207,108,150,171,155,233,233,157,55,246,90,11,176,48,252,252,225,17,234,58,51,92,155,157,220,123,159,154,219,23,152,190,61,134,41,61,146,133,21,81,90,247,247,132,106,74,107,84,17,49, -133,42,108,78,69,176,81,218,92,95,3,198,243,17,128,180,115,185,1,0,132,65,232,197,253,103,246,214,152,242,192,223,0,30,140,105,85,40,48,50,76,133,58,231,86,180,213,243,182,100,91,214,135,96,30,131,243,54,196,203,19,45,113,179,153,113,152,139,8,12,159, -123,68,184,114,109,51,11,25,101,112,217,207,255,100,222,131,200,231,4,48,187,234,80,14,126,215,80,35,205,62,70,160,20,19,172,234,153,173,71,140,243,105,250,155,83,139,209,64,205,174,178,185,182,35,164,210,176,197,92,153,53,170,177,141,139,21,211,158, -85,171,166,0,172,157,81,10,192,32,12,67,253,216,253,207,236,199,96,132,188,180,42,243,0,115,104,33,52,181,125,62,113,108,168,199,152,235,225,190,59,100,141,180,162,47,196,86,135,202,242,69,61,230,220,117,37,192,180,115,140,162,218,111,91,45,230,135,167, -247,219,61,129,111,9,50,57,74,185,119,72,100,127,140,250,149,175,180,53,219,56,133,177,4,160,121,19,183,96,247,172,28,57,167,238,47,121,65,84,183,216,74,28,227,56,132,239,248,245,158,239,252,203,224,133,166,41,12,37,193,190,177,150,105,143,217,154,149, -152,2,176,118,5,57,0,128,32,168,67,255,127,115,183,102,32,168,91,63,112,171,97,161,192,46,173,251,58,10,45,238,99,37,203,10,184,168,40,198,245,230,147,43,145,143,41,9,154,131,81,113,131,35,34,59,61,168,13,136,148,131,137,240,7,166,212,233,255,37,194, -238,29,198,194,241,79,103,108,62,78,247,75,230,79,147,172,238,107,99,96,81,127,228,86,162,34,100,56,226,42,62,13,22,101,85,152,84,101,53,155,224,26,212,173,78,153,127,229,70,169,160,13,238,158,241,234,50,6,249,71,0,206,206,32,7,96,16,4,130,61,248,255, -55,247,64,66,8,204,46,182,87,15,198,104,16,36,235,206,193,34,103,54,93,48,222,176,17,82,175,37,243,223,160,249,153,77,157,70,6,140,106,185,225,217,32,206,189,133,186,201,72,129,145,188,81,155,248,29,127,8,221,149,228,134,88,94,186,39,162,177,132,135, -11,255,75,188,74,37,233,111,144,79,245,194,58,167,255,22,173,60,29,240,225,141,209,98,0,74,138,249,59,151,93,95,31,168,58,51,62,238,19,194,181,158,5,154,56,215,2,118,69,134,41,90,145,210,20,199,248,43,0,103,103,148,3,0,8,130,208,238,127,234,126,155,242, -16,59,64,91,31,97,162,12,68,92,215,88,182,189,163,192,219,194,201,229,217,152,85,46,41,147,161,6,249,116,157,68,10,178,184,22,118,227,49,230,73,19,61,83,35,118,216,186,238,229,176,255,195,240,214,8,36,231,14,221,18,183,52,122,62,135,211,124,143,225,37, -41,171,231,128,218,93,142,223,40,148,137,186,155,176,249,162,21,120,225,74,116,246,213,155,119,192,94,1,72,59,131,27,0,64,24,4,126,220,127,102,227,207,32,135,65,119,168,166,4,202,13,1,9,219,222,168,28,167,123,155,140,80,242,27,200,228,54,198,32,140,176, -92,108,118,197,111,10,95,101,73,163,141,107,66,184,24,242,8,172,145,30,32,147,150,44,210,26,248,85,4,171,149,235,159,159,11,181,197,237,154,72,90,107,78,18,28,209,31,229,208,51,24,43,217,144,162,105,145,123,48,155,254,182,239,86,252,66,90,64,168,141, -167,21,92,180,79,201,63,59,5,96,237,140,113,0,0,65,24,232,224,255,223,236,102,8,244,176,33,206,234,160,49,161,148,82,118,45,44,63,229,147,102,26,38,197,179,18,26,52,85,125,114,47,163,224,185,192,125,152,106,185,178,21,223,180,172,37,249,132,20,2,209, -29,35,41,208,243,225,206,131,15,150,190,108,243,83,131,8,191,229,248,70,98,142,73,198,39,63,134,12,206,18,154,197,6,13,95,231,154,128,67,181,232,72,228,197,108,32,85,21,231,53,246,173,126,31,231,61,117,4,224,236,220,82,0,6,129,24,184,31,189,255,153,91, -40,20,73,38,177,237,5,68,97,209,125,36,227,33,252,105,239,108,111,21,96,197,17,189,205,183,95,54,111,18,129,3,127,242,195,33,48,58,49,82,180,57,28,66,130,105,229,195,248,219,238,162,78,236,105,173,139,223,66,49,132,127,245,219,173,92,202,197,172,145, -106,168,242,67,233,84,112,240,215,233,224,117,94,4,84,118,217,207,100,148,101,17,207,99,172,74,6,46,115,101,228,68,76,118,221,186,185,240,119,149,228,58,92,87,181,99,227,166,100,58,207,246,228,20,167,0,148,157,49,14,192,32,12,3,25,250,255,55,119,96,65, -57,251,74,119,36,36,20,25,97,39,199,67,198,120,60,62,7,18,137,103,35,160,18,146,219,168,217,220,69,16,197,171,227,86,89,55,159,100,117,178,125,22,104,16,228,165,141,2,138,6,36,81,168,103,241,53,245,241,110,191,230,117,93,62,1,252,106,250,43,220,247,113, -163,143,114,70,225,16,18,81,3,221,55,127,206,253,48,255,93,254,204,41,219,120,242,104,48,141,210,28,123,195,153,2,250,17,141,17,131,145,164,210,215,219,139,95,1,56,59,115,28,0,66,24,6,54,252,255,205,116,209,10,143,71,209,82,209,208,68,57,145,237,156, -37,73,35,69,130,145,138,148,127,129,40,185,57,86,19,45,180,204,17,168,35,44,69,30,237,229,219,212,30,153,52,196,153,201,206,227,231,180,89,183,197,21,54,168,13,197,185,108,242,151,28,59,47,230,255,198,1,231,237,101,134,21,80,83,162,89,113,110,207,120, -155,70,3,221,64,248,236,56,62,52,241,226,246,176,45,231,20,224,108,227,143,44,125,233,219,91,53,22,192,220,175,0,164,157,89,14,0,33,8,67,189,255,169,157,196,68,77,151,231,199,156,192,13,17,105,41,71,183,31,20,59,156,44,237,127,215,120,222,64,161,139, -89,141,216,44,193,241,112,87,98,147,73,50,85,65,246,194,153,54,177,70,170,169,41,200,18,62,47,219,2,126,78,161,11,168,121,51,70,184,204,131,177,0,14,1,158,183,250,15,214,232,54,215,148,72,182,171,221,74,56,98,45,11,37,133,254,46,242,14,143,212,18,58, -150,21,136,109,136,196,253,120,105,213,193,62,251,187,210,88,176,16,201,187,233,70,191,211,132,94,60,151,124,143,62,5,224,236,12,82,0,8,97,24,232,97,255,255,225,94,188,45,165,201,68,244,3,130,162,213,134,56,249,70,210,94,248,113,73,72,15,27,56,115,148, -175,40,15,171,15,162,22,23,171,246,235,234,216,202,29,180,147,208,235,134,45,107,85,101,10,141,182,175,199,62,223,170,26,4,145,117,226,26,95,29,75,34,112,231,2,65,226,249,91,231,79,92,230,223,166,62,74,33,245,32,193,243,23,48,237,26,167,49,20,34,130, -205,118,90,20,97,179,116,155,81,34,131,125,150,142,198,132,174,76,245,227,244,133,202,30,243,37,84,159,45,0,101,87,114,3,0,8,131,124,184,255,204,254,26,194,149,58,3,90,161,66,123,75,4,34,13,30,63,97,172,202,128,161,123,50,10,113,234,175,116,218,139,216, -91,122,221,179,104,215,155,105,67,69,1,176,90,253,200,20,122,18,177,27,95,48,230,35,232,254,47,169,184,149,181,93,240,171,157,38,153,255,55,109,160,95,18,177,47,22,74,191,113,42,28,125,9,17,115,214,144,207,28,15,69,220,218,132,58,109,76,65,210,82,70, -83,59,51,233,47,155,239,78,128,90,20,144,138,226,209,122,2,112,118,238,88,0,130,64,12,220,194,251,159,217,206,135,201,36,40,61,221,2,251,9,67,174,181,76,197,93,142,19,245,179,10,16,137,8,23,246,139,75,169,235,249,120,89,164,17,142,156,144,21,168,74,233, -186,48,97,243,182,0,74,190,90,242,64,29,125,227,18,248,245,189,86,199,22,169,144,60,219,179,90,126,64,57,214,249,38,80,88,147,25,109,9,40,102,123,228,243,189,171,23,94,160,111,96,188,119,126,169,84,197,88,105,235,155,44,58,52,142,186,61,226,110,132,139, -78,144,207,202,91,0,210,206,32,5,96,16,136,129,30,250,255,55,247,38,75,102,76,133,158,61,40,8,186,102,99,230,9,7,203,92,214,246,255,132,103,104,213,80,68,189,55,84,77,81,100,0,219,164,197,96,199,161,104,152,199,241,223,73,6,138,205,163,16,165,74,33,37, -37,126,97,208,134,223,222,140,153,17,86,220,144,189,246,46,48,207,75,2,218,201,199,253,51,48,75,75,229,130,223,101,215,141,161,76,219,50,48,141,210,203,190,81,51,111,231,164,119,126,90,182,227,65,90,34,122,184,212,123,228,113,212,146,250,118,8,6,169, -22,17,228,11,207,25,95,1,56,59,99,20,0,64,24,6,58,248,255,55,59,8,34,77,114,69,71,69,112,211,54,189,166,179,5,200,84,51,176,154,68,194,129,216,141,52,21,180,19,92,172,70,128,128,58,91,19,53,128,34,213,219,211,210,132,133,201,177,253,142,108,234,88,38, -85,105,18,248,205,210,181,221,217,140,6,164,192,199,114,175,31,225,0,48,99,96,77,81,244,188,164,68,190,222,216,190,83,112,236,24,248,232,127,107,135,103,142,48,69,7,66,128,84,22,189,151,39,213,183,109,181,144,122,239,205,37,0,105,215,150,3,0,8,130,186, -255,169,251,233,131,201,67,182,46,208,86,203,18,17,124,6,158,92,75,116,77,14,43,127,208,168,71,100,167,80,121,40,35,138,240,54,52,45,22,188,17,7,104,157,98,31,65,163,100,161,131,113,210,58,166,66,2,206,254,199,40,243,237,188,126,182,30,253,49,2,200,51, -17,3,208,96,17,36,150,87,93,162,206,156,255,1,205,24,151,3,74,243,172,241,253,72,98,75,190,71,60,23,115,136,118,28,80,231,144,14,128,2,221,62,78,148,135,95,1,72,59,99,28,0,64,24,4,58,248,255,55,187,25,34,61,218,68,103,55,77,165,20,97,223,136,30,218,49, -116,107,105,205,106,189,40,184,154,173,196,186,196,126,5,52,171,210,128,86,198,83,150,109,250,179,113,15,38,91,134,145,51,34,221,111,53,126,35,37,194,255,154,123,120,124,230,112,231,199,223,3,246,8,238,181,156,171,186,164,148,67,245,5,209,119,33,16,85, -249,136,71,169,21,218,177,57,56,114,157,178,135,214,249,176,67,73,165,48,74,40,121,119,138,6,61,2,144,118,230,54,0,128,48,12,108,216,127,102,90,43,23,142,111,1,138,8,144,227,196,246,200,198,94,228,241,146,178,232,179,74,105,245,87,198,195,62,77,117,135, -243,212,249,20,25,70,27,31,148,192,91,228,12,133,65,40,23,119,171,87,59,223,168,105,125,236,158,159,223,97,123,41,32,252,231,167,240,105,142,236,213,48,212,124,229,164,192,10,95,209,120,100,184,72,39,37,184,96,178,59,187,87,191,57,180,226,166,229,70, -218,129,56,30,108,205,17,189,116,121,200,20,128,180,115,185,1,0,4,97,232,197,253,103,246,102,8,165,175,81,71,48,65,160,159,148,21,119,57,54,36,69,194,185,246,69,77,41,25,21,245,113,234,42,154,85,245,130,175,6,84,23,109,205,204,112,214,11,64,92,99,152, -167,107,231,87,203,84,188,181,248,51,141,129,11,128,73,18,191,113,212,107,157,48,193,89,76,14,3,115,186,25,240,20,250,186,227,123,29,125,83,111,10,37,88,131,129,140,208,67,117,45,250,205,213,164,238,191,16,24,217,160,238,22,128,178,51,198,2,24,132,65, -168,67,239,127,230,14,46,45,31,48,238,125,190,186,68,18,8,60,195,23,204,202,78,56,23,216,98,44,158,86,204,15,68,221,157,40,55,182,232,197,77,56,13,111,45,206,76,11,63,114,107,161,133,9,233,201,30,89,193,188,112,81,157,224,61,210,126,107,150,129,81,166, -101,183,137,61,243,143,237,15,51,209,116,136,29,146,165,186,237,240,215,223,226,61,1,7,49,89,103,189,96,104,53,105,38,219,99,30,139,200,213,122,95,103,100,41,111,41,101,241,187,66,242,10,32,80,159,31,255,37,161,68,110,171,134,247,105,49,143,100,96,192, -118,77,45,154,155,224,171,140,145,15,66,199,149,56,112,117,212,209,166,33,177,22,231,184,234,34,60,231,130,34,79,53,227,186,68,24,243,170,66,82,231,189,201,206,129,4,7,71,9,86,212,84,201,255,196,155,143,54,99,130,117,92,26,255,89,175,196,143,119,226, -25,247,193,51,32,7,87,137,57,166,128,220,106,192,90,195,227,185,96,18,215,164,0,158,165,171,184,246,17,18,172,164,49,189,143,124,162,20,68,4,32,0,107,231,130,2,48,8,195,80,239,127,106,25,130,148,228,165,43,108,30,192,15,22,162,77,218,60,217,126,84,68, -8,177,95,151,20,118,209,233,0,55,234,88,102,155,151,118,44,171,92,67,238,149,11,63,17,28,208,53,216,245,136,19,66,14,101,11,24,91,146,237,123,149,232,160,24,9,219,215,124,236,183,55,39,180,154,138,201,191,6,182,75,117,84,72,168,43,243,8,240,34,31,158, -146,136,120,227,85,201,91,63,17,201,42,174,105,190,46,17,91,195,216,93,228,92,164,136,17,43,80,212,84,34,53,207,195,115,156,45,0,103,87,142,3,0,8,194,24,252,255,123,25,29,76,12,161,71,208,23,104,140,220,45,93,153,25,22,37,98,8,21,241,37,204,70,37,40, -135,195,185,214,48,175,110,72,209,132,148,247,85,129,26,247,70,224,85,41,126,25,159,254,66,214,141,192,187,201,20,104,5,20,47,64,90,53,16,153,216,179,1,135,124,164,9,106,71,11,109,242,55,9,170,102,219,84,175,141,50,53,144,205,129,99,35,12,218,119,33, -117,21,23,192,223,251,196,174,167,248,69,90,135,211,69,131,38,230,157,166,96,77,198,253,83,215,19,183,0,156,157,193,13,0,32,8,3,221,127,106,63,106,8,28,5,156,193,32,210,150,243,116,126,108,68,217,103,146,214,41,45,213,169,120,30,157,127,160,49,63,15, -4,194,59,44,44,66,23,148,80,151,76,119,212,114,128,110,161,46,106,170,5,42,43,61,198,241,68,131,159,75,97,79,15,138,83,163,110,132,9,250,75,4,227,10,26,222,227,207,246,119,96,133,104,178,218,2,112,47,214,69,123,232,89,160,187,179,160,129,149,223,39,47, -11,148,142,88,94,138,76,110,36,118,97,82,96,11,192,218,25,227,0,0,130,48,144,193,255,191,89,39,99,202,81,49,113,115,38,49,34,189,210,129,75,227,240,54,250,133,231,215,233,171,168,50,21,182,97,70,68,89,215,193,23,120,127,105,124,2,111,118,122,127,233, -102,43,15,105,36,184,80,42,32,180,82,60,198,117,245,239,219,117,207,135,137,102,238,12,23,154,133,234,236,53,88,7,9,146,21,218,218,155,100,81,184,69,97,168,194,219,42,147,155,17,252,209,71,140,45,3,166,18,27,146,61,18,98,20,22,81,67,30,247,108,39,167, -0,164,157,219,13,192,32,12,3,217,127,106,62,90,85,81,238,140,130,186,0,72,188,98,3,182,95,97,143,158,190,169,38,107,208,53,127,77,53,40,69,180,243,93,153,232,253,167,102,30,183,193,165,227,141,90,9,215,13,198,55,91,166,178,41,234,57,219,173,43,39,76, -37,72,107,81,85,170,253,167,247,19,45,224,36,201,119,190,177,111,143,0,245,41,32,161,229,12,46,75,58,63,184,238,240,243,79,146,96,213,30,19,134,111,16,189,41,8,18,87,74,26,237,133,252,79,46,131,164,110,38,124,83,50,171,19,250,180,182,5,160,236,92,142, -0,8,65,24,106,255,85,239,141,201,202,75,132,6,56,200,32,34,249,252,136,61,61,37,186,151,114,188,218,213,64,136,28,126,69,191,5,107,205,64,192,68,171,198,58,71,45,176,227,1,188,154,131,76,31,174,55,39,42,37,101,189,48,212,243,90,193,120,243,122,121,85, -168,79,175,36,55,247,185,221,213,80,107,160,223,248,151,143,3,118,154,185,36,14,14,219,65,117,170,55,0,135,224,196,224,218,150,149,157,229,60,252,66,87,119,200,113,252,20,239,194,89,19,21,182,138,246,9,64,218,185,220,0,16,2,33,244,98,255,53,123,243,0, -15,38,106,3,38,198,117,130,44,159,117,110,72,18,207,97,59,154,71,229,185,68,39,245,162,141,160,177,235,76,176,74,197,77,96,40,13,26,35,73,113,203,24,180,32,223,122,170,9,73,213,189,197,62,132,60,211,15,217,118,53,154,11,53,133,216,242,25,35,140,77,155, -72,125,251,196,151,67,233,139,23,213,182,184,173,202,179,60,57,220,113,94,72,89,240,248,239,169,67,185,148,136,209,153,227,68,198,109,1,72,59,151,20,0,129,24,134,102,33,189,255,145,93,8,162,54,47,29,245,2,179,41,12,77,154,207,86,85,97,157,200,228,4,249, -177,198,112,88,98,200,44,232,160,113,134,90,1,219,20,36,8,246,29,143,142,15,100,222,139,217,236,87,101,197,136,225,42,161,166,5,58,30,255,185,141,139,3,158,63,104,7,95,153,249,236,119,223,165,245,132,55,9,147,143,183,216,92,200,187,146,165,213,215,82, -221,125,178,99,144,241,117,118,129,21,210,66,229,20,49,104,98,67,65,118,145,159,83,216,5,160,236,220,113,0,0,65,24,234,224,253,207,236,102,8,175,173,184,58,26,33,72,127,251,78,194,76,38,186,76,99,154,73,146,220,94,255,177,196,63,92,22,50,7,36,178,208, -184,9,11,47,178,162,107,129,245,49,33,138,78,162,157,194,148,36,105,8,193,162,135,157,52,8,123,190,32,192,103,55,207,152,255,112,101,205,203,148,45,56,167,107,183,98,115,46,58,65,55,233,128,3,30,82,6,35,55,86,13,78,150,234,189,42,48,119,147,69,48,173, -92,158,217,201,246,209,56,50,46,192,174,149,143,180,0,62,2,112,118,230,72,0,195,32,12,164,240,255,31,76,149,148,12,104,101,146,214,37,54,195,161,195,39,51,131,109,176,43,224,185,223,24,183,112,19,119,32,148,192,118,214,207,230,207,65,224,156,236,42,137, -146,236,105,8,1,78,59,134,152,32,217,190,114,26,164,30,123,6,205,164,220,114,243,255,163,206,203,156,249,244,1,22,9,93,67,89,107,215,73,71,214,140,90,87,166,16,96,41,202,184,178,21,38,136,208,110,170,249,115,19,178,232,223,57,57,133,80,203,41,55,154, -178,159,34,69,163,161,18,189,231,143,0,148,157,49,14,64,33,12,66,59,120,255,51,187,153,230,1,85,151,31,183,159,24,212,134,2,93,131,175,203,178,89,201,90,80,34,230,135,33,57,41,106,236,169,131,219,79,185,144,190,72,122,126,219,204,239,47,76,255,218,127, -105,196,152,13,255,172,48,49,62,181,33,108,49,127,60,152,131,184,224,125,86,210,75,27,255,151,29,156,21,248,195,24,5,244,95,20,175,54,200,4,200,70,177,109,213,168,233,17,2,137,107,157,249,184,217,19,0,146,170,7,76,185,98,242,154,182,172,192,67,161,157, -74,155,186,69,167,156,29,198,30,110,1,88,59,99,28,0,64,16,6,50,248,255,55,59,152,16,66,143,234,224,23,52,72,161,181,93,230,179,100,181,61,55,88,122,122,141,244,188,144,171,15,242,54,172,195,200,20,248,217,152,194,172,243,44,102,21,117,52,10,240,252,35, -72,190,163,13,105,122,1,147,132,27,99,197,174,112,52,230,84,159,23,116,237,235,243,75,198,198,47,237,131,65,37,42,245,197,190,167,253,89,75,203,187,229,250,165,9,98,117,92,45,155,252,136,198,88,225,123,129,166,169,73,49,86,136,161,10,55,116,233,70,55, -90,101,157,80,25,185,5,224,236,92,110,0,6,97,24,234,3,251,207,220,27,162,241,139,73,187,1,32,36,240,47,94,25,73,226,103,76,212,103,20,20,157,31,254,80,244,207,163,225,207,143,120,215,21,148,14,82,189,199,120,118,72,12,131,9,162,46,48,71,92,120,213,16, -37,106,80,91,188,183,51,33,111,59,173,126,98,197,249,228,231,159,203,16,87,108,18,52,215,174,72,42,68,30,2,183,26,84,58,252,195,59,15,127,174,167,16,94,158,88,195,10,6,221,38,101,157,211,1,59,77,212,31,167,16,147,41,92,155,187,114,31,1,40,59,131,28,0, -66,16,6,122,240,255,111,214,35,113,218,130,55,143,27,179,145,6,58,116,75,246,78,42,243,42,197,135,9,4,180,28,229,82,32,7,146,57,140,197,77,113,156,178,10,112,30,93,37,220,6,237,126,226,122,117,178,69,188,96,189,172,101,95,194,84,15,173,57,108,58,206, -91,122,147,153,252,111,92,111,251,85,50,214,133,47,84,139,253,56,117,221,206,92,36,202,33,215,227,200,90,26,148,2,31,41,238,240,160,185,131,29,80,162,116,15,78,82,205,252,203,195,41,57,120,254,30,142,0,164,157,49,14,0,32,8,3,25,248,255,155,93,28,72,75, -1,229,1,78,38,166,180,229,244,194,10,6,96,56,215,102,97,132,80,16,53,149,115,212,27,136,45,159,19,86,175,148,83,0,189,43,118,149,141,190,199,171,97,62,166,23,248,111,124,234,174,238,32,157,252,149,92,143,51,234,107,135,255,59,246,223,100,138,195,240, -44,34,122,185,163,210,70,12,224,140,20,173,144,73,241,73,189,209,41,147,122,136,87,216,240,63,82,57,6,45,6,70,69,243,169,84,34,129,92,58,2,112,118,198,72,0,128,32,12,115,240,255,111,214,209,163,105,69,103,103,42,71,67,153,195,164,244,151,16,101,60,44, -141,20,180,27,72,224,103,149,105,220,112,255,4,89,131,64,4,23,42,115,215,231,245,156,43,234,151,42,11,138,116,121,82,135,79,3,255,178,101,152,75,177,57,53,232,244,11,46,246,251,67,98,174,121,193,110,222,30,8,28,132,216,112,88,219,73,10,62,169,115,60, -233,137,16,177,58,98,69,178,95,87,93,157,5,174,93,143,182,244,186,210,167,70,131,11,5,88,2,12,0,52,103,80,26,178,200,170,15,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,7,0,0,0,7,8,6,0,0,0,196,82,87,211,0,0,0,94,73,68,65,84,120,218,85,141,73,14,0,33,8,4,253,137,226,18,19,245,234,255,127,70,75,155,232,56,135,10,132,94,112,33,4,37,222,123,205,57,107,74,105,239,196,137, +8,72,239,29,99,12,204,57,209,90,227,237,19,45,113,161,209,12,234,172,18,49,70,88,229,134,34,103,173,245,159,60,134,82,10,238,79,166,223,106,238,91,100,229,73,191,80,92,47,179,68,223,148,158,98,226,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; -const char* brushed_aluminium_png = (const char*) temp_binary_data_0; +const char* tile_background_png = (const char*) temp_binary_data_0; //================== cello.wav ================== static const unsigned char temp_binary_data_1[] = @@ -2080,281 +1875,829 @@ const char* icons_zip = (const char*) temp_binary_data_3; //================== juce_icon.png ================== static const unsigned char temp_binary_data_4[] = -{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,0,4,103,65,77,65,0,0,177,142,124,251,81,147,0,0,0,32,99,72,82,77,0,0,122,37,0,0,128,131,0,0,249,255, -0,0,128,233,0,0,117,48,0,0,234,96,0,0,58,152,0,0,23,111,146,95,197,70,0,0,76,232,73,68,65,84,120,218,98,252,255,255,63,3,35,35,35,195,16,4,140,88,216,76,72,124,70,36,113,70,52,113,108,102,192,192,127,52,246,127,52,241,255,104,226,255,112,232,27,18,0, -32,128,88,134,120,164,35,99,38,44,52,54,117,216,18,2,182,68,128,45,194,209,241,63,52,250,63,150,200,31,212,137,1,32,128,88,134,88,196,163,71,56,19,82,132,51,99,17,99,194,146,0,112,149,12,248,114,58,174,72,135,225,191,88,196,254,15,133,82,1,32,128,88, -134,80,196,51,97,137,120,102,52,140,44,198,136,150,24,144,205,64,174,46,208,19,0,122,177,254,15,45,242,97,252,191,80,252,15,137,141,44,246,15,45,177,12,202,132,0,16,64,44,67,40,226,209,35,152,5,137,70,102,51,179,50,51,177,176,48,252,103,102,97,102,102, -230,102,99,101,17,103,252,197,161,173,169,201,111,174,169,170,192,119,253,168,164,0,31,191,176,160,158,41,31,235,183,79,188,140,95,62,240,48,254,255,15,182,239,15,175,208,135,127,220,188,63,223,92,60,253,250,227,167,79,239,95,43,155,62,62,116,237,246, -253,219,183,111,127,251,202,196,246,251,211,175,223,191,254,252,251,255,239,207,127,134,191,191,255,254,251,3,141,108,100,26,93,236,47,150,18,98,80,37,4,128,0,98,28,100,141,64,92,17,207,140,22,241,172,232,180,32,7,43,187,0,59,43,7,47,39,7,71,156,185, -150,190,228,211,235,106,210,234,154,74,156,111,159,169,48,189,123,33,196,248,251,55,39,11,51,35,27,200,200,127,223,127,49,252,253,6,244,55,44,217,192,108,4,70,219,127,96,84,49,115,1,45,231,224,96,248,255,255,31,195,191,255,255,127,252,103,101,253,198, -32,169,244,225,227,127,230,187,111,63,127,121,116,237,55,219,249,109,183,159,221,122,253,237,231,183,15,191,255,253,120,255,253,215,79,160,238,223,208,136,255,141,196,254,131,165,116,64,46,85,6,60,33,0,4,208,96,73,0,232,17,207,132,37,183,195,34,28,134, -217,36,5,249,185,213,185,153,5,149,248,216,69,172,196,249,244,149,132,248,13,120,63,60,211,97,126,251,76,146,129,145,153,225,223,151,223,12,204,156,64,67,217,217,128,52,19,3,19,51,16,179,179,48,176,112,177,0,249,204,12,204,236,76,12,204,28,204,112,155, -255,124,253,195,0,202,215,127,191,253,1,226,223,12,127,127,2,249,191,255,49,252,253,245,159,225,223,215,95,12,255,129,114,140,32,245,127,255,50,48,42,170,191,124,245,139,225,210,51,86,158,75,123,174,223,63,253,232,47,235,187,43,47,223,191,7,38,134,239, -64,211,126,33,37,4,108,137,1,189,138,24,176,132,0,16,64,3,157,0,8,229,120,140,72,7,97,121,97,1,94,119,97,102,37,55,123,91,11,177,231,183,205,121,223,191,208,249,247,225,45,199,127,96,80,51,177,129,139,3,6,118,1,32,22,98,103,224,144,224,100,96,19,102, -103,96,7,98,102,54,38,6,86,46,102,6,70,78,86,164,22,5,35,82,109,15,141,131,191,255,25,254,127,255,195,240,27,152,32,254,254,252,199,240,243,253,79,134,159,175,129,248,205,15,134,159,239,126,130,249,191,223,127,7,39,22,70,86,70,6,70,110,222,175,95,228, -181,47,221,252,240,245,208,182,235,15,79,29,121,247,251,217,235,47,223,190,66,19,2,182,196,48,104,74,4,128,0,26,168,4,64,74,196,179,65,49,187,158,184,128,128,187,156,128,166,173,170,130,141,232,245,227,46,172,95,127,138,131,12,97,229,99,97,96,19,225, -100,224,16,230,96,224,146,226,98,224,81,225,99,224,18,227,96,96,224,102,129,154,206,8,142,84,48,254,7,165,225,65,141,20,222,200,225,192,204,8,193,224,178,136,9,218,12,252,199,240,255,219,95,134,111,79,191,49,124,121,240,133,225,251,139,31,12,63,94,127, -99,248,245,238,7,195,175,183,191,25,152,184,152,24,126,136,73,223,122,46,32,123,232,196,135,223,199,55,159,187,118,231,230,251,175,31,144,18,194,47,28,165,2,182,158,3,93,18,2,64,0,13,68,2,64,143,124,108,17,207,134,28,241,214,106,10,34,190,226,236,70, -58,28,255,237,196,126,125,179,96,120,250,68,132,149,155,137,129,75,154,155,129,91,153,159,129,91,142,155,129,83,156,19,152,227,129,202,217,153,33,65,247,251,47,52,104,255,163,6,37,41,94,69,209,199,8,209,203,2,36,216,160,29,136,31,127,129,165,193,47,134, -239,207,190,49,124,125,248,133,225,211,173,15,12,95,159,124,3,43,251,43,42,241,242,37,43,231,241,155,191,152,78,174,127,241,243,244,177,187,79,222,0,133,127,98,73,12,127,176,244,32,232,150,8,0,2,136,222,9,0,189,31,15,139,120,228,98,158,29,134,85,197, -132,248,147,141,148,204,76,57,25,188,249,238,95,179,96,250,245,141,131,133,135,153,129,83,146,151,65,80,79,152,129,79,155,159,129,141,159,13,18,41,160,92,13,172,175,193,17,254,143,196,136,38,21,252,135,86,29,32,31,176,50,65,216,127,255,49,124,7,150,12, -31,47,127,96,248,116,247,35,195,143,23,95,128,109,10,96,35,146,91,240,199,71,73,249,19,251,158,191,95,179,253,213,207,107,231,31,189,120,7,74,58,104,137,1,214,120,68,79,4,255,105,157,8,0,2,136,158,9,0,125,0,7,214,6,103,67,139,120,14,127,109,5,153,8,225, -127,62,82,2,188,70,172,15,238,169,114,252,255,46,36,100,32,196,192,171,38,8,204,229,28,12,172,192,186,157,77,128,21,146,43,127,254,67,212,221,140,180,114,246,127,112,241,143,232,197,129,74,3,102,212,225,3,80,34,0,37,6,160,91,126,125,252,5,172,22,126, -49,252,6,182,23,62,222,120,199,240,225,202,59,134,111,172,252,207,254,74,72,62,125,250,233,219,233,69,47,255,109,218,126,235,201,51,164,132,240,19,75,27,129,46,141,68,128,0,162,71,2,64,30,120,65,142,124,244,28,207,1,194,51,35,92,61,181,223,223,9,227, -120,241,68,253,207,135,223,108,130,186,188,12,18,78,210,12,220,10,60,144,22,59,44,204,255,64,235,114,70,28,86,162,12,237,252,39,207,217,255,128,153,243,247,39,136,126,70,86,136,24,40,162,255,253,131,200,49,177,64,251,140,160,222,37,19,68,29,72,158,5, -97,255,95,96,169,244,245,214,71,134,39,91,159,48,124,125,244,141,129,153,159,245,247,15,33,241,91,23,5,148,151,100,173,61,184,11,154,8,208,19,2,172,125,128,220,91,160,73,34,0,8,32,90,38,0,92,13,61,88,223,157,13,26,233,160,200,231,180,83,16,151,108,48, -145,41,228,125,112,215,252,255,199,15,252,172,192,6,156,168,133,40,131,168,141,56,3,155,32,59,180,104,255,143,39,8,96,173,121,96,248,253,254,2,84,251,23,90,230,0,173,99,1,245,5,217,160,74,136,12,195,63,95,33,17,43,97,203,192,32,160,206,192,192,163,0, -116,165,24,208,7,64,177,111,175,24,24,222,93,2,226,43,12,192,44,206,192,240,253,21,164,52,98,19,0,234,1,181,65,144,74,36,80,3,18,152,32,126,190,250,206,240,230,228,107,134,87,199,95,129,187,153,140,34,34,31,94,136,202,238,242,217,112,190,31,168,234,27, -90,66,64,175,22,104,214,83,0,8,32,90,37,0,92,13,61,22,164,198,29,7,20,115,89,41,203,136,215,75,253,41,19,126,255,214,250,255,239,63,204,130,58,2,12,18,14,146,12,156,242,60,144,94,26,161,136,7,141,222,252,1,70,250,95,96,216,177,242,50,48,8,233,3,109,224, -135,132,217,143,183,12,192,74,25,24,148,31,129,182,243,0,93,195,142,54,32,135,197,188,95,192,134,59,175,50,3,131,81,45,3,131,176,46,208,229,60,216,149,254,6,170,251,9,196,175,78,51,48,60,217,1,164,143,67,220,192,46,8,173,34,80,19,2,176,15,193,240,13, -216,123,120,177,255,5,195,135,203,239,24,24,185,88,126,190,16,83,216,157,114,226,89,223,139,207,223,128,14,100,248,142,163,52,160,89,3,17,32,128,104,145,0,144,35,159,25,173,200,103,67,42,238,57,65,184,222,207,222,194,237,221,149,2,246,247,111,229,88, -120,216,153,164,93,165,24,132,76,69,128,165,43,80,219,159,127,248,189,9,138,248,223,159,33,185,91,88,135,129,65,210,9,136,29,128,185,85,134,1,50,204,7,173,187,127,1,219,93,143,128,17,116,125,26,48,24,129,225,203,194,139,35,17,48,66,18,138,56,48,215,155, -180,66,114,252,203,135,12,255,79,109,5,234,191,193,240,255,229,35,160,235,57,25,24,197,229,25,24,84,140,24,24,141,93,128,9,69,8,90,98,124,131,148,10,55,231,3,19,194,81,72,73,4,178,7,61,33,48,3,19,2,208,95,111,79,190,98,120,182,235,25,195,239,95,255,255, -254,20,23,191,179,149,89,110,114,251,206,227,167,161,137,224,59,150,210,224,15,150,6,34,197,0,32,128,104,149,0,144,71,242,144,35,31,30,241,160,156,191,212,199,40,86,251,205,237,148,191,159,62,51,113,203,243,51,202,7,203,51,112,200,114,3,189,253,7,127, -38,5,73,130,114,26,51,59,36,210,149,35,129,185,94,23,26,233,160,224,3,38,138,15,175,33,197,47,168,200,22,145,130,232,121,118,144,129,225,108,53,36,135,131,19,1,90,255,16,148,152,68,76,24,24,108,103,129,139,255,255,7,87,51,252,235,74,0,22,208,191,161, -99,145,76,144,4,5,106,123,48,3,189,198,47,196,192,168,98,204,192,104,29,192,192,96,229,203,192,40,40,193,0,30,46,124,119,25,152,216,102,0,19,207,17,136,185,44,28,168,115,79,160,16,98,101,102,248,114,247,19,195,189,229,247,24,126,189,249,241,159,69,66, -232,235,5,22,145,249,169,7,238,172,252,243,239,223,87,164,106,1,91,105,64,181,68,0,16,64,212,78,0,140,104,131,58,44,232,185,158,135,149,153,71,73,86,70,184,89,133,35,93,246,249,77,127,6,22,102,6,62,101,1,6,89,127,89,6,54,73,96,186,248,242,7,127,255,235, -31,104,184,15,152,158,196,173,25,24,180,11,32,117,243,31,96,248,124,254,200,240,255,242,65,134,255,39,54,51,252,63,3,108,91,125,255,4,111,173,51,154,186,51,48,134,149,48,48,170,155,49,48,188,62,201,192,112,166,10,82,111,179,112,67,195,16,212,141,3,102, -58,46,105,6,6,199,101,144,34,255,248,38,134,191,237,209,192,196,2,204,128,220,60,136,158,6,220,41,255,33,141,193,159,223,33,209,34,36,200,192,232,155,201,192,20,152,15,116,19,176,45,192,10,244,246,155,19,192,132,48,155,129,225,61,176,173,240,23,218,104, -68,110,181,2,123,13,160,174,227,227,205,143,24,190,60,248,204,240,255,215,63,134,231,6,54,235,58,78,220,154,127,242,241,235,23,127,254,253,255,138,163,52,160,90,34,0,8,32,106,38,0,228,110,30,122,43,31,156,227,185,89,152,120,39,59,107,7,235,252,124,29, -195,252,230,165,56,151,20,15,131,148,167,44,3,159,6,47,52,231,254,67,157,164,133,7,246,63,72,206,2,181,184,165,93,129,57,62,12,216,48,211,6,230,176,39,12,255,15,0,35,236,232,6,134,127,143,129,141,177,183,239,33,234,185,128,214,50,179,32,34,234,51,48, -252,248,184,24,152,10,102,48,48,186,198,2,19,1,48,98,78,131,18,1,176,148,96,1,154,249,15,84,154,0,157,104,191,8,168,78,149,129,97,69,27,195,223,105,192,146,130,19,152,134,57,185,33,17,141,211,215,208,176,3,205,7,253,0,198,15,63,63,3,163,142,53,3,147, -123,18,3,131,177,27,48,241,0,253,246,233,14,3,195,229,94,160,189,167,160,61,10,22,68,136,177,49,131,19,215,135,203,31,24,94,238,125,202,240,229,241,23,134,255,138,202,79,231,63,248,220,56,237,250,171,11,208,146,0,185,145,72,213,68,0,16,64,212,74,0,232, -131,59,232,69,62,48,148,25,184,43,244,165,172,67,153,95,183,252,255,250,155,131,87,67,128,65,49,68,129,129,85,6,40,245,249,15,238,46,29,40,199,131,234,122,33,96,29,175,145,1,108,149,219,1,11,67,160,250,83,219,24,254,206,40,98,96,184,125,23,106,19,48, -80,217,216,17,195,182,40,67,188,160,32,252,194,192,40,42,205,192,212,182,147,129,65,17,152,120,174,77,98,96,184,49,27,52,237,7,12,214,55,64,179,83,25,24,12,128,137,226,225,53,134,191,73,218,16,115,184,120,240,71,62,70,215,243,63,164,68,248,250,23,28, -18,76,150,192,196,26,89,201,192,168,97,9,116,31,208,158,91,11,24,24,238,46,6,38,188,183,144,170,9,230,76,86,160,94,110,86,134,159,192,6,226,227,13,15,25,62,222,252,192,240,67,76,244,222,130,231,127,58,231,220,126,127,17,168,2,86,37,124,167,118,34,0,8, -32,106,36,0,244,200,103,65,234,219,115,65,49,79,166,142,148,97,20,239,183,10,206,79,31,101,133,141,69,25,228,252,229,24,152,120,128,233,228,235,31,44,185,158,17,146,235,65,93,49,54,62,6,6,133,16,6,6,157,92,112,11,254,255,131,171,12,255,119,45,100,248, -191,30,24,129,95,128,185,78,128,7,145,11,255,227,9,3,144,220,143,175,224,18,128,169,16,88,199,255,122,14,44,230,129,197,245,135,91,144,58,218,97,9,3,131,160,14,195,255,137,89,12,255,214,76,7,38,56,62,18,34,31,189,68,0,85,41,192,132,251,241,59,56,113, -50,250,103,48,48,69,0,19,151,184,44,176,90,0,150,2,103,234,129,254,126,140,84,5,65,1,176,235,251,247,211,47,134,199,235,31,49,188,187,240,154,225,135,128,200,195,121,175,24,218,230,222,122,67,179,68,0,16,64,76,84,206,249,200,117,62,172,177,199,157,102, -32,175,31,45,248,171,132,227,253,7,89,81,83,96,228,7,2,35,159,11,168,252,27,142,200,7,229,122,80,131,12,212,10,215,47,99,96,208,43,1,122,247,47,176,81,182,146,225,95,91,52,195,255,5,221,144,0,6,69,18,44,114,255,255,39,28,49,160,62,250,217,61,192,220, -15,172,2,120,20,25,24,68,205,33,137,76,200,0,88,116,3,187,125,95,129,237,8,96,117,194,0,74,152,255,201,44,85,255,67,123,30,32,187,64,238,3,54,22,255,175,156,193,240,111,66,22,48,247,3,75,116,17,96,59,196,164,5,232,55,113,200,120,5,114,177,7,108,255,48, -11,176,51,72,251,202,50,112,203,240,49,176,191,125,35,159,32,201,82,26,171,33,161,13,10,71,104,120,114,32,141,158,34,47,131,35,180,206,17,43,0,8,32,38,42,69,62,182,162,31,156,243,227,77,53,180,99,249,127,21,177,62,125,163,200,43,207,203,32,237,37,11, -158,147,103,248,241,15,211,185,160,72,2,245,231,65,117,50,168,174,183,232,99,96,144,15,98,248,127,251,28,195,191,73,192,156,217,17,7,236,102,1,51,131,16,48,44,56,184,73,207,161,172,192,18,228,221,11,134,127,39,54,65,248,18,86,64,49,160,57,98,230,224, -170,224,255,217,93,12,255,223,62,7,171,35,59,1,160,183,93,184,184,193,238,253,127,96,11,195,191,206,100,104,34,48,102,96,48,106,132,180,59,254,125,71,196,27,136,250,252,27,60,212,45,237,37,205,192,33,193,205,192,245,234,133,74,186,52,115,101,168,142, -130,58,52,17,112,65,19,2,59,210,160,26,19,3,230,58,71,162,0,64,0,81,171,4,64,238,234,193,235,124,31,107,83,133,120,254,159,185,108,143,158,171,114,73,115,2,27,124,50,12,204,160,41,218,95,127,49,157,9,170,231,65,117,49,168,88,212,202,97,96,48,111,7,246, -237,141,128,125,240,109,192,174,88,50,195,255,173,11,33,17,206,207,7,73,40,228,68,16,40,87,130,218,26,87,129,37,192,155,23,96,243,193,37,129,160,54,196,27,231,247,147,19,134,248,1,200,205,160,97,98,17,96,34,184,14,76,200,61,169,224,177,5,6,9,27,96,47, -6,232,207,223,223,33,126,71,182,19,88,50,242,104,10,128,171,73,54,97,78,6,142,39,79,85,178,100,216,10,28,117,84,101,145,18,0,108,20,149,5,169,36,32,217,225,0,1,196,68,133,220,207,130,54,180,11,78,0,110,38,250,114,197,242,28,57,60,183,239,235,115,203, -114,49,200,135,40,50,240,170,241,65,6,119,176,229,148,127,192,106,77,204,2,24,241,29,12,12,154,153,224,90,238,255,22,80,209,153,9,201,53,188,192,132,193,198,9,157,148,161,96,26,15,216,255,254,255,228,6,195,255,59,103,129,108,126,96,189,12,108,160,113, -75,64,226,234,230,105,160,29,108,212,201,253,24,211,135,140,224,246,202,255,235,103,24,254,245,167,131,27,165,12,138,126,192,94,135,50,164,212,67,142,59,144,23,191,253,101,224,213,226,103,144,3,141,141,136,115,50,240,220,187,101,88,163,35,84,32,43,42, -44,140,84,29,176,163,85,7,204,164,86,5,0,1,196,68,131,122,159,203,76,81,90,162,84,252,95,1,215,201,35,150,124,90,124,12,74,113,42,12,188,170,188,144,9,156,255,88,234,204,191,192,182,141,82,20,3,131,229,4,96,206,112,98,248,191,110,18,195,191,98,59,134, -127,51,129,245,63,176,200,6,247,195,25,25,169,51,248,197,6,76,163,31,223,51,252,63,183,27,152,251,128,237,8,5,127,160,249,178,12,255,159,221,3,230,204,7,136,238,35,173,0,15,176,36,56,179,147,225,223,212,60,96,180,9,49,48,168,197,65,198,8,192,109,57,164, -16,6,141,59,0,171,73,62,117,1,6,229,4,53,6,30,5,30,6,222,115,167,172,166,218,41,101,161,85,5,28,72,93,110,146,219,3,0,1,196,68,70,228,51,96,153,203,71,41,250,195,245,21,173,249,111,93,49,231,18,99,99,2,53,104,56,229,184,33,145,143,62,152,2,30,125,3,166, -126,25,79,6,6,221,2,96,252,242,0,115,124,58,48,226,171,25,254,223,187,0,105,232,177,178,81,55,2,64,221,59,80,14,187,117,1,146,184,4,52,129,98,64,167,63,190,14,204,117,159,161,179,122,180,156,27,101,4,15,39,255,63,178,142,225,255,93,96,123,70,198,17,88, -186,41,1,195,225,27,106,156,193,18,193,239,127,12,28,146,28,192,134,179,2,3,27,47,11,147,216,221,171,14,93,145,30,78,72,137,0,185,42,64,174,14,136,170,203,0,2,136,28,223,162,55,250,144,199,246,185,188,172,76,21,204,239,159,77,100,227,102,100,150,245, -149,103,224,81,6,22,251,223,255,224,142,124,73,123,6,6,227,102,96,11,252,39,176,145,23,197,240,127,195,60,160,201,192,220,192,206,77,187,220,8,52,246,255,171,187,12,255,223,63,131,204,35,128,192,155,39,216,171,39,90,0,80,91,228,231,119,134,255,59,230, -3,179,14,176,250,17,49,130,140,68,226,234,85,252,252,199,192,37,203,205,160,16,170,200,192,242,251,59,143,197,211,107,209,97,86,134,106,72,221,108,14,164,70,33,242,158,8,130,0,32,128,152,200,44,250,153,176,21,253,98,124,220,2,197,114,172,153,156,223, -191,139,138,217,75,51,240,25,3,139,184,159,127,177,148,220,208,161,87,94,96,3,204,162,23,40,207,202,240,111,235,76,96,255,126,19,120,64,4,60,206,78,43,0,10,80,80,43,31,212,218,7,69,58,76,248,221,43,160,175,232,184,30,19,88,18,253,191,115,30,18,22,66, -26,144,73,163,255,127,113,171,255,251,143,129,87,155,31,216,76,18,99,100,123,242,88,41,89,134,61,142,151,155,139,15,169,187,13,107,15,160,55,10,241,150,2,0,1,196,68,102,228,163,207,236,113,177,48,51,243,116,5,58,4,241,157,60,102,193,33,207,203,40,98, -42,2,212,192,136,88,128,137,234,27,200,92,187,73,51,164,213,15,236,126,49,44,1,246,141,121,25,105,95,7,131,0,40,129,129,18,230,147,187,144,117,3,32,240,241,53,3,93,1,40,52,127,253,128,132,15,151,4,98,65,9,158,118,36,19,80,147,144,129,48,176,42,96,98, -20,186,114,194,106,98,176,99,32,40,220,209,18,1,73,237,1,128,0,34,181,4,64,111,248,193,139,254,0,59,11,37,157,115,219,163,153,120,153,24,248,128,173,125,86,208,170,220,31,88,186,123,224,249,246,79,192,126,190,27,176,27,102,8,238,18,253,155,152,205,240, -255,203,55,72,177,255,159,14,185,144,17,210,14,248,255,236,54,176,222,255,4,17,3,45,222,101,26,136,229,241,36,12,224,1,171,81,78,96,85,32,110,37,14,26,62,96,81,191,127,214,59,211,197,194,0,71,215,144,133,152,174,33,64,0,49,145,144,251,209,39,122,224, -197,191,154,8,191,72,182,208,143,44,96,93,197,206,163,192,207,32,233,40,1,46,178,48,235,125,88,31,7,104,132,124,0,88,254,255,206,133,192,6,31,176,95,204,207,75,97,23,143,196,134,24,200,105,207,239,67,26,126,224,137,168,111,84,24,22,33,177,42,98,97,3, -175,15,96,248,241,158,129,168,149,172,160,82,128,133,137,65,196,90,156,65,64,155,143,129,237,241,11,105,95,97,230,32,3,21,69,113,180,4,64,116,85,0,16,64,164,84,1,204,216,38,122,128,69,16,119,151,155,65,28,223,229,179,250,160,212,169,16,34,199,192,204, -203,6,153,217,195,150,251,255,0,139,61,110,73,96,195,7,152,251,127,255,100,248,191,103,33,176,107,52,0,57,15,228,11,80,183,239,235,71,72,216,254,252,70,95,251,65,153,3,52,41,5,138,213,119,87,17,3,70,132,0,176,161,202,38,194,206,32,27,32,207,192,165,192, -201,32,112,248,144,85,165,149,90,144,152,160,0,63,218,80,49,11,218,80,49,86,0,16,64,164,148,0,232,131,62,224,220,159,19,224,174,39,127,227,184,15,104,173,188,184,173,4,3,155,60,47,142,49,126,100,91,217,33,141,30,96,253,251,31,148,3,153,153,232,187,31, -6,60,3,199,12,108,248,61,99,248,15,77,0,144,109,62,244,205,253,204,142,209,192,146,18,152,251,223,156,5,109,105,37,126,252,6,216,53,4,101,54,81,43,9,6,70,14,38,6,197,155,103,189,99,109,141,244,208,122,4,200,137,128,17,87,41,0,16,64,76,36,68,62,214,201, -30,255,191,79,34,255,126,251,197,196,173,192,203,32,108,44,194,192,240,233,55,129,6,24,208,163,223,159,67,134,125,217,57,24,24,117,108,25,24,190,252,165,115,253,251,31,226,142,47,192,158,200,231,119,116,46,122,128,254,252,1,180,87,203,156,129,65,31,232, -247,23,39,129,97,118,31,178,94,145,216,92,0,222,229,196,192,32,160,43,192,32,160,195,203,240,255,201,27,94,125,33,46,61,30,78,14,30,2,19,70,24,0,32,128,136,45,1,176,77,246,112,24,171,43,139,241,188,125,166,204,200,202,196,32,105,43,14,217,149,243,231, -31,158,132,12,93,12,1,26,250,124,186,27,220,31,102,242,207,2,58,25,180,210,246,59,237,7,97,176,181,3,96,9,128,46,123,35,160,51,157,160,0,13,175,4,218,255,139,129,225,209,22,232,10,102,180,81,92,240,34,152,127,72,237,34,52,247,253,254,203,192,42,204,193, -32,100,40,10,238,72,73,125,124,165,163,40,42,40,132,214,22,96,37,84,10,0,4,16,19,137,185,31,185,241,199,30,166,167,100,252,239,253,55,14,62,37,94,6,62,45,65,96,202,38,166,24,101,132,204,130,221,93,2,233,13,232,59,48,48,197,149,51,48,254,252,13,89,218, -69,175,68,192,8,169,118,254,127,122,139,40,153,104,93,13,129,74,185,143,63,24,24,93,163,25,24,141,157,33,43,146,222,92,0,134,40,15,116,129,43,48,60,126,0,197,126,190,133,132,13,12,131,196,126,127,66,77,8,255,33,37,1,191,150,0,3,175,26,55,3,239,173,43, -234,246,122,90,202,204,76,76,176,238,32,59,49,165,0,64,0,17,234,116,51,225,73,0,28,134,127,63,88,49,254,250,198,46,102,165,6,217,12,241,243,31,145,197,47,104,237,31,176,229,127,109,10,120,21,14,99,80,17,195,255,71,215,25,24,214,172,97,96,144,252,7,25, -175,167,117,119,16,148,227,65,206,125,15,237,255,179,178,50,208,52,5,128,34,255,21,48,18,213,53,24,152,146,219,33,98,247,128,254,253,120,11,50,37,205,12,244,51,143,60,3,3,159,34,176,108,87,131,172,108,6,137,129,102,11,223,94,130,44,61,255,8,236,182,178, -242,64,212,131,74,6,96,120,51,11,176,50,8,26,139,51,124,186,126,143,221,85,128,201,126,13,47,247,141,23,31,63,131,134,21,97,139,73,127,65,227,238,47,82,87,3,238,81,128,0,98,33,179,235,199,94,224,96,100,200,117,247,186,170,160,38,63,35,143,154,0,100,138, -151,164,58,24,216,94,121,176,22,104,146,48,3,131,102,58,3,83,106,63,195,191,95,255,192,99,228,12,223,127,67,102,255,192,203,187,254,211,56,1,188,132,112,217,56,104,151,230,64,161,248,246,51,3,163,130,60,3,83,201,108,96,15,72,154,129,225,254,74,6,134, -27,51,24,24,196,45,32,11,82,64,115,2,194,192,118,28,139,48,34,151,255,254,5,153,11,81,8,7,150,2,207,128,122,128,97,115,103,57,48,172,161,123,28,64,30,248,245,159,65,80,87,144,225,157,6,47,131,212,181,99,22,14,202,178,59,87,95,184,249,249,239,191,255, -63,144,74,128,95,208,76,12,219,95,0,79,4,0,1,196,66,194,192,15,188,1,200,198,194,194,225,206,253,219,155,227,245,87,126,9,71,53,240,34,93,134,63,68,134,4,124,217,2,51,36,21,223,154,11,12,156,51,192,146,160,154,129,169,28,200,246,207,96,248,55,191,134, -225,255,133,83,192,68,192,6,89,231,71,171,152,1,25,11,234,133,128,204,231,228,165,93,66,123,255,153,129,201,220,145,129,49,119,18,48,50,117,24,24,110,47,2,118,65,143,50,48,88,79,3,38,6,125,200,172,32,168,186,63,189,141,225,255,197,3,12,255,239,93,130, -12,80,253,249,5,89,213,44,163,194,192,24,215,196,192,168,153,3,89,12,123,44,23,50,131,10,42,73,129,109,1,102,126,54,6,126,13,65,134,207,183,31,177,199,232,242,249,109,190,202,122,231,235,207,95,223,144,18,0,8,255,70,138,83,120,110,5,8,32,66,37,0,122, -235,31,156,0,210,92,44,117,120,159,93,148,103,23,98,103,228,16,225,196,49,220,139,110,220,63,200,248,63,168,72,67,94,244,15,170,139,65,235,245,255,252,134,204,11,152,184,50,48,169,25,49,252,91,63,137,225,255,242,14,96,105,240,5,180,152,156,54,137,128, -17,218,253,3,37,68,80,3,154,218,3,81,160,18,236,3,48,34,197,196,16,145,15,170,250,64,107,0,20,67,32,43,146,95,62,98,248,183,174,153,225,255,201,173,64,246,83,232,178,119,38,104,12,48,66,6,203,110,159,5,102,136,131,192,210,99,46,120,137,59,131,70,26,3, -195,213,137,144,238,244,127,200,126,69,14,73,46,6,22,62,86,6,201,251,231,77,204,149,229,36,246,93,187,251,5,41,1,192,50,240,31,244,18,0,32,128,88,112,4,11,3,190,198,159,141,36,191,9,235,221,79,34,156,138,2,12,140,160,37,216,132,178,25,120,166,11,104, -156,32,176,136,19,183,66,172,136,5,1,208,214,173,247,87,33,107,231,119,251,3,27,133,229,12,12,114,190,12,76,241,141,12,12,230,62,12,127,123,147,129,69,223,101,96,34,224,162,254,72,29,248,92,160,223,144,86,56,55,63,245,115,254,87,96,233,194,199,11,137, -124,57,45,136,56,168,158,7,225,47,31,24,254,111,155,198,240,111,69,39,176,4,4,118,137,185,129,65,203,2,91,79,139,214,10,99,97,5,207,85,252,235,140,103,96,234,63,204,192,168,18,202,192,240,28,152,105,62,0,195,140,85,0,60,175,193,43,207,205,192,33,198, -197,240,229,198,71,150,24,123,93,43,96,2,120,132,150,0,144,27,130,240,68,0,16,64,44,68,54,254,224,137,192,92,77,81,92,252,237,35,45,160,17,140,188,202,188,12,76,44,140,56,134,124,25,32,107,249,255,254,133,212,115,160,84,43,98,138,40,122,209,123,11,63, -94,0,219,4,27,128,13,163,85,192,196,112,141,129,65,53,6,168,199,148,129,185,109,43,195,191,153,165,12,255,143,109,130,116,155,152,89,169,215,101,3,25,243,251,39,56,1,48,114,243,1,11,0,42,153,11,42,173,64,43,126,128,117,61,168,206,103,52,245,132,14,54, -1,195,226,243,123,134,255,91,103,51,252,223,56,153,225,255,243,231,144,136,23,224,197,29,134,240,178,154,21,162,119,239,98,6,198,132,38,96,130,242,130,236,64,2,149,90,191,25,25,152,4,217,24,64,241,241,245,193,71,6,181,23,87,44,129,189,129,245,127,255, -253,99,67,27,16,98,70,175,6,0,2,136,133,196,238,31,155,139,188,176,26,231,187,103,226,108,124,76,12,188,74,124,184,227,2,84,148,129,182,110,105,166,0,91,190,41,144,72,127,253,12,188,123,7,60,11,6,213,200,40,171,193,192,32,42,203,192,192,197,11,89,247, -15,194,31,128,9,224,205,121,96,238,249,0,148,211,100,96,170,89,193,240,255,248,102,134,127,139,129,165,194,93,96,105,193,244,15,50,107,72,105,151,17,60,35,247,29,82,10,128,118,243,80,101,136,23,24,174,63,127,130,19,47,83,222,84,6,70,117,104,162,255,244, -14,188,213,236,255,178,86,96,143,231,49,208,62,102,72,196,255,255,79,56,242,97,37,10,200,187,183,207,65,134,141,65,37,41,168,167,240,29,212,136,229,6,87,5,252,106,124,12,111,78,177,50,112,191,122,32,239,103,97,40,191,254,216,217,207,72,25,24,219,220, -192,127,128,0,98,33,162,248,71,169,255,85,24,191,169,49,191,124,38,192,163,35,192,192,34,196,129,189,231,4,174,199,128,218,180,243,24,24,148,163,128,69,225,39,200,10,152,85,221,12,255,239,92,195,28,147,23,145,1,7,20,163,29,176,94,4,209,66,114,208,34, -243,39,180,177,195,205,192,104,9,172,22,244,29,128,102,244,0,115,193,18,200,56,62,104,80,9,84,108,50,145,153,16,64,157,12,240,148,44,48,210,120,5,33,103,2,81,2,64,165,9,104,18,220,10,232,214,252,233,192,86,189,36,36,65,60,187,195,240,111,74,62,48,12, -118,66,134,104,132,121,17,37,5,73,9,150,153,225,255,67,96,248,129,150,175,73,201,65,26,132,224,253,5,60,224,106,0,180,104,132,93,148,139,225,27,176,20,112,226,251,98,176,30,216,196,102,192,92,51,200,140,212,100,103,4,8,32,22,28,197,63,250,228,15,184, -4,48,82,144,22,145,102,103,81,5,69,58,191,26,63,3,11,39,51,150,4,240,31,146,90,229,188,33,145,255,234,33,195,191,37,45,12,255,55,204,129,152,204,195,133,212,6,129,110,237,126,243,132,225,255,19,32,222,11,116,178,148,4,3,163,161,51,3,163,145,11,3,131, -172,38,3,35,104,99,167,24,100,123,54,35,176,148,96,76,0,150,2,206,209,12,255,87,180,49,252,63,123,136,225,255,135,39,144,163,97,64,99,7,132,230,212,177,249,20,20,105,160,165,103,124,34,144,46,215,255,255,36,86,49,140,144,72,6,38,36,70,113,96,164,184, -37,48,48,197,214,1,205,4,134,241,189,139,12,255,175,28,5,54,242,250,129,237,152,59,192,64,227,130,172,69,32,183,65,11,238,81,188,6,250,123,39,176,103,144,13,76,72,192,238,227,243,253,208,237,241,76,192,58,153,149,129,15,88,42,127,189,251,145,65,135,143, -213,152,155,131,125,211,215,31,63,145,207,84,68,223,71,240,31,32,128,88,136,40,254,225,85,128,179,146,132,42,255,139,59,138,108,2,204,12,220,138,192,226,31,52,184,129,190,140,10,20,24,92,192,148,175,145,14,172,179,62,49,252,155,86,200,240,127,39,48,98, -5,216,17,1,140,82,216,176,64,138,127,46,168,222,119,47,24,254,111,89,10,212,179,20,210,128,82,3,150,8,206,81,12,140,186,54,192,190,178,58,68,139,172,26,3,99,233,2,6,198,43,71,24,254,29,90,203,192,112,96,37,195,255,215,192,250,148,157,21,218,109,36,33, -1,252,252,1,73,0,160,220,10,90,117,252,227,43,241,9,0,164,14,84,130,252,250,205,192,168,109,193,192,148,210,14,30,217,252,255,244,54,195,255,77,192,18,224,240,122,32,251,1,36,36,249,120,200,203,245,232,246,253,249,9,172,70,129,13,65,127,96,2,16,2,150, -0,28,194,64,63,188,135,108,113,3,205,15,104,241,51,188,58,254,130,129,255,249,61,21,47,93,21,249,213,167,175,126,68,43,1,144,19,0,3,64,0,177,96,41,254,209,143,101,133,215,255,138,130,60,50,140,15,63,114,115,104,241,49,176,242,179,226,110,245,131,234, -38,78,73,134,255,123,128,17,121,8,216,120,227,101,65,139,124,44,141,38,88,151,16,156,24,254,67,138,229,239,95,25,254,159,218,199,240,255,252,62,112,66,96,176,13,0,86,5,126,12,140,138,58,16,245,58,54,12,76,64,204,0,236,26,253,219,60,11,220,143,102,248, -12,108,124,113,115,19,31,137,160,21,185,32,187,248,69,33,165,200,143,47,68,54,30,64,155,78,129,85,44,27,43,3,163,95,26,3,83,120,25,3,131,164,50,195,255,125,75,25,254,45,3,118,103,175,159,135,132,26,15,133,185,30,219,252,5,168,250,251,12,140,87,30,96, -162,101,23,133,12,41,131,98,10,88,13,112,74,114,2,227,134,131,225,219,243,111,76,118,202,188,90,171,129,46,65,235,9,160,180,3,0,2,136,5,199,224,15,70,9,32,201,207,195,35,254,251,179,44,72,148,83,156,11,114,94,15,186,167,64,45,82,144,35,37,44,25,254,127, -5,70,222,161,213,144,17,66,30,94,226,3,0,166,142,9,186,51,23,52,178,253,231,23,195,255,235,167,129,13,160,211,12,255,15,172,6,38,2,111,6,38,79,96,247,80,66,17,162,214,212,131,129,73,221,140,225,223,169,173,12,255,215,79,102,96,184,2,84,203,205,1,105, -57,227,179,23,150,131,127,3,115,48,104,32,8,188,39,128,136,57,4,80,162,121,15,212,167,164,194,192,20,85,206,192,232,145,8,113,239,182,57,12,255,38,20,3,35,2,216,247,23,228,66,28,23,67,205,49,12,80,12,125,120,7,44,250,129,237,0,85,77,96,248,0,19,192,7, -88,98,254,7,90,161,193,192,37,193,193,240,253,217,23,6,5,166,223,170,12,168,39,176,161,119,7,255,1,4,16,19,17,9,0,172,81,145,151,93,128,251,251,103,17,208,6,88,78,113,14,6,38,86,28,221,63,208,193,11,82,142,224,134,202,255,139,251,32,91,172,201,245,63, -44,240,64,93,63,62,94,72,17,125,247,2,195,255,229,237,224,131,27,254,239,95,129,24,188,225,19,98,96,114,137,101,96,42,95,200,192,96,231,15,108,28,253,128,12,34,225,42,9,64,110,2,173,67,0,45,4,1,13,78,1,213,49,242,8,225,95,152,9,106,108,254,254,1,222, -110,206,232,236,199,192,84,189,136,129,209,43,5,98,220,202,46,134,127,179,171,128,242,192,42,132,159,7,58,217,68,139,193,43,38,200,1,24,111,159,130,206,173,5,86,1,34,136,182,15,216,79,140,192,26,152,11,172,146,247,253,51,105,17,94,110,46,124,37,0,64, -0,49,17,104,3,192,27,130,202,210,18,66,252,255,126,137,177,112,49,130,143,96,69,108,195,70,11,85,208,106,31,78,57,134,255,55,142,131,135,64,25,216,217,169,51,201,242,31,122,42,7,104,203,54,11,59,176,113,5,172,255,39,100,51,252,171,242,2,150,52,171,16, -30,144,211,100,96,46,156,14,108,35,76,3,70,168,32,120,12,30,94,50,161,187,21,148,67,127,124,99,248,255,27,186,36,91,80,28,82,29,160,15,82,128,187,96,64,255,126,1,230,236,119,191,24,24,195,115,25,152,10,128,118,104,90,130,39,177,254,213,249,51,252,155, -95,207,240,255,27,232,108,33,78,218,206,42,2,221,2,114,239,255,247,47,32,124,80,27,128,1,169,148,1,102,74,208,241,184,160,41,122,30,198,191,66,190,6,234,138,104,221,64,148,68,0,16,64,76,120,34,31,165,26,16,99,103,22,100,126,245,84,136,13,216,152,3,47, -249,194,230,75,80,35,14,52,204,249,235,63,100,7,238,95,104,81,78,109,0,74,8,236,192,128,254,5,172,102,206,238,97,248,215,155,197,240,175,198,15,216,86,128,238,237,19,146,100,96,242,2,214,203,29,192,214,178,3,176,55,242,17,152,203,63,126,198,156,87,7, -23,231,255,33,231,13,128,19,128,24,226,116,49,228,200,7,53,20,95,126,2,87,73,76,37,61,192,198,94,39,176,209,40,197,240,111,59,176,200,175,3,218,123,106,59,244,148,48,118,218,79,41,131,236,1,245,92,160,147,88,224,147,201,96,231,33,49,66,214,9,112,138, -178,3,75,104,96,24,125,249,202,174,202,250,71,6,109,44,0,229,70,21,128,0,98,194,51,11,136,114,76,187,156,162,146,48,195,151,63,204,108,252,236,192,82,158,5,187,71,65,186,64,39,116,129,14,188,122,117,159,198,107,44,25,33,117,60,168,225,246,7,152,35,78, -111,7,70,70,0,195,191,246,24,134,255,87,143,65,18,158,186,9,3,83,229,18,6,166,166,165,192,86,186,17,164,129,8,106,241,35,15,32,129,252,1,93,15,200,40,38,135,178,67,11,50,114,247,25,28,177,76,1,177,12,204,125,7,24,24,67,139,193,185,239,111,107,20,195, -255,201,133,64,127,62,129,84,77,44,204,12,116,1,32,183,255,249,3,236,254,66,167,177,65,39,146,177,176,35,170,194,191,160,179,147,217,24,216,128,248,223,247,63,140,82,82,82,98,88,114,63,124,68,16,32,128,88,176,68,60,122,59,0,140,69,63,189,144,2,205,250, -177,9,115,0,237,99,198,82,255,255,135,28,209,6,58,86,237,219,23,72,17,197,74,143,0,97,68,228,190,127,127,192,103,8,252,63,190,137,129,81,82,137,129,49,2,216,64,115,140,4,98,96,55,210,200,21,60,185,244,111,105,31,48,39,3,19,1,7,23,162,85,253,17,186,40, -68,92,17,50,24,244,31,218,11,1,230,52,70,183,104,200,188,4,232,100,48,80,154,88,217,201,240,127,13,208,12,208,66,18,208,6,19,198,129,184,115,3,148,48,223,64,19,128,0,100,82,8,180,152,6,86,85,178,49,49,112,136,2,123,2,47,190,51,242,126,120,46,140,165, -10,128,119,5,1,2,136,9,71,238,199,72,4,44,207,238,243,50,130,142,91,231,102,129,52,0,177,109,242,4,173,77,226,146,129,172,252,5,77,103,50,209,51,80,160,245,52,43,7,120,168,244,255,195,43,12,255,154,163,24,254,21,219,131,187,145,160,227,220,24,211,186, -25,152,234,23,3,59,203,226,144,177,122,6,232,154,128,79,208,220,36,42,13,73,72,160,99,94,128,13,79,166,172,126,112,9,2,238,109,92,58,196,240,175,192,150,225,255,204,10,96,209,250,17,146,235,25,153,24,6,4,128,194,30,180,174,16,188,194,158,11,122,138,41, -210,9,232,76,140,224,19,212,255,51,252,99,100,124,243,148,19,91,227,15,86,23,2,4,16,190,70,32,74,2,224,226,229,231,248,247,253,31,3,51,55,51,142,85,188,255,32,39,114,130,122,1,63,126,128,251,240,144,110,208,0,4,16,40,103,179,114,130,119,21,255,191,0, -140,184,18,103,134,127,147,114,192,227,254,140,46,49,12,76,93,187,24,24,244,108,129,17,253,11,82,228,127,131,158,44,42,36,5,9,65,69,29,96,181,177,158,129,49,48,143,129,225,205,83,134,255,179,202,24,254,150,186,48,252,191,124,2,178,83,153,133,149,97,192, -0,172,49,11,170,182,64,109,19,80,152,51,49,99,38,0,110,54,96,135,134,9,40,205,203,138,165,68,135,183,3,0,2,136,9,207,80,48,74,66,224,22,145,226,130,196,49,43,246,173,218,224,57,117,97,232,152,248,87,136,3,153,153,24,6,28,128,78,233,98,231,96,248,191, -126,6,195,223,134,96,6,134,59,231,25,24,21,180,25,152,65,13,196,16,208,185,67,60,144,105,91,96,189,202,200,47,2,20,43,98,96,154,116,130,129,209,208,9,216,144,61,206,240,183,196,133,225,223,194,94,200,146,49,126,62,134,65,3,126,65,187,175,160,243,141, -64,243,46,104,93,78,22,80,70,101,98,96,228,22,22,97,71,107,216,35,199,45,3,64,0,177,96,201,253,200,227,1,240,226,130,237,251,39,46,208,104,35,19,43,19,142,235,22,255,66,150,119,129,152,160,34,244,23,168,158,165,82,23,144,226,238,35,208,155,188,192,162, -242,232,78,134,127,119,129,9,32,169,13,216,46,136,96,96,202,232,99,248,15,154,107,224,21,134,168,19,16,101,96,2,202,129,86,10,255,63,190,1,88,220,151,51,48,60,124,4,172,26,120,32,11,47,254,253,27,60,9,0,116,182,1,108,201,24,19,43,70,21,193,12,108,167, -49,49,255,103,96,250,254,133,141,1,251,245,121,224,120,6,8,32,124,211,193,200,235,2,24,25,255,254,102,6,149,52,76,176,226,31,219,24,0,27,116,81,197,151,15,208,69,63,131,232,70,82,80,125,45,200,203,240,255,245,43,134,255,45,41,12,140,87,79,50,48,69,150, -2,115,124,9,102,97,6,154,91,232,201,98,248,15,26,30,16,102,67,172,95,24,44,23,190,129,47,196,248,5,193,160,200,103,100,197,72,244,140,108,140,144,136,252,251,135,153,1,247,29,138,12,0,1,196,132,99,58,24,227,230,205,255,127,129,21,10,172,32,193,58,6,240, -31,114,228,10,116,238,27,178,254,116,176,36,0,104,236,129,119,33,129,186,123,192,198,222,157,75,208,237,217,12,24,171,229,25,117,108,24,24,147,27,25,24,157,220,128,165,26,48,247,127,250,2,105,116,49,12,162,68,13,26,11,97,134,174,243,68,31,189,4,141,113, -1,27,196,140,144,163,237,113,93,158,9,246,12,64,0,225,91,18,134,154,32,160,119,235,225,14,224,127,144,37,203,160,65,41,216,118,43,70,166,129,143,120,240,162,15,96,23,233,59,48,183,72,72,49,48,218,4,50,48,89,251,51,48,40,233,3,139,124,96,23,249,217,109, -96,143,225,6,176,155,232,12,140,108,46,134,255,123,151,129,207,243,99,140,171,99,96,4,246,100,254,159,220,198,240,127,223,114,134,255,103,119,51,48,124,0,77,52,209,120,161,42,177,13,65,94,1,72,213,245,243,14,228,160,106,92,9,19,18,111,140,56,170,121, -6,128,0,194,53,14,128,145,8,254,51,49,130,189,140,219,223,255,33,235,216,255,65,91,168,255,6,56,179,192,70,204,62,3,35,158,19,152,16,157,67,25,152,130,242,192,199,184,66,182,103,125,101,248,191,125,54,195,255,117,179,193,61,100,70,77,115,96,196,2,219, -185,243,170,192,71,190,50,154,58,49,48,133,150,128,219,10,140,230,94,224,4,240,15,52,247,112,100,61,176,68,248,12,89,182,206,200,68,255,132,0,179,15,20,249,160,54,214,167,15,144,99,245,208,23,197,252,255,7,235,17,252,199,87,116,1,4,16,161,101,225,112, -204,200,204,242,23,126,9,19,3,150,113,117,112,63,28,58,229,11,154,48,25,168,226,146,17,186,64,227,195,55,200,250,74,123,111,6,70,231,104,112,171,158,17,60,214,255,135,225,255,142,121,144,92,125,251,12,3,195,139,47,12,140,38,166,144,101,234,160,69,28, -160,217,193,119,47,193,83,217,255,110,3,27,140,174,113,12,140,158,201,12,140,182,193,12,76,6,142,12,255,237,67,25,254,47,107,103,96,184,124,1,88,26,48,65,102,44,25,24,232,151,16,254,67,59,111,130,144,147,205,24,126,188,131,28,129,207,136,122,26,249,63, -208,213,119,32,200,196,140,183,229,10,16,64,68,15,99,253,101,227,252,3,58,2,255,255,159,191,72,43,202,208,26,89,204,208,1,9,80,227,100,32,74,72,80,157,247,21,84,95,3,27,65,38,192,156,30,86,202,192,164,105,1,153,228,1,185,236,240,26,6,134,53,253,12,255, -238,92,6,207,35,128,71,242,64,137,4,212,183,7,5,42,120,107,26,208,12,78,118,112,215,234,255,147,91,12,255,23,214,51,48,2,19,11,163,123,60,3,163,111,22,3,163,125,24,3,3,208,76,208,250,3,134,45,211,25,254,191,2,70,0,15,27,100,210,139,30,137,224,63,100, -245,19,163,4,100,100,18,188,209,22,52,240,134,220,19,0,250,225,31,232,178,75,80,212,179,114,224,221,177,3,16,64,196,38,128,255,223,24,153,63,115,252,134,28,211,143,181,7,0,187,72,9,20,8,127,254,208,57,226,153,32,137,238,205,15,6,70,17,30,6,198,194,94, -200,25,254,160,58,30,228,186,215,143,25,254,47,110,2,230,234,85,144,250,18,212,117,130,13,5,131,67,129,3,98,198,207,175,208,201,32,38,232,240,50,7,100,11,251,227,235,12,255,231,84,131,231,251,153,252,51,25,24,253,114,24,152,226,235,25,24,220,227,24,254, -111,154,193,240,111,235,12,200,204,39,104,38,16,188,6,129,134,221,69,208,10,102,46,1,6,70,41,85,104,143,235,41,100,111,3,242,82,123,240,17,76,127,65,139,178,255,255,96,100,254,129,207,56,128,0,98,66,138,65,124,152,225,243,131,27,191,65,231,251,254,1, -93,158,240,15,219,186,57,70,164,121,233,63,244,41,1,224,197,253,39,240,74,92,38,255,120,6,166,41,167,24,24,61,146,192,145,15,58,123,224,223,210,22,134,127,5,54,192,98,127,1,80,253,31,72,78,69,174,47,65,51,197,224,190,52,19,176,219,247,13,58,29,140,28, -66,204,144,147,60,64,151,69,60,189,205,240,111,66,41,195,191,166,48,96,206,127,200,192,32,163,198,192,152,214,201,192,60,249,56,3,163,87,20,100,8,25,52,101,76,242,186,66,18,235,0,97,96,137,166,160,7,76,244,111,33,27,77,208,27,92,208,107,112,25,153,25, -25,190,63,125,240,7,41,142,49,0,64,0,177,16,89,235,48,252,230,21,250,198,240,237,61,208,224,223,12,255,127,255,3,27,142,181,175,77,175,250,16,52,171,247,227,39,120,249,23,147,83,32,3,99,88,25,184,104,6,131,63,64,55,110,159,7,142,124,134,167,247,129,69, -58,7,100,250,24,91,24,128,15,139,96,135,46,180,248,130,56,52,10,91,147,8,164,14,148,193,15,173,6,159,43,12,110,32,250,102,48,48,42,27,48,48,149,47,98,248,15,76,120,255,103,149,130,79,52,7,223,29,192,12,93,163,72,237,6,32,232,100,17,113,25,200,189,7,160, -4,0,191,136,226,63,164,243,254,231,31,195,239,47,191,193,252,63,92,188,160,229,75,56,35,4,32,128,88,176,4,7,86,252,89,66,233,221,255,199,119,24,126,125,248,9,172,6,254,51,176,112,35,175,192,133,174,238,253,250,140,129,65,10,116,254,143,54,100,238,233, -255,63,234,119,5,65,21,27,168,174,150,80,4,47,140,100,50,247,97,96,144,86,1,7,206,255,55,192,226,112,55,48,34,118,1,241,163,27,144,225,91,30,30,124,25,0,26,10,208,107,223,64,221,87,80,67,144,80,238,5,45,31,3,29,111,179,97,38,195,127,160,125,140,106,38, -224,158,2,99,112,1,3,227,244,115,12,12,247,175,128,79,34,253,183,127,57,3,195,237,139,208,129,88,42,108,104,1,133,39,143,32,48,193,199,64,252,243,108,63,164,13,128,124,253,13,120,225,40,232,252,13,80,201,207,252,255,151,152,60,48,85,63,194,25,183,0,1, -196,66,32,231,195,241,163,79,223,95,27,254,103,252,255,235,195,47,198,63,63,255,0,237,68,155,255,6,77,139,130,46,77,2,49,21,245,24,254,179,51,65,2,147,133,74,39,125,130,138,102,240,138,99,62,96,139,60,136,129,49,177,5,114,121,19,8,0,35,30,212,69,251, -191,182,143,129,225,49,48,17,114,49,66,22,134,254,39,98,153,56,184,4,96,133,84,11,160,129,34,80,201,66,240,168,58,232,240,50,104,153,26,168,87,113,241,48,195,255,83,135,25,24,14,174,98,96,74,106,103,96,212,182,4,38,134,66,6,230,160,66,134,127,7,129,238, -2,182,29,24,174,30,135,108,64,1,15,167,50,145,151,24,64,183,150,171,26,50,48,152,121,0,187,127,183,32,219,195,254,51,96,44,135,255,15,140,31,208,37,215,12,204,204,255,95,253,252,247,14,91,149,14,3,0,1,196,66,40,226,97,248,249,221,155,223,152,196,4,127, -253,254,252,133,253,47,232,146,7,17,180,162,13,148,194,63,221,3,223,150,5,94,138,197,47,12,153,103,167,244,232,117,80,34,2,69,10,27,47,3,163,1,48,96,65,125,115,208,68,13,184,97,242,14,178,155,118,97,3,195,255,171,151,33,75,203,133,121,160,37,18,9,199, -175,177,113,65,26,176,160,241,11,240,168,26,43,241,69,50,40,66,65,139,94,185,129,236,27,231,25,254,149,122,48,48,154,185,128,103,18,25,53,204,24,152,28,34,24,254,131,240,178,54,134,255,199,54,2,51,227,77,200,68,14,248,160,12,102,226,87,76,253,131,158, -22,98,236,10,241,215,203,227,160,134,25,228,172,0,100,127,130,238,40,124,241,11,88,74,255,101,96,230,229,252,247,244,249,211,15,12,152,87,209,194,3,7,32,128,88,8,68,60,252,230,202,23,12,236,31,191,137,72,189,99,184,117,65,242,247,7,96,181,34,199,141, -86,2,128,46,128,120,6,217,176,200,35,5,217,238,245,250,53,100,85,47,57,141,59,80,196,131,234,120,14,14,240,218,59,70,159,116,240,84,46,220,177,55,79,51,252,95,217,203,240,127,255,74,200,148,174,16,242,121,2,36,172,64,6,101,68,80,143,0,164,23,180,77,12, -84,210,176,50,146,87,55,243,242,66,86,235,28,219,3,44,17,246,0,19,172,45,216,205,224,75,171,162,170,24,24,194,203,129,238,93,202,240,255,40,48,33,220,56,11,62,164,10,188,113,150,25,186,195,9,20,134,176,5,46,48,115,193,139,83,126,131,47,175,98,52,112, -96,96,116,3,54,112,191,220,97,96,184,187,12,218,240,102,97,64,153,10,102,101,102,248,254,250,7,48,1,252,97,248,195,199,243,227,220,15,222,39,12,168,55,144,162,36,6,128,0,194,87,2,160,104,122,240,233,199,167,247,12,76,111,57,126,49,72,254,4,90,0,190,106, -134,137,1,245,122,55,208,128,196,211,189,12,12,234,197,12,140,58,118,192,220,121,14,218,37,98,36,46,210,161,13,56,240,122,2,144,223,100,180,129,245,124,42,3,163,107,60,100,232,19,60,240,241,5,28,128,255,22,53,3,3,17,152,155,132,160,203,194,254,145,185, -252,26,100,45,59,52,1,252,248,6,221,55,75,230,125,4,176,133,171,66,188,224,110,233,255,179,192,170,225,244,97,96,137,101,1,44,185,10,25,24,181,128,9,217,37,14,140,25,174,30,1,202,237,4,175,105,4,159,84,254,245,29,100,16,10,189,185,2,98,115,177,65,134, -176,211,187,33,213,206,137,70,200,105,33,28,162,12,24,119,35,1,193,183,231,223,129,5,217,127,134,143,28,188,111,142,29,185,241,26,45,62,81,50,57,64,0,161,151,0,255,176,69,62,8,63,126,255,233,235,27,38,214,183,146,140,160,27,215,190,129,79,243,96,6,223, -120,245,15,181,29,240,236,0,248,2,38,38,96,164,253,221,179,20,88,63,3,237,23,68,46,150,209,198,233,97,197,60,200,243,63,255,131,75,95,70,121,45,6,6,27,63,6,38,251,16,6,6,21,99,132,150,187,23,24,254,109,154,14,108,228,45,128,140,237,139,243,66,93,75,65, -21,3,74,196,28,208,210,12,84,2,80,163,3,3,94,29,5,244,8,232,58,251,223,192,30,201,165,19,192,158,65,18,248,218,58,70,75,31,240,62,71,6,109,27,96,91,1,136,221,19,193,7,66,252,127,122,7,178,231,239,37,176,215,242,238,53,36,17,130,110,27,17,7,54,118,245, -128,37,137,67,20,164,55,115,23,24,166,15,55,66,214,2,98,75,204,160,91,204,159,129,174,176,103,252,255,156,93,224,233,207,223,191,209,111,30,69,73,8,0,1,196,194,128,61,205,33,151,2,96,205,159,191,255,252,117,247,203,159,103,186,28,236,255,190,63,255,202, -244,23,216,29,4,205,57,99,12,200,124,125,2,217,226,173,6,76,4,192,98,239,31,104,9,213,91,96,67,20,116,71,16,120,137,56,180,187,2,202,233,160,57,237,159,208,42,87,72,148,129,81,197,16,178,201,3,88,212,49,128,216,48,0,90,149,115,100,45,195,255,45,179,25, -254,223,185,2,185,106,141,143,151,242,238,230,63,232,53,117,176,179,1,126,253,160,114,143,5,218,88,4,237,2,6,157,14,126,102,63,195,255,11,251,25,24,129,25,131,209,23,88,165,217,5,51,48,128,214,46,130,48,76,15,232,232,186,47,208,157,30,160,132,41,0,93, -132,242,253,49,48,242,129,13,205,235,211,33,155,65,25,209,206,52,2,49,129,225,242,247,227,47,134,31,175,190,51,48,114,176,48,156,127,247,227,46,82,228,99,77,4,0,1,196,66,32,226,255,33,107,190,240,244,245,51,103,1,190,55,204,47,222,136,125,7,22,51,224, -75,157,81,134,132,161,99,196,247,65,155,60,157,129,197,119,14,3,147,152,52,195,191,221,75,24,24,46,236,3,22,91,72,219,174,64,9,66,66,14,216,80,2,246,221,141,128,141,38,121,29,6,70,41,101,96,66,16,67,205,76,160,113,251,237,243,25,254,223,61,7,57,206,149, -135,154,103,7,65,219,0,176,4,0,26,200,161,197,248,13,120,161,38,39,100,171,24,176,62,255,127,235,28,195,255,25,192,106,242,240,58,6,166,152,106,6,6,208,89,137,32,183,188,2,70,240,59,96,183,145,91,10,178,208,243,61,176,91,250,20,152,161,62,191,0,150,235, -192,46,238,231,135,208,171,111,185,176,183,115,128,61,175,207,231,63,51,252,254,242,139,225,39,39,207,231,245,87,30,220,129,198,29,206,59,136,1,2,8,219,56,0,114,10,129,105,0,223,93,123,232,225,171,231,201,154,122,207,120,94,190,22,251,114,239,51,3,175, -58,63,3,19,122,125,9,26,148,0,53,6,207,0,235,41,227,122,6,70,251,80,6,102,125,71,200,53,45,160,179,111,62,191,101,96,228,23,103,96,144,85,103,96,4,13,213,10,203,64,183,142,125,133,180,108,127,232,0,83,62,100,162,227,255,218,9,12,255,150,181,2,27,150, -111,32,3,42,92,208,254,46,181,6,154,96,243,90,28,92,16,254,239,31,52,156,191,130,186,25,84,34,128,150,169,129,182,187,157,222,197,240,247,217,93,96,215,17,216,165,117,8,7,182,115,212,25,24,158,0,51,202,213,25,144,243,127,192,179,236,191,145,246,78,178, -64,102,92,177,69,62,19,100,167,214,199,91,159,24,254,125,255,203,240,66,89,235,238,163,227,199,63,51,32,238,29,254,131,165,4,248,7,16,64,132,74,128,191,200,6,124,249,254,227,231,125,6,174,39,178,156,44,122,159,238,126,100,18,253,44,206,192,198,207,134, -101,72,152,21,146,146,143,23,0,139,114,96,221,165,24,12,140,108,27,240,66,11,176,201,200,99,67,95,129,117,222,237,53,144,83,65,84,98,33,145,255,254,37,195,191,217,192,22,51,104,231,47,232,160,36,46,34,6,115,40,137,20,80,35,18,196,251,243,155,94,115,186, -144,54,2,40,49,188,124,192,240,111,50,176,203,248,233,45,3,147,95,22,176,52,40,132,228,242,71,155,33,179,171,76,108,104,51,171,56,70,51,217,24,25,126,191,249,1,172,129,191,128,59,19,167,191,179,220,96,64,92,65,143,158,8,96,87,210,255,7,8,32,124,37,192, -95,36,3,224,134,156,126,253,229,161,169,144,216,59,166,199,207,69,126,190,248,193,192,198,135,101,221,31,168,84,0,141,11,128,218,3,151,122,25,24,238,0,171,0,126,117,200,217,56,160,226,11,116,87,31,168,148,248,246,28,88,34,0,19,192,79,96,81,103,84,15, -44,254,245,192,183,116,255,235,75,129,172,192,101,103,163,254,149,49,216,0,204,142,191,127,232,59,131,13,155,112,250,242,158,225,63,232,24,156,111,159,193,123,25,24,244,75,33,103,38,129,194,143,88,7,1,219,99,95,239,127,97,248,245,254,59,195,95,110,174, -159,203,206,221,184,134,20,233,216,170,0,112,53,0,16,64,184,18,0,122,238,135,37,130,223,91,207,94,121,16,225,166,253,138,227,217,51,145,79,183,62,50,112,171,242,65,142,249,197,118,43,8,19,180,143,250,13,88,135,125,125,138,180,116,9,54,113,4,42,182,126, -65,174,137,83,12,4,159,134,245,175,3,216,229,187,15,116,59,23,23,29,150,148,65,219,0,204,172,136,161,214,129,0,160,68,0,236,129,252,91,80,203,192,4,108,248,49,6,228,64,74,78,80,230,33,102,98,137,25,114,78,195,135,155,159,25,254,126,249,199,240,66,75, -243,206,195,211,224,227,97,64,113,246,11,45,19,163,220,52,10,16,64,76,120,198,0,254,162,21,29,96,131,64,213,192,117,6,174,59,255,217,217,126,127,123,242,149,225,31,214,43,97,176,204,18,130,230,171,65,245,23,24,179,67,248,160,200,7,121,84,51,131,129,225, -193,117,134,127,45,209,192,210,226,42,105,251,251,41,110,165,51,161,78,165,14,8,248,15,153,172,2,150,64,255,102,20,1,171,190,117,144,91,212,36,29,193,35,171,4,107,49,96,238,255,9,108,148,127,125,248,17,92,189,30,254,201,121,17,91,233,141,165,29,192,0, -16,64,76,68,180,1,96,169,8,134,127,111,187,247,250,198,23,17,233,183,223,95,126,97,248,7,154,117,34,231,164,111,208,8,152,4,176,245,171,95,5,44,238,94,49,252,91,209,206,192,112,243,38,228,226,8,250,148,191,144,28,207,206,197,192,200,54,208,9,0,218,83, -0,53,114,129,225,9,58,75,137,1,116,135,145,78,54,228,238,100,134,127,248,7,178,88,24,25,190,62,250,202,240,235,237,119,134,31,66,130,31,151,158,189,121,13,185,212,102,64,189,103,24,165,4,0,8,32,38,28,105,10,150,66,254,96,73,0,191,142,92,190,241,226,154, -128,216,213,239,223,88,254,188,187,244,142,225,63,51,137,103,234,128,14,126,226,85,99,96,48,239,129,156,2,178,160,134,129,97,235,82,6,6,17,78,250,173,36,2,183,176,255,66,150,116,65,27,129,144,197,28,3,152,8,64,37,18,47,27,195,255,107,39,128,61,166,243, -192,146,80,17,216,91,242,134,174,194,193,53,144,5,41,254,191,60,248,4,94,23,178,151,79,253,192,235,119,239,191,225,40,254,255,160,13,4,49,0,4,16,182,4,240,15,75,21,128,145,8,22,220,124,115,230,171,136,212,187,87,39,94,130,7,31,136,62,97,11,148,235,64, -39,108,232,230,65,246,18,158,216,196,240,111,249,108,134,255,220,176,13,14,116,140,1,208,214,112,208,96,11,116,171,23,35,203,32,168,10,64,147,103,160,1,201,19,91,129,141,99,96,176,75,58,224,14,23,104,241,255,227,201,55,134,79,215,222,49,124,23,17,127, -183,232,234,227,203,191,255,252,249,133,37,247,99,45,1,0,2,136,9,123,191,8,165,26,64,54,8,118,250,244,175,115,183,238,190,121,40,42,125,231,251,187,63,127,223,95,0,205,250,17,121,245,0,168,7,32,8,236,235,139,219,128,199,222,255,174,232,128,172,218,101, -231,160,127,35,236,31,108,34,8,58,162,9,154,19,24,12,155,63,64,109,103,208,152,201,143,79,192,158,147,28,116,185,61,142,190,63,208,193,239,206,191,101,248,241,234,15,195,9,1,213,51,47,223,190,251,130,150,97,113,54,0,65,70,0,4,16,190,42,224,47,90,87,16, -150,0,224,137,96,231,243,47,87,128,13,182,223,47,79,188,134,148,2,44,140,4,2,240,63,244,102,112,55,200,204,23,232,208,200,107,64,143,242,114,12,204,182,43,144,149,160,197,29,176,249,127,142,65,146,0,192,71,216,254,132,14,85,195,246,118,98,113,24,7,19, -195,207,103,223,25,222,159,127,205,240,83,84,232,243,166,187,47,174,125,249,246,253,39,129,214,255,63,100,195,0,2,136,9,79,219,18,87,67,16,158,8,246,93,187,247,248,15,31,247,183,159,175,190,51,188,57,5,186,2,134,133,64,183,245,31,100,96,3,124,91,55,3, -228,128,228,127,12,72,199,20,208,25,128,214,127,130,18,0,172,4,0,29,24,61,24,54,254,128,66,28,116,164,60,248,216,186,55,208,101,223,140,88,71,254,222,95,4,22,253,207,127,49,60,20,81,184,115,251,233,203,15,216,26,237,88,122,0,240,18,0,32,128,112,149,0, -48,140,62,24,132,92,13,252,124,253,241,243,151,107,60,210,87,64,70,190,58,254,154,225,55,48,33,224,61,20,234,63,52,69,243,200,66,184,143,111,65,207,70,30,160,108,7,178,150,79,24,177,221,27,52,39,192,204,52,176,187,126,96,213,160,190,3,164,129,10,26,33, -5,237,182,70,63,108,1,88,247,127,3,214,253,111,129,185,31,52,188,114,243,31,251,163,55,95,190,126,69,111,171,225,43,254,65,0,32,128,152,8,20,144,232,35,130,176,220,255,3,102,65,239,149,215,7,191,203,201,189,249,245,238,59,195,243,253,207,33,41,149,133, -17,255,224,59,35,52,199,129,143,107,25,192,110,23,104,101,150,140,42,228,194,74,16,0,237,31,96,101,31,184,1,33,70,232,133,82,188,236,12,76,154,86,144,92,254,116,31,34,188,224,35,151,204,12,255,126,252,97,120,115,252,37,195,215,7,63,24,62,26,26,61,222, -117,255,213,237,63,127,255,253,68,175,166,113,36,0,56,0,8,32,38,252,131,228,24,9,224,23,90,34,248,113,243,225,227,247,147,126,73,173,251,199,206,244,251,221,249,55,12,175,246,128,214,228,225,57,132,28,180,100,28,52,42,8,242,47,104,246,239,215,0,37,0, -208,184,63,59,48,128,85,76,192,71,170,128,221,3,58,9,132,157,99,0,187,129,192,224,254,252,143,129,209,37,26,178,119,241,201,78,6,134,215,167,16,35,149,208,162,255,63,48,129,190,57,246,10,136,129,141,63,9,145,143,11,158,253,220,119,230,246,253,87,216, -170,105,164,4,240,15,91,2,0,8,32,38,2,5,36,182,222,0,44,242,225,169,109,245,161,19,247,142,41,88,30,249,251,254,15,195,75,160,195,190,222,4,86,69,60,88,14,146,2,165,228,63,192,20,254,241,38,132,175,101,137,119,140,131,166,57,13,180,145,68,76,6,216,205, -2,70,250,151,251,64,119,125,2,31,90,13,190,156,226,239,223,129,113,211,135,175,12,140,70,38,12,76,81,181,192,112,249,0,153,251,7,101,24,228,98,18,152,0,190,222,251,194,240,98,239,51,134,127,64,119,158,150,208,56,179,250,252,205,59,208,220,255,3,41,110, -144,27,129,40,19,64,200,137,0,32,128,8,245,221,208,135,133,145,83,216,119,100,11,27,247,94,56,252,73,78,238,37,168,42,120,117,248,53,80,244,31,100,51,5,198,252,0,80,236,237,5,176,209,140,22,190,192,92,39,2,89,138,69,239,173,228,63,129,246,131,54,118, -8,74,67,86,49,253,124,7,94,151,199,40,174,0,25,120,161,171,123,128,118,125,249,204,192,40,39,207,192,148,209,195,192,32,5,116,195,165,126,160,216,3,212,69,163,224,94,244,111,112,85,251,243,253,111,134,167,10,42,119,103,159,189,123,254,215,239,63,223, -209,75,102,164,68,128,49,252,139,12,0,2,136,152,18,224,63,218,160,208,47,36,75,224,137,224,61,176,1,50,245,51,247,150,255,140,12,127,191,62,252,196,240,245,225,23,72,255,254,63,250,64,7,176,161,245,28,88,175,125,186,11,62,161,155,209,43,21,200,166,115, -142,251,15,189,219,80,197,8,88,239,11,50,48,188,60,5,89,108,1,10,99,208,158,134,159,116,206,253,160,3,170,5,161,215,202,232,217,51,48,188,57,3,116,211,49,6,140,187,159,129,185,255,203,205,79,12,31,174,188,103,248,46,194,255,113,249,243,223,71,110,62, -121,254,22,41,67,126,71,43,157,127,163,13,254,96,180,184,1,2,136,152,209,155,127,104,213,192,47,180,148,6,79,4,91,46,221,126,176,87,193,122,255,183,23,191,255,191,60,248,130,225,255,231,63,224,85,42,168,137,157,5,178,63,239,206,98,72,123,16,116,16,147, -150,6,100,203,53,189,114,29,116,229,47,163,154,25,132,15,90,109,3,171,150,148,244,232,219,41,1,45,67,19,148,96,96,202,155,4,62,8,27,60,115,122,5,152,16,126,190,65,205,253,160,189,171,191,254,50,188,58,243,154,225,47,19,211,239,19,34,154,103,86,94,121, -120,7,41,14,190,163,37,2,244,250,31,235,114,105,128,0,34,166,10,192,214,37,252,133,102,49,56,1,252,4,22,69,29,251,207,158,120,97,96,124,231,237,169,183,12,79,119,62,5,102,182,255,104,163,132,255,33,167,91,130,174,140,123,121,152,129,65,8,232,249,220, -41,144,165,94,223,191,51,208,188,91,0,59,249,83,92,22,124,236,60,195,255,47,144,203,25,65,221,45,144,23,181,45,192,3,44,224,181,1,180,46,133,64,75,208,128,213,16,115,221,42,6,70,251,112,200,54,175,51,85,192,18,224,20,100,73,24,44,44,128,57,255,31,176, -104,125,177,227,25,195,135,171,31,255,63,82,215,191,85,185,237,228,17,164,56,248,6,197,176,248,192,86,252,99,77,214,0,1,68,236,190,45,124,165,192,119,36,203,127,124,248,246,227,203,148,7,223,247,253,228,21,252,242,250,200,51,134,215,135,94,50,252,5,37, -2,148,246,0,244,232,161,243,45,64,79,63,98,96,52,112,102,96,138,169,7,154,204,138,116,182,0,13,187,127,160,117,31,26,230,12,140,160,6,224,135,123,144,238,40,104,1,6,176,191,205,168,160,11,94,174,6,62,85,132,86,137,17,212,3,1,217,169,98,204,192,84,182, -144,129,1,116,104,5,168,216,7,69,254,139,67,144,161,95,88,105,200,12,172,83,129,110,126,123,236,37,195,139,131,207,25,62,136,136,189,234,187,252,106,223,191,255,255,145,115,252,55,36,252,3,169,248,71,111,253,99,36,2,128,0,34,38,1,252,199,209,24,252,137, -197,1,224,68,176,247,252,213,199,171,69,20,119,253,226,18,250,254,120,227,67,134,151,59,129,45,86,208,197,18,172,72,155,145,65,107,222,64,43,130,142,101,3,235,223,155,12,140,161,165,12,76,9,133,144,11,37,191,127,167,93,2,0,157,26,194,203,13,94,103,15, -94,155,7,218,95,7,242,18,104,87,211,171,83,224,97,97,102,207,36,160,27,64,237,4,42,215,5,160,56,253,9,57,204,129,209,61,137,129,185,113,29,3,163,186,33,3,195,85,96,145,127,36,29,216,229,59,13,172,50,133,160,221,101,6,112,120,129,242,206,11,96,248,61, -222,244,136,225,183,160,208,215,165,44,210,123,78,222,127,250,28,41,220,191,66,241,55,44,197,63,114,235,31,43,0,8,32,82,118,110,254,199,49,38,128,145,8,128,169,243,199,164,253,231,46,236,21,80,58,242,139,137,237,247,243,61,79,24,94,29,120,193,240,239, -23,242,45,225,208,147,69,65,27,28,142,131,206,216,7,150,4,9,173,12,76,169,205,224,13,144,12,95,190,208,96,68,142,17,60,195,6,218,205,11,222,94,246,7,216,238,120,117,2,186,234,6,88,223,62,222,2,81,102,27,194,192,32,192,3,185,252,137,42,165,0,116,225,44, -232,176,41,30,33,6,166,228,54,6,166,130,25,144,147,73,47,118,2,91,252,61,144,238,49,155,32,34,164,217,32,145,255,114,207,51,134,23,251,159,49,252,97,99,249,189,139,87,254,240,162,163,231,111,64,35,25,61,242,209,115,255,95,92,163,127,200,0,32,128,152, -72,136,124,244,146,0,185,26,248,134,134,193,245,80,207,225,75,167,143,51,177,158,254,251,143,225,239,211,157,79,24,222,156,120,13,73,0,140,200,237,1,62,96,9,0,236,17,92,232,4,71,8,99,64,46,3,83,62,48,71,200,3,139,225,207,95,241,108,215,38,167,241,247, -27,178,5,11,116,31,17,104,212,239,229,17,232,254,122,208,214,111,62,72,98,248,254,138,129,65,68,22,88,39,3,19,193,199,223,148,31,119,203,4,109,79,124,2,86,47,202,250,12,76,160,163,236,131,11,32,107,34,174,0,187,122,183,23,66,54,121,128,23,126,252,135, -231,124,240,197,32,192,190,254,243,3,207,25,24,129,41,225,48,187,196,241,134,61,231,143,161,229,252,111,4,114,255,63,66,227,236,0,1,68,170,247,96,9,0,189,75,136,205,81,223,223,127,255,245,185,227,9,243,225,43,58,86,23,254,3,251,221,207,118,61,5,175,92, -1,221,106,129,2,64,37,193,139,163,192,54,65,43,208,180,151,224,3,158,153,170,150,48,48,154,187,64,170,131,127,127,169,147,19,65,237,11,121,77,6,38,215,56,200,82,171,39,123,32,13,64,240,142,93,22,200,221,59,119,87,128,183,119,49,129,54,119,74,128,174, -99,249,65,94,239,4,182,199,15,216,191,103,248,240,157,129,209,57,132,129,169,114,62,120,103,51,120,65,236,233,90,6,134,27,179,33,85,33,8,195,14,117,2,13,163,3,123,78,175,129,37,38,40,231,255,251,252,151,225,162,145,235,233,202,51,79,15,32,149,184,232, -145,143,173,238,71,46,250,113,38,2,128,0,34,181,10,64,95,45,132,173,49,136,226,184,215,31,63,125,108,59,251,228,192,109,3,171,203,191,63,254,97,120,180,238,62,195,183,251,160,227,214,144,207,180,97,130,96,208,82,232,211,213,192,0,187,14,222,115,207,84, -52,155,129,209,46,0,152,19,191,67,239,209,165,32,17,128,143,126,97,97,96,114,8,101,96,144,82,130,12,70,129,26,94,140,240,11,180,128,57,15,216,254,120,184,22,114,7,143,162,62,3,131,115,48,176,113,248,27,106,47,35,241,145,14,30,211,7,6,193,235,207,224, -21,199,140,81,185,224,59,4,193,187,157,64,165,206,169,50,96,226,219,10,89,31,9,110,237,195,79,244,2,182,79,88,25,190,92,255,200,240,226,240,115,134,223,111,254,50,220,176,112,57,95,181,235,204,222,223,255,254,125,67,11,223,47,72,108,146,26,126,200,0, -32,128,152,27,26,26,24,26,27,27,41,109,218,96,59,139,14,126,206,240,251,143,31,255,92,250,206,244,220,196,64,83,128,251,206,125,209,175,15,190,48,112,8,177,51,176,203,65,23,58,252,249,15,221,51,207,2,217,242,12,42,138,65,219,158,101,44,25,24,245,157, -33,126,187,4,44,253,190,65,215,28,48,147,49,125,252,227,59,120,115,38,232,4,112,208,69,79,12,215,103,66,18,0,11,23,194,233,160,118,0,168,68,248,5,44,9,100,128,165,15,159,36,195,255,163,43,33,215,190,179,67,237,69,142,100,100,12,242,7,168,91,247,249,7, -228,104,58,30,118,6,70,87,96,73,150,213,199,192,228,145,2,217,252,114,115,62,164,216,7,45,133,7,217,11,91,53,13,138,34,208,29,76,92,204,12,159,206,191,103,120,188,225,33,48,147,252,96,184,99,235,124,177,122,255,165,61,79,95,191,253,128,20,249,160,136, -255,140,39,1,160,15,251,226,5,0,1,196,8,222,229,75,90,206,66,191,89,4,148,149,65,201,24,52,139,2,10,77,208,46,14,94,52,12,18,227,210,86,86,20,233,82,102,13,18,127,116,75,142,141,159,149,65,202,77,142,65,200,84,136,129,17,84,37,124,133,186,25,188,29,250, -39,228,18,4,121,63,232,70,9,54,200,222,192,77,83,128,197,230,73,134,255,223,254,66,22,145,128,150,112,17,154,185,131,230,70,70,14,110,6,166,166,13,12,12,6,142,192,198,222,38,72,117,3,178,135,137,13,179,155,8,2,160,37,107,202,177,12,255,79,108,99,96,88, -80,203,240,15,180,53,237,43,212,167,160,222,12,108,131,11,232,206,194,159,144,144,96,20,226,7,230,114,96,3,83,11,216,173,179,14,4,118,41,245,128,161,194,6,185,9,245,234,52,96,130,59,1,41,137,208,78,244,2,87,137,223,126,51,188,62,249,154,225,197,222,39, -12,63,95,255,97,184,100,225,118,166,227,208,165,195,183,159,190,120,131,22,241,32,252,9,74,163,39,128,63,248,70,253,176,1,128,0,34,39,1,160,39,2,22,180,68,192,13,197,232,137,0,36,198,37,193,201,202,159,110,162,98,232,247,233,166,11,168,169,195,37,203, -207,32,237,41,197,192,173,198,143,72,4,96,167,255,133,68,16,159,60,3,131,54,48,17,72,185,64,78,245,126,114,147,225,255,186,126,134,127,123,150,65,210,59,232,100,46,88,137,128,182,249,24,60,226,247,13,180,0,149,15,216,223,6,214,191,54,192,250,247,254, -106,96,203,187,3,98,62,19,27,238,97,15,144,89,234,137,12,12,154,217,224,155,79,25,158,220,98,248,119,12,152,128,78,237,0,111,111,3,151,88,160,102,58,191,48,3,35,104,72,89,199,150,129,17,52,140,11,186,129,20,180,176,228,31,48,190,238,46,103,96,120,186, -11,168,255,57,164,149,207,200,136,122,100,14,19,164,190,255,124,237,3,176,125,244,156,225,203,253,143,12,255,121,184,255,108,100,22,223,63,253,218,171,115,111,63,131,78,156,130,23,247,95,144,34,254,51,82,15,0,91,228,19,125,72,2,64,0,145,155,0,144,19, -1,51,90,34,224,68,42,9,120,144,74,0,24,230,100,102,98,228,140,119,177,85,75,249,112,222,135,237,203,103,46,54,126,78,6,25,79,105,6,65,107,49,160,151,254,32,109,247,102,132,44,33,3,229,26,25,55,6,6,173,44,160,105,202,144,125,117,87,142,48,252,95,210,12, -190,153,147,225,199,111,168,43,88,144,6,123,254,130,175,113,1,69,10,99,102,47,3,163,146,1,176,161,185,143,129,225,68,9,228,88,53,22,78,252,97,244,31,26,142,210,192,238,162,86,46,48,249,202,33,142,192,67,30,37,4,29,47,3,222,247,192,4,209,3,58,38,231,193, -58,200,141,158,224,11,29,217,160,67,186,140,152,51,227,64,125,175,14,190,96,120,182,231,41,195,191,111,127,24,126,72,73,127,154,203,162,176,99,241,190,227,183,254,252,251,135,220,166,250,140,148,0,96,137,1,214,242,39,106,200,23,23,0,8,32,74,19,0,210, -176,30,252,110,58,228,68,192,141,37,17,112,67,229,57,108,100,132,164,235,53,5,189,133,158,223,19,103,230,100,97,148,116,146,102,16,177,22,5,86,141,160,211,58,254,161,22,203,127,191,66,174,164,145,7,230,98,149,72,160,41,178,16,39,60,188,198,240,239,228, -54,112,213,192,240,246,57,36,177,128,150,121,75,171,48,48,58,69,131,79,213,0,135,7,232,138,250,163,192,4,244,227,53,164,203,71,76,24,129,34,20,52,111,193,14,84,47,233,2,89,203,40,164,5,29,169,99,130,204,223,255,2,86,207,159,238,0,35,254,10,164,129,7, -218,19,9,78,96,92,152,11,57,224,189,30,70,134,127,191,255,131,199,70,158,238,125,10,108,250,48,253,127,201,47,254,180,249,230,151,29,199,95,124,124,134,165,159,255,25,173,222,255,138,20,249,191,72,173,247,145,1,64,0,81,146,0,208,27,128,176,146,0,118, -209,52,122,34,64,198,92,176,68,192,193,198,198,217,109,33,235,100,241,253,185,1,227,167,111,172,2,90,66,12,82,30,82,12,236,50,92,224,75,194,33,39,127,192,6,83,254,64,26,105,160,126,179,74,52,176,142,6,38,4,118,96,213,193,200,142,187,227,2,154,230,125, -180,29,216,0,155,13,90,196,6,116,33,129,141,22,88,7,113,64,103,25,124,129,158,134,202,9,57,22,31,20,193,160,42,10,212,96,4,173,217,3,177,65,173,122,112,163,18,203,34,78,200,129,187,12,255,152,254,51,252,120,250,157,225,201,150,39,12,31,111,125,96,248, -203,203,245,253,152,136,198,217,242,93,23,142,0,115,61,242,4,219,87,2,141,190,31,132,22,123,16,3,0,2,136,210,4,128,173,213,15,75,4,200,13,67,110,164,132,192,141,158,8,64,106,155,92,140,44,92,94,92,181,102,251,253,147,131,133,151,141,65,204,74,148,65, -216,76,148,1,116,75,25,234,21,235,208,253,132,160,8,1,221,81,40,102,13,185,68,153,95,13,104,26,244,126,36,80,233,249,11,40,255,234,36,164,107,9,26,231,7,29,170,0,26,111,32,123,5,10,244,40,60,6,232,105,101,224,209,67,38,104,241,206,132,148,219,177,47, -223,254,15,196,127,62,253,2,15,134,189,60,250,146,1,116,208,214,55,62,158,143,203,127,139,28,152,126,254,254,21,44,131,106,95,145,138,123,228,92,255,29,75,127,159,232,70,31,58,0,8,32,106,36,0,108,61,3,102,180,146,0,189,52,128,37,8,46,40,6,39,130,20,93, -25,237,96,129,63,230,34,31,223,72,252,255,242,135,153,75,150,147,65,214,75,150,129,71,131,31,82,45,128,27,118,255,161,87,187,253,135,108,47,3,237,51,0,207,43,179,65,138,106,208,190,195,223,159,33,231,231,130,115,37,59,228,28,61,70,106,222,248,192,136, -54,60,130,69,26,212,38,96,130,206,228,1,123,10,31,206,189,97,120,126,240,57,195,183,199,192,238,40,39,211,223,55,98,178,47,230,223,255,124,120,213,189,119,183,209,166,214,191,33,213,241,95,176,12,246,252,66,154,233,251,71,78,189,143,12,0,2,136,90,9,128, -80,34,64,111,23,112,227,74,4,42,194,124,130,121,90,98,230,106,108,127,228,184,222,188,227,231,101,254,198,45,102,41,194,192,167,42,200,192,12,186,15,79,128,21,88,10,179,64,18,194,31,164,165,139,224,99,212,96,97,194,2,29,87,96,102,160,235,85,31,140,208, -46,34,48,60,255,2,27,117,191,63,253,102,248,243,229,55,195,199,43,111,193,185,254,43,11,207,215,239,130,130,159,174,255,227,124,208,125,225,217,241,167,31,193,173,252,31,88,114,62,182,73,158,159,164,142,243,19,3,0,2,136,154,9,0,87,34,96,129,38,0,118, -44,165,1,50,205,137,84,37,176,73,11,240,242,58,75,112,201,123,11,177,233,42,125,124,169,200,194,250,139,25,116,43,54,175,18,63,131,128,150,0,3,183,34,15,3,51,232,112,10,80,66,0,53,24,255,13,192,82,110,216,9,35,160,238,28,27,100,6,239,215,251,159,12,223, -30,125,101,248,120,237,61,195,151,135,159,25,126,189,251,193,240,135,137,235,239,53,97,217,155,251,95,124,190,121,232,229,151,199,247,223,126,250,136,20,161,223,113,204,236,125,67,171,239,145,183,120,253,163,70,228,131,0,64,0,81,59,1,224,106,19,160,143, -21,112,34,229,124,228,82,0,150,8,96,9,134,85,150,143,139,47,70,83,74,211,130,253,151,134,212,251,231,210,192,46,31,19,43,15,19,3,191,166,16,3,191,190,16,176,51,192,13,57,171,8,182,43,9,52,48,3,154,122,254,135,165,180,166,70,132,195,250,239,32,251,96, -211,219,64,59,65,39,115,126,190,249,137,225,221,133,55,12,223,158,124,1,230,254,127,12,140,124,92,255,158,240,137,61,61,250,254,231,141,25,183,222,94,252,242,243,23,114,17,142,28,249,216,38,118,190,163,141,240,33,79,240,80,37,242,65,0,32,128,104,145, -0,208,123,7,200,35,134,172,72,145,203,129,20,233,232,165,0,188,36,128,98,86,67,113,126,17,43,45,85,73,107,166,143,234,202,159,95,41,50,189,251,200,198,202,207,204,192,41,197,195,192,37,205,13,196,92,12,28,98,156,224,123,115,25,121,88,225,187,102,225, -137,225,223,127,242,154,73,208,214,59,164,44,99,134,38,180,255,12,255,63,255,102,248,254,246,39,3,232,176,172,239,79,190,49,124,125,252,153,225,251,139,47,192,162,255,63,195,47,46,206,31,247,36,212,238,29,127,243,245,222,209,71,111,158,92,120,249,225, -45,3,238,229,116,216,102,82,145,87,245,252,198,50,187,247,159,90,245,26,64,0,209,42,1,224,74,4,176,132,192,134,86,26,112,34,37,0,46,36,113,14,36,181,172,208,18,129,215,144,159,69,60,64,75,65,75,231,227,67,117,230,143,31,217,192,183,166,115,48,50,176, -242,178,51,112,8,115,49,112,43,1,19,133,44,48,65,8,114,48,176,129,206,234,3,109,89,99,66,58,105,3,148,24,254,226,9,63,208,78,103,216,186,5,240,110,102,208,112,242,31,134,95,31,127,131,115,250,151,7,95,128,197,252,23,240,129,204,191,63,127,103,0,117,222, -64,199,18,127,226,230,255,112,142,67,252,198,254,167,159,238,157,127,253,249,213,179,79,224,157,58,232,219,234,144,35,31,121,53,21,114,113,255,19,203,162,142,127,148,180,246,113,1,128,0,162,101,2,96,96,192,188,133,140,25,203,120,1,7,18,230,196,82,10, -112,64,19,0,27,18,102,145,228,227,226,209,224,102,22,50,149,20,144,50,22,96,87,80,248,254,78,154,229,243,59,78,240,249,255,160,140,202,197,6,108,252,179,50,176,2,187,145,108,2,108,12,156,98,28,192,68,194,12,20,7,54,34,121,89,24,88,65,147,47,56,218,135, -191,191,255,1,54,222,254,128,27,112,127,127,252,101,248,249,250,39,48,226,127,1,35,251,39,248,190,4,240,81,185,44,144,218,248,175,176,232,143,155,12,236,15,174,252,102,127,178,231,238,139,135,183,62,255,250,240,249,39,248,62,122,228,101,244,191,144,34, -246,59,3,238,133,156,63,209,90,249,127,177,204,235,83,181,177,3,16,64,180,78,0,184,218,5,200,195,199,232,213,2,114,238,231,68,19,71,78,8,32,125,44,236,204,76,192,38,0,11,135,48,55,39,151,133,146,180,184,62,235,79,41,29,230,111,74,252,31,95,9,129,51,49, -35,11,195,63,208,134,89,208,108,48,23,19,248,58,53,208,197,17,204,176,141,172,88,130,19,116,206,238,255,127,144,9,31,208,117,185,32,215,50,131,174,98,253,243,151,225,255,223,191,12,111,165,52,94,94,123,255,233,201,101,118,137,39,39,110,221,123,245,242, -227,215,175,159,254,252,251,249,243,207,223,95,12,152,231,41,252,64,203,249,63,208,18,193,79,44,221,187,223,72,35,123,255,168,89,228,163,3,128,0,162,87,2,32,84,37,160,151,8,236,72,52,39,22,49,118,164,68,0,211,207,204,194,196,4,76,16,140,44,188,108,44, -108,170,10,242,188,6,2,236,162,226,207,175,11,241,201,40,176,138,139,138,241,49,63,190,197,198,193,240,151,157,71,84,146,141,229,231,55,86,112,93,142,230,119,208,221,104,127,216,57,127,127,122,247,250,199,207,255,204,191,127,73,43,127,123,251,250,245, -247,15,207,30,255,124,35,171,243,254,252,243,119,175,111,61,121,254,9,216,160,251,253,243,31,195,159,63,255,254,193,114,42,182,131,52,126,98,201,249,216,54,111,160,239,226,253,71,171,34,31,29,0,4,16,61,19,0,190,42,1,185,68,64,30,59,64,79,16,28,132,18, -1,3,218,245,232,12,168,187,43,176,94,137,135,163,173,207,128,165,193,133,126,150,50,250,25,10,191,209,114,61,122,100,163,71,58,174,237,219,52,43,242,209,1,64,0,209,123,99,62,242,37,172,200,129,137,126,44,45,44,32,217,144,104,88,0,34,39,0,88,34,96,193, -147,8,152,240,44,90,193,215,217,195,22,241,196,68,254,79,28,137,224,23,150,150,61,174,136,255,207,64,167,209,43,128,0,26,136,147,25,112,229,176,255,72,129,202,140,22,176,172,208,192,99,135,6,38,59,90,41,193,134,148,0,88,176,36,0,92,137,0,215,184,46,250, -81,57,12,12,152,39,168,227,58,67,9,57,1,252,194,81,204,35,183,238,209,235,122,6,6,58,238,77,2,8,32,122,87,1,196,84,11,76,56,218,8,172,104,61,1,54,180,42,128,13,45,1,192,48,35,145,213,1,177,197,62,182,131,52,127,225,40,5,126,227,137,248,127,244,46,238, -177,1,128,0,26,12,9,128,1,75,132,224,75,8,44,88,34,29,57,145,48,227,168,6,112,94,161,142,167,248,255,79,32,1,252,69,139,92,108,24,219,9,93,3,30,241,48,0,16,64,131,41,1,16,91,34,48,35,69,52,11,26,155,25,75,2,32,183,4,96,192,146,0,254,99,73,0,127,145,34, -248,55,26,251,239,96,141,120,24,0,8,160,193,152,0,112,37,4,70,164,72,101,38,128,153,112,244,4,112,229,124,66,13,65,98,74,2,108,248,223,64,215,241,132,0,64,0,177,48,12,94,128,28,72,127,145,122,15,140,80,62,122,233,192,68,160,200,103,194,146,176,136,41, -1,24,176,180,206,255,225,104,20,98,187,156,105,80,70,60,12,0,4,208,96,78,0,248,18,194,63,180,136,101,196,18,233,132,234,124,98,75,0,108,189,21,108,221,194,255,12,216,175,103,27,148,17,15,3,0,1,52,20,18,0,174,238,35,3,150,196,192,128,150,211,241,69,60, -169,9,0,87,15,129,129,1,247,197,140,255,7,123,160,2,4,208,80,74,0,184,18,2,250,200,222,95,34,70,253,24,73,176,3,215,216,5,190,132,57,100,0,64,0,13,197,4,64,76,201,64,40,146,73,77,0,164,202,15,25,0,16,96,0,155,121,235,71,10,157,3,42,0,0,0,0,73,69,78,68, +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,67,120,105,84,88,116,88,77,76,58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120, +112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,10,60,120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34, +97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53,54,55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58, +48,50,32,32,32,32,32,32,32,32,34,62,10,32,32,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97, +120,45,110,115,35,34,62,10,32,32,32,32,32,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,10,32,32,32,32,32,32,32,32,32,32,32,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112,58,47, +47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,10,32,32,32,32,32,32,32,32,32,32,32,32,120,109,108,110,115,58,100,99,61,34,104,116,116,112,58,47,47,112,117,114,108,46,111,114,103,47,100,99,47,101,108,101,109,101,110,116, +115,47,49,46,49,47,34,10,32,32,32,32,32,32,32,32,32,32,32,32,120,109,108,110,115,58,112,104,111,116,111,115,104,111,112,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,112,104,111,116,111,115,104,111,112,47,49,46,48,47,34, +10,32,32,32,32,32,32,32,32,32,32,32,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,10,32,32,32,32,32,32,32,32,32,32,32,32,120,109,108,110, +115,58,115,116,69,118,116,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,115,84,121,112,101,47,82,101,115,111,117,114,99,101,69,118,101,110,116,35,34,10,32,32,32,32,32,32,32,32,32,32,32,32,120,109, +108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,10,32,32,32,32,32,32,32,32,32,32,32,32,120,109, +108,110,115,58,116,105,102,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,116,105,102,102,47,49,46,48,47,34,10,32,32,32,32,32,32,32,32,32,32,32,32,120,109,108,110,115,58,101,120,105,102,61,34,104,116,116,112,58,47,47, +110,115,46,97,100,111,98,101,46,99,111,109,47,101,120,105,102,47,49,46,48,47,34,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,62,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49, +52,32,40,77,97,99,105,110,116,111,115,104,41,60,47,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,58,67,114,101,97,116,101,68,97,116,101,62,50,48,49,52,45,49,49,45,49,49,84,49,48,58,49,51,58,53, +56,90,60,47,120,109,112,58,67,114,101,97,116,101,68,97,116,101,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,58,77,111,100,105,102,121,68,97,116,101,62,50,48,49,52,45,49,49,45,49,51,84,49,49,58,50,51,58,51,54,90,60,47,120,109,112,58,77,111,100,105, +102,121,68,97,116,101,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,58,77,101,116,97,100,97,116,97,68,97,116,101,62,50,48,49,52,45,49,49,45,49,51,84,49,49,58,50,51,58,51,54,90,60,47,120,109,112,58,77,101,116,97,100,97,116,97,68,97,116,101,62,10,32, +32,32,32,32,32,32,32,32,60,100,99,58,102,111,114,109,97,116,62,105,109,97,103,101,47,112,110,103,60,47,100,99,58,102,111,114,109,97,116,62,10,32,32,32,32,32,32,32,32,32,60,112,104,111,116,111,115,104,111,112,58,67,111,108,111,114,77,111,100,101,62,51, +60,47,112,104,111,116,111,115,104,111,112,58,67,111,108,111,114,77,111,100,101,62,10,32,32,32,32,32,32,32,32,32,60,112,104,111,116,111,115,104,111,112,58,68,111,99,117,109,101,110,116,65,110,99,101,115,116,111,114,115,62,10,32,32,32,32,32,32,32,32,32, +32,32,32,60,114,100,102,58,66,97,103,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,114,100,102,58,108,105,62,120,109,112,46,100,105,100,58,101,98,102,56,101,56,50,55,45,99,99,101,50,45,52,99,48,53,45,97,97,98,54,45,52,102,100,55,54,50,52,52,51, +56,50,51,60,47,114,100,102,58,108,105,62,10,32,32,32,32,32,32,32,32,32,32,32,32,60,47,114,100,102,58,66,97,103,62,10,32,32,32,32,32,32,32,32,32,60,47,112,104,111,116,111,115,104,111,112,58,68,111,99,117,109,101,110,116,65,110,99,101,115,116,111,114,115, +62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,62,120,109,112,46,105,105,100,58,49,56,101,97,99,100,52,49,45,55,102,54,52,45,52,48,97,57,45,56,99,102,51,45,51,100,51,55,97,101,54,51,57,50,97,52,60,47,120,109, +112,77,77,58,73,110,115,116,97,110,99,101,73,68,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,77,77,58,68,111,99,117,109,101,110,116,73,68,62,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115,104,111,112,58,98,48,97,56,48,51,101,57, +45,97,98,98,51,45,49,49,55,55,45,98,102,54,100,45,102,56,98,101,56,51,57,100,48,101,51,102,60,47,120,109,112,77,77,58,68,111,99,117,109,101,110,116,73,68,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,77,77,58,79,114,105,103,105,110,97,108,68,111,99, +117,109,101,110,116,73,68,62,120,109,112,46,100,105,100,58,52,101,100,98,50,55,97,49,45,57,98,56,53,45,52,102,53,52,45,97,51,101,57,45,100,55,53,98,98,101,97,98,100,99,100,54,60,47,120,109,112,77,77,58,79,114,105,103,105,110,97,108,68,111,99,117,109, +101,110,116,73,68,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,77,77,58,72,105,115,116,111,114,121,62,10,32,32,32,32,32,32,32,32,32,32,32,32,60,114,100,102,58,83,101,113,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,114,100,102,58,108,105, +32,114,100,102,58,112,97,114,115,101,84,121,112,101,61,34,82,101,115,111,117,114,99,101,34,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,97,99,116,105,111,110,62,99,114,101,97,116,101,100,60,47,115,116,69,118,116, +58,97,99,116,105,111,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,105,110,115,116,97,110,99,101,73,68,62,120,109,112,46,105,105,100,58,52,101,100,98,50,55,97,49,45,57,98,56,53,45,52,102,53,52,45,97,51,101,57, +45,100,55,53,98,98,101,97,98,100,99,100,54,60,47,115,116,69,118,116,58,105,110,115,116,97,110,99,101,73,68,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,119,104,101,110,62,50,48,49,52,45,49,49,45,49,49,84,49,48, +58,49,51,58,53,56,90,60,47,115,116,69,118,116,58,119,104,101,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,115,111,102,116,119,97,114,101,65,103,101,110,116,62,65,100,111,98,101,32,80,104,111,116,111,115,104, +111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105,110,116,111,115,104,41,60,47,115,116,69,118,116,58,115,111,102,116,119,97,114,101,65,103,101,110,116,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,47,114,100,102,58,108,105,62,10,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,60,114,100,102,58,108,105,32,114,100,102,58,112,97,114,115,101,84,121,112,101,61,34,82,101,115,111,117,114,99,101,34,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,97,99,116,105,111, +110,62,115,97,118,101,100,60,47,115,116,69,118,116,58,97,99,116,105,111,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,105,110,115,116,97,110,99,101,73,68,62,120,109,112,46,105,105,100,58,52,54,55,53,52,52,56, +54,45,56,49,98,100,45,52,57,57,101,45,57,100,56,50,45,52,56,48,56,51,53,99,55,100,100,98,98,60,47,115,116,69,118,116,58,105,110,115,116,97,110,99,101,73,68,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,119,104,101, +110,62,50,48,49,52,45,49,49,45,49,51,84,49,49,58,48,55,58,53,57,90,60,47,115,116,69,118,116,58,119,104,101,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,115,111,102,116,119,97,114,101,65,103,101,110,116,62,65, +100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105,110,116,111,115,104,41,60,47,115,116,69,118,116,58,115,111,102,116,119,97,114,101,65,103,101,110,116,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,60,115,116,69,118,116,58,99,104,97,110,103,101,100,62,47,60,47,115,116,69,118,116,58,99,104,97,110,103,101,100,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,47,114,100,102,58,108,105,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60, +114,100,102,58,108,105,32,114,100,102,58,112,97,114,115,101,84,121,112,101,61,34,82,101,115,111,117,114,99,101,34,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,97,99,116,105,111,110,62,115,97,118,101,100,60,47,115, +116,69,118,116,58,97,99,116,105,111,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,105,110,115,116,97,110,99,101,73,68,62,120,109,112,46,105,105,100,58,102,48,102,100,48,57,99,49,45,53,97,49,98,45,52,55,99,97, +45,98,48,55,56,45,55,51,99,56,51,51,57,53,57,99,56,98,60,47,115,116,69,118,116,58,105,110,115,116,97,110,99,101,73,68,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,119,104,101,110,62,50,48,49,52,45,49,49,45,49,51, +84,49,49,58,48,57,58,49,56,90,60,47,115,116,69,118,116,58,119,104,101,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,115,111,102,116,119,97,114,101,65,103,101,110,116,62,65,100,111,98,101,32,80,104,111,116,111, +115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105,110,116,111,115,104,41,60,47,115,116,69,118,116,58,115,111,102,116,119,97,114,101,65,103,101,110,116,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,99,104, +97,110,103,101,100,62,47,60,47,115,116,69,118,116,58,99,104,97,110,103,101,100,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,47,114,100,102,58,108,105,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,114,100,102,58,108,105,32,114,100,102, +58,112,97,114,115,101,84,121,112,101,61,34,82,101,115,111,117,114,99,101,34,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,97,99,116,105,111,110,62,100,101,114,105,118,101,100,60,47,115,116,69,118,116,58,97,99,116, +105,111,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,112,97,114,97,109,101,116,101,114,115,62,99,111,110,118,101,114,116,101,100,32,102,114,111,109,32,105,109,97,103,101,47,112,110,103,32,116,111,32,97,112, +112,108,105,99,97,116,105,111,110,47,118,110,100,46,97,100,111,98,101,46,112,104,111,116,111,115,104,111,112,60,47,115,116,69,118,116,58,112,97,114,97,109,101,116,101,114,115,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,47,114,100,102,58,108, +105,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,114,100,102,58,108,105,32,114,100,102,58,112,97,114,115,101,84,121,112,101,61,34,82,101,115,111,117,114,99,101,34,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118, +116,58,97,99,116,105,111,110,62,115,97,118,101,100,60,47,115,116,69,118,116,58,97,99,116,105,111,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,105,110,115,116,97,110,99,101,73,68,62,120,109,112,46,105,105,100, +58,52,102,51,49,54,52,102,99,45,56,100,53,101,45,52,99,99,102,45,97,50,50,50,45,101,57,51,54,53,55,55,49,55,55,54,99,60,47,115,116,69,118,116,58,105,110,115,116,97,110,99,101,73,68,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116, +69,118,116,58,119,104,101,110,62,50,48,49,52,45,49,49,45,49,51,84,49,49,58,49,57,58,53,56,90,60,47,115,116,69,118,116,58,119,104,101,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,115,111,102,116,119,97,114,101, +65,103,101,110,116,62,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105,110,116,111,115,104,41,60,47,115,116,69,118,116,58,115,111,102,116,119,97,114,101,65,103,101,110,116,62,10,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,99,104,97,110,103,101,100,62,47,60,47,115,116,69,118,116,58,99,104,97,110,103,101,100,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,47,114,100,102,58,108,105,62,10,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,60,114,100,102,58,108,105,32,114,100,102,58,112,97,114,115,101,84,121,112,101,61,34,82,101,115,111,117,114,99,101,34,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,97,99,116,105,111,110,62,100, +101,114,105,118,101,100,60,47,115,116,69,118,116,58,97,99,116,105,111,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,112,97,114,97,109,101,116,101,114,115,62,99,111,110,118,101,114,116,101,100,32,102,114,111, +109,32,97,112,112,108,105,99,97,116,105,111,110,47,118,110,100,46,97,100,111,98,101,46,112,104,111,116,111,115,104,111,112,32,116,111,32,105,109,97,103,101,47,112,110,103,60,47,115,116,69,118,116,58,112,97,114,97,109,101,116,101,114,115,62,10,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,60,47,114,100,102,58,108,105,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,114,100,102,58,108,105,32,114,100,102,58,112,97,114,115,101,84,121,112,101,61,34,82,101,115,111,117,114,99,101,34,62,10,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,97,99,116,105,111,110,62,115,97,118,101,100,60,47,115,116,69,118,116,58,97,99,116,105,111,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,105, +110,115,116,97,110,99,101,73,68,62,120,109,112,46,105,105,100,58,49,56,101,97,99,100,52,49,45,55,102,54,52,45,52,48,97,57,45,56,99,102,51,45,51,100,51,55,97,101,54,51,57,50,97,52,60,47,115,116,69,118,116,58,105,110,115,116,97,110,99,101,73,68,62,10,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,119,104,101,110,62,50,48,49,52,45,49,49,45,49,51,84,49,49,58,50,51,58,51,54,90,60,47,115,116,69,118,116,58,119,104,101,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,60,115,116,69,118,116,58,115,111,102,116,119,97,114,101,65,103,101,110,116,62,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105,110,116,111,115,104,41,60,47,115,116,69,118,116,58,115,111,102,116, +119,97,114,101,65,103,101,110,116,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,99,104,97,110,103,101,100,62,47,60,47,115,116,69,118,116,58,99,104,97,110,103,101,100,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,60,47,114,100,102,58,108,105,62,10,32,32,32,32,32,32,32,32,32,32,32,32,60,47,114,100,102,58,83,101,113,62,10,32,32,32,32,32,32,32,32,32,60,47,120,109,112,77,77,58,72,105,115,116,111,114,121,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,77,77, +58,68,101,114,105,118,101,100,70,114,111,109,32,114,100,102,58,112,97,114,115,101,84,121,112,101,61,34,82,101,115,111,117,114,99,101,34,62,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,62,120,109, +112,46,105,105,100,58,52,102,51,49,54,52,102,99,45,56,100,53,101,45,52,99,99,102,45,97,50,50,50,45,101,57,51,54,53,55,55,49,55,55,54,99,60,47,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,62,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116, +82,101,102,58,100,111,99,117,109,101,110,116,73,68,62,120,109,112,46,100,105,100,58,52,102,51,49,54,52,102,99,45,56,100,53,101,45,52,99,99,102,45,97,50,50,50,45,101,57,51,54,53,55,55,49,55,55,54,99,60,47,115,116,82,101,102,58,100,111,99,117,109,101,110, +116,73,68,62,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,82,101,102,58,111,114,105,103,105,110,97,108,68,111,99,117,109,101,110,116,73,68,62,120,109,112,46,100,105,100,58,52,101,100,98,50,55,97,49,45,57,98,56,53,45,52,102,53,52,45,97,51,101,57, +45,100,55,53,98,98,101,97,98,100,99,100,54,60,47,115,116,82,101,102,58,111,114,105,103,105,110,97,108,68,111,99,117,109,101,110,116,73,68,62,10,32,32,32,32,32,32,32,32,32,60,47,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,62,10,32,32, +32,32,32,32,32,32,32,60,116,105,102,102,58,79,114,105,101,110,116,97,116,105,111,110,62,49,60,47,116,105,102,102,58,79,114,105,101,110,116,97,116,105,111,110,62,10,32,32,32,32,32,32,32,32,32,60,116,105,102,102,58,88,82,101,115,111,108,117,116,105,111, +110,62,55,50,48,48,48,48,47,49,48,48,48,48,60,47,116,105,102,102,58,88,82,101,115,111,108,117,116,105,111,110,62,10,32,32,32,32,32,32,32,32,32,60,116,105,102,102,58,89,82,101,115,111,108,117,116,105,111,110,62,55,50,48,48,48,48,47,49,48,48,48,48,60,47, +116,105,102,102,58,89,82,101,115,111,108,117,116,105,111,110,62,10,32,32,32,32,32,32,32,32,32,60,116,105,102,102,58,82,101,115,111,108,117,116,105,111,110,85,110,105,116,62,50,60,47,116,105,102,102,58,82,101,115,111,108,117,116,105,111,110,85,110,105, +116,62,10,32,32,32,32,32,32,32,32,32,60,101,120,105,102,58,67,111,108,111,114,83,112,97,99,101,62,54,53,53,51,53,60,47,101,120,105,102,58,67,111,108,111,114,83,112,97,99,101,62,10,32,32,32,32,32,32,32,32,32,60,101,120,105,102,58,80,105,120,101,108,88, +68,105,109,101,110,115,105,111,110,62,49,50,56,60,47,101,120,105,102,58,80,105,120,101,108,88,68,105,109,101,110,115,105,111,110,62,10,32,32,32,32,32,32,32,32,32,60,101,120,105,102,58,80,105,120,101,108,89,68,105,109,101,110,115,105,111,110,62,49,50, +56,60,47,101,120,105,102,58,80,105,120,101,108,89,68,105,109,101,110,115,105,111,110,62,10,32,32,32,32,32,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,10,32,32,32,60,47,114,100,102,58,82,68,70,62,10,60,47,120,58,120,109,112,109, +101,116,97,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,60,63,120,112,97,99,107,101,116,32,101,110,100,61,34,119,34,63,62,129,236,100,88,0,0,0,32,99,72,82,77,0,0,122,37,0,0,128,131, +0,0,249,255,0,0,128,233,0,0,117,48,0,0,234,96,0,0,58,152,0,0,23,111,146,95,197,70,0,1,0,149,73,68,65,84,120,1,0,255,255,0,0,1,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0, +254,0,0,0,254,0,0,0,254,0,0,0,254,0,0,0,253,0,0,0,254,0,0,0,254,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,4,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,254,0,0,0,253,0,0,0,253,0,0,0,252,0,0,0,252,0,0,0,251,0,0,0,251,0,0,0,250,0,0,0,250,0,0,0,251,0,0,0,252,0,0,0,252,0,0,0,253,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,11,0,0,0,9,0,0,0,8,0,0, +0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,0,0,0,248,0,0,0,247,0,0,0,245,0,0,0,247,0,0,0,248,0,0,0,248,0,0,0,249,0,0,0,248,0,0,0,250,0,0,0,252,0,0,0,253,0,0,0, +255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,9,0,0,0,11,0,0,0,12,0,0,0, +13,0,0,0,13,0,0,0,12,0,0,0,4,0,0,0,0,0,0,0,21,0,0,0,23,0,0,0,22,0,0,0,20,0,0,0,18,0,0,0,16,0,0,0,13,255,255,255,12,255,0,0,9,0,0,1,7,0,0,0,4,0,0,0,0,0,0,0,252,0,0,255,249,1,0,0,247,0,0,0,244,1,1,1,243,0,0,0,240,0,0,0,238,0,0,0,236,0,0,0,234,0,0,0,233, +0,0,0,235,0,0,0,0,0,0,0,252,0,0,0,244,0,0,0,243,0,0,0,243,0,0,0,244,0,0,0,245,0,0,0,247,0,0,0,249,0,0,0,252,0,0,0,253,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,28,28,28,2,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,17,0,0,0,7,0,0,0,8,0,0,0,34,0,0,0,32,0,0,0,31,0,0,0,29,254,254,255,27,252,255,0,5,252,253,0,0,253,255,1,0,0,0,1,0,254,255,0,0,5,5,2,0,6,4,4,0,3,1,255,0,3,1,255,0, +255,0,0,0,0,0,0,0,0,0,0,5,255,255,1,5,253,255,1,12,251,254,255,21,251,249,251,0,254,255,0,0,2,1,0,0,2,0,254,0,4,3,0,0,4,2,0,251,2,2,1,229,1,0,0,227,0,0,0,225,0,0,0,224,0,0,0,222,0,0,0,248,0,0,0,249,0,0,0,239,0,0,0,240,0,0,0,242,0,0,0,244,0,0,0,247,28, +28,28,249,0,0,0,251,228,228,228,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,2,0,0,0,5,0,0,0,8,0,0,0,13,0,0,0,16,0,0,0,18,0,0,0,18,0,0,0,8,0,0,0,23,0,0,0,40,0,0,0,39,0,0,0,37,253,254, +255,27,249,252,0,0,251,254,1,0,3,2,2,0,13,11,5,0,26,11,255,0,30,19,5,0,32,14,248,0,31,21,11,0,24,6,242,0,23,11,251,0,18,15,4,0,10,4,255,0,8,2,251,0,255,0,0,0,0,0,0,0,1,0,0,0,251,255,2,0,246,252,5,0,243,247,252,0,234,241,251,0,232,252,16,0,226,236,250, +0,226,241,2,0,223,238,0,0,231,242,255,5,239,245,252,32,250,251,254,32,4,1,254,61,5,4,0,0,5,2,1,229,1,1,0,219,0,0,0,217,0,0,0,216,0,0,0,233,0,0,0,248,0,0,0,238,0,0,0,238,0,0,0,240,0,0,0,243,28,28,28,248,0,0,0,251,0,0,0,254,228,228,228,255,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,2,0,0,0,5,0,0,0,9,0,0,0,15,0,0,0,18,0,0,0,21,0,0,0,18,0,0,0,17,0,0,0,45,0,0,0,43,0,0,0,43,250,253,255,18,249,251,1,0,1,2,2,0,19,13,4,0,53,25,4,0,51,27,253,0,55,27,254,0,43,21,248,0,29,13,249, +0,0,9,253,0,0,2,251,0,0,0,235,0,0,1,0,0,0,255,255,0,0,254,238,0,0,0,1,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,0,0,1,1,0,0,1,1,0,0,1,243,0,0,255,255,0,0,255,7,0,0,249,1,0,238,246,8,0,218,237,3,0,204,231,6,0,203,228,3,0,209,230,254,0,228,239, +251,27,249,249,253,27,7,4,255,64,7,3,0,238,1,1,1,213,0,0,0,213,0,0,0,211,0,0,0,239,0,0,0,238,0,0,0,235,0,0,0,238,0,0,0,241,0,0,0,247,28,28,28,251,0,0,0,254,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,1,0,0,0,6,0,0,0,9,0,0,0,15, +0,0,0,19,0,0,0,24,0,0,0,14,0,0,0,39,0,0,0,49,0,0,0,48,253,254,255,30,247,250,0,0,1,4,4,0,31,19,5,0,60,32,1,0,72,38,253,0,57,27,246,0,19,16,249,0,0,4,251,0,0,255,253,0,0,253,0,0,0,253,1,0,0,255,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,1,0,0,0,1,255,0,0,4,0,0,0,2,1,0,0,254,5,0,253,246,7,0,205,231,8,0,188,222,6,0,188,221,1,0,214,230,253,0,245,248,250,0,8,4,255,0,7,4,1,226,0,0,0,208,0,0,0,207,0,0,0, +217,0,0,0,242,0,0,0,232,0,0,0,237,0,0,0,241,0,0,0,247,0,0,0,250,0,0,0,255,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,2,0,0,0,4,0,0,0,9,0,0,0,15,0,0,0,20,0,0,0,25,0,0,0,14,0,0,0,50,0,0,0,53,0,0,0,51,249,252,255,12,248,252,2,0,23,16,6,0,64,36,2,0,87, +44,252,0,67,32,245,0,2,11,247,0,0,0,252,0,0,253,0,0,0,253,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,1,0,0,0,1,0,0,0,0,255,0,0,2,255,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,255,255,0,0,254,0,0,0,0,2,0,0,255,0,0,0,255,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,2,255,0,0,4,0,0,0,2,2,0,0,249,8,0,214,233,10,0,174,215,7,0,178,213,0,0,218,232,251,0,1,255,252,0,10,6,0,244,1,1,1,205,0,0,0,203,0,0,0,206,0,0,0,242,0,0,0,231,0,0,0,236,0,0,0,241,0,0,0,247,0,0,0,252,228, +228,228,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228, +0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,28,28,28,1,0,0,0,3,0,0,0,8,0,0,0,15,0,0,0,19,0,0,0,26,0,0,0,17,0,0,0,50,0,0,0,57,0,0,0,55,247,250,255,4,252,0,4,0,44,28,7,0,91,48,254,0,88,43,245,0,18,18,246,0,0,0,250,0,0,251,0,0,0,254,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,0,0,3,255,0, +0,2,0,0,0,2,2,0,0,255,0,0,0,255,6,0,0,250,1,0,254,249,255,0,242,254,11,0,246,252,2,0,247,250,255,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,0,0,11,6,1,0,12,2,246,0,7,6,253,0,0,7,2,0,0,2,249,0,0,1,255,0,0,255,254,0,0,253,0,0,0,253,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,1,255,0,0,4,255,0,0,3,2,0,0,246,10,0,184,220,12,0,158,206,5,0,192,220,251,0,249,248,250,0,11,6,0,252,2,2,1,201,0,0,0,199,0,0,0,206,0,0,0,239,0,0,0,230,0,0,0,237,0,0,0,241,0,0,0,248,0,0,0,253,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,2,0,0,0,5,0,0,0,12,0,0,0,19,0,0,0,27,0,0,0,24,0, +0,0,40,0,0,0,60,0,0,0,59,247,250,255,7,252,0,4,0,55,33,6,0,107,57,254,0,79,39,242,0,0,9,245,0,0,252,255,0,0,252,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,255,0,0,2,255,0,0,4,0,0,0,2,2,0,0,250,6,0,240,243,7,0,218,239,6,0,214,235,5,0,218,236,1,0,223,237,0,0,233, +246,3,0,236,241,246,0,248,254,7,0,249,253,0,0,250,252,255,0,0,0,1,0,255,0,0,0,0,255,0,0,4,2,0,0,7,5,0,0,8,1,251,0,17,13,5,0,21,12,3,0,28,12,250,0,38,23,5,0,40,19,248,0,42,20,253,0,27,15,249,0,0,8,249,0,0,0,253,0,0,253,255,0,0,253,1,0,0,255,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,254,0,0,6,0,0,0,255,8,0,211,227,12,0,149,200,8,0,179,213,254,0,244,246,249,0,12,7,255,249,1,1,1,197,0,0,0,196,0,0,0,216,0,0,0,232,0,0,0,229,0,0,0,237,0,0,0,244,0,0,0,251,228,228,228,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,3,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,30,0,0,0,29,0,0,0,62,0,0,0,63,249,252,255, +20,248,253,3,0,51,31,7,0,118,61,252,0,74,41,242,0,0,6,246,0,0,249,0,0,0,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,254,0,0,5,1,0,0,0,5,0,246,241,9,0,201,229,7,0,191,223,4,0,202,228,1,0,221,236,255,0,239,246,254,0,249,250,252,0,0,0,255,0,254,254,254,0,254,255, +0,0,0,1,3,0,2,1,255,0,10,8,6,0,10,6,0,0,5,0,250,0,2,0,254,0,254,0,3,0,250,254,5,0,246,252,0,0,246,248,251,0,253,254,255,0,0,255,254,0,3,2,1,0,2,2,1,0,5,4,3,0,13,9,3,0,30,17,2,0,47,25,1,0,61,31,253,0,62,30,249,0,26,18,247,0,0,6,248,0,0,253,255,0,0,251, +1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,255,0,0,6,255,0,0,1,6,0,220,230,14,0,139,197,10,0,173,208,250,0,253,251,250,0,11,7,1,236,0,0,0,193,0,0,0,194,0,0,0,227,0,0,0,226,0,0,0,233,0,0,0,240,0,0,0,248,0,0,0,253,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,5,0,0,0,11,0,0,0,20,0,0,0,28,0,0,0,24,0,0,0,57,0,0,0,65,254,255,255,44,243,249,1,0,33,23,10, +0,117,62,255,0,93,48,238,0,0,7,246,0,0,249,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,1,255,0,0,5,255,0,0,2,4,0,247,240,11,0,183,221,10,0,178,216,3,0,202,225,254,0,231,242,252,0,252,252,253,0,6,2,255,0,5,3,0,0,251,253,0,0,250,254,1,0,8,6,5,0,27,17,3,0,46,25,1,0, +47,26,0,0,39,18,248,0,32,17,0,0,20,11,1,0,12,0,244,0,5,0,249,0,251,1,8,0,243,254,11,0,237,246,255,0,223,239,1,0,216,236,6,0,207,229,0,0,211,231,255,0,230,241,252,0,250,251,253,0,6,2,254,0,1,2,1,0,251,253,1,0,0,0,2,0,15,12,5,0,44,24,2,0,71,38,255,0,81, +39,248,0,30,23,245,0,0,2,248,0,0,251,0,0,0,254,2,0,0,0,0,0,0,0,0,0,0,0,255,0,0,5,255,0,0,2,7,0,205,222,14,0,129,191,8,0,193,217,248,0,7,4,253,0,6,3,1,212,0,0,0,191,0,0,0,199,0,0,0,232,0,0,0,228,0,0,0,236,0,0,0,245,0,0,0,251,228,228,228,255,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,2,0,0,0,5,0,0,0,14,0,0,0,25,0,0,0,32,0,0,0,32,0,0,0,69,0,0,0,68,247,250,255,8,2,5,7,0,98,55, +4,0,129,63,243,0,8,15,241,0,0,249,255,0,0,255,2,0,0,0,0,0,0,0,0,0,0,1,255,0,0,6,255,0,0,253,8,0,207,226,13,0,163,209,8,0,184,215,254,0,229,240,250,0,1,255,253,0,8,5,0,0,4,2,1,0,254,254,255,0,246,251,0,0,3,4,6,0,43,26,4,0,73,39,0,0,70,35,249,0,49,23,247, +0,2,10,251,0,0,2,250,0,0,255,0,0,0,254,255,0,0,255,0,0,0,0,1,0,0,0,1,0,0,0,255,0,0,0,255,0,0,1,0,0,0,2,1,0,0,1,1,0,0,253,5,0,250,246,6,0,206,231,8,0,182,218,6,0,185,219,2,0,218,233,249,0,0,253,252,0,9,6,0,0,0,0,0,0,249,251,0,0,250,254,2,0,15,10,5,0,55, +33,5,0,91,46,252,0,82,40,243,0,0,11,245,0,0,252,254,0,0,252,2,0,0,0,0,0,0,0,0,0,0,0,255,0,0,6,255,0,0,254,9,0,167,206,17,0,132,189,1,0,226,237,248,0,14,7,255,248,1,1,1,188,0,0,0,187,0,0,0,224,0,0,0,224,0,0,0,231,0,0,0,242,0,0,0,251,228,228,228,254,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,3,0,0,0,9,0,0,0,16,0,0,0,25,0,0,0,34,0,0,0,50,0,0,0,70,255,255,255,48,242,249,2,0,47,30,8,0,142,74, +250,0,54,36,238,0,0,252,252,0,0,252,2,0,0,0,0,0,0,0,0,0,0,1,255,0,0,7,255,0,0,248,10,0,179,217,14,0,154,202,4,0,200,224,252,0,250,249,251,0,9,5,255,0,4,3,1,0,0,0,0,0,254,254,255,0,243,250,1,0,17,13,7,0,75,41,4,0,95,49,248,0,56,29,244,0,0,8,248,0,0,254, +254,0,0,252,0,0,0,254,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,2,255,0,0,4,0,0,0,2,3,0,0,246,10,0,186,222,12,0,159,206,5,0,189,217,250,0,250,250,250,0,11,6,0,0,1,1,1,0,254,255,255,0,247,250, +0,0,254,1,3,0,36,22,6,0,92,51,0,0,99,48,246,0,14,17,242,0,0,250,253,0,0,254,2,0,0,0,0,0,0,0,0,0,0,1,255,0,0,7,0,0,241,238,16,0,114,186,13,0,173,206,248,0,6,3,252,0,6,3,1,208,0,0,0,186,0,0,0,206,0,0,0,222,0,0,0,231,0,0,0,240,0,0,0,247,228,228,228,253, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,3,0,0,0,11,0,0,0,20,0,0,0,29,0,0,0,25,0,0,0,70,0,0,0,72,250,253,255,24,251,255,4,0,101,58,8,0,138,68,239,0,0,9,243, +0,0,249,1,0,0,0,1,0,0,0,0,0,0,0,255,0,0,7,255,0,0,251,10,0,176,214,15,0,145,197,4,0,206,225,248,0,3,0,253,0,9,5,0,0,1,1,1,0,0,0,0,0,0,0,0,0,245,249,255,0,10,9,7,0,90,51,4,0,111,55,246,0,28,23,243,0,0,255,250,0,0,251,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,1,255,0,0,1,255,0,0,2,255,0,0,2,2,0,0,1,0,0,0,255,255,0,0,254,255,0,0,254,1,0,0,255,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,254,0,0,6,0,0,0,255,7,0,209,225,14,0,137,197,9,0,184,213,250,0,2,255,250,0,8,4,1,0,0,0,0,0,0,0,0,0,249, +252,255,0,247,252,2,0,27,18,8,0,96,53,1,0,110,53,243,0,11,16,241,0,0,249,255,0,0,255,2,0,0,0,0,0,0,0,0,0,0,4,254,0,0,3,7,0,171,206,20,0,121,183,1,0,237,241,246,0,11,7,1,232,0,0,0,184,0,0,0,186,0,0,0,231,0,0,0,227,0,0,0,236,0,0,0,245,0,0,0,253,228,228, +228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,4,0,0,0,11,0,0,0,24,0,0,0,34,0,0,0,27,0,0,0,75,0,0,0,76,246,249,255,3,17,14,8,0,143,77,255,0,78,48,235,0,0,250,252,0,0,254,2,0,0, +0,0,0,0,0,0,0,0,4,254,0,0,3,7,0,195,218,17,0,132,191,5,0,200,222,248,0,4,0,253,0,9,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,253,254,255,0,244,251,3,0,69,41,9,0,136,70,246,0,38,28,240,0,0,253,252,0,0,251,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,255,0,0,3,255,0,0,3,1,0,0, +0,3,0,0,249,6,0,241,245,3,0,234,249,11,0,235,240,245,0,249,248,249,0,10,9,9,0,19,15,9,0,21,7,245,0,15,12,253,0,0,6,250,0,0,0,253,0,0,253,255,0,0,252,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,255,0,0,6,255,0,0,0,8,0,187,214,17,0,121,185,3,0,217,231,247,0,14,7,255, +0,1,1,1,0,0,0,0,0,0,0,0,0,252,253,255,0,244,251,2,0,30,19,7,0,111,61,1,0,103,52,240,0,0,7,244,0,0,249,1,0,0,0,1,0,0,0,0,0,0,1,255,0,0,7,0,0,229,234,19,0,98,175,10,0,197,219,245,0,15,7,255,253,1,1,1,180,0,0,0,181,0,0,0,229,0,0,0,222,0,0,0,232,0,0,0,245, +0,0,0,252,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,4,0,0,0,12,0,0,0,25,0,0,0,36,0,0,0,35,0,0,0,78,0,0,0,64,241,248,0,0,49,32,11,0,162,83,246,0,32,25,237,0,0,248,0,0,0,0,1,0,0,0,0, +0,0,1,255,0,0,7,0,0,237,237,17,0,120,188,11,0,173,208,251,0,0,253,250,0,10,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,248,252,255,0,4,5,7,0,127,70,3,0,104,57,238,0,0,2,245,0,0,250,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,2,254,0,0,6,1,0,0,252,7,0,228,236,10,0,195,226, +8,0,196,225,2,0,213,233,0,0,230,240,252,0,245,251,3,0,247,250,251,0,253,252,253,0,4,4,3,0,9,6,5,0,9,4,253,0,29,18,4,0,41,21,254,0,64,34,0,0,62,30,247,0,23,19,246,0,0,2,249,0,0,251,0,0,0,254,2,0,0,0,0,0,0,0,0,0,0,0,255,0,0,8,255,0,254,244,13,0,109,183, +15,0,164,202,249,0,11,5,253,0,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,250,253,255,0,246,251,2,0,51,32,9,0,133,69,249,0,60,38,240,0,0,251,250,0,0,254,2,0,0,0,0,0,0,0,0,0,0,5,253,0,0,251,14,0,113,183,17,0,158,198,248,0,11,5,252,0,2,2,1,192,0,0,0,178,0,0,0,221, +0,0,0,220,0,0,0,231,0,0,0,244,0,0,0,252,228,228,228,255,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,28,28,28,1,0,0,0,4,0,0,0,12,0,0,0,26,0,0,0,37,0,0,0,41,0,0,0,79,255,255,0,55,241,249,1,0,78,48,11,0,164,81,240,0,2,9,241,0,0,250,2, +0,0,0,0,0,0,0,0,0,0,4,254,0,0,2,8,0,165,204,19,0,129,187,0,0,231,239,247,0,14,7,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,252,255,0,17,12,8,0,159,86,254,0,60,39,234,0,0,248,254,0,0,255,2,0,0,0,0,0,0,0,0,0,0,4,254,0,0,4,3,0,245,239,12,0,171,216, +11,0,174,213,2,0,207,227,253,0,240,246,252,0,3,0,254,0,4,3,255,0,5,2,0,0,1,1,0,0,2,1,1,0,0,0,0,0,255,0,0,0,255,255,255,0,255,255,1,0,251,254,255,0,251,253,1,0,0,0,2,0,18,13,5,0,53,29,2,0,88,46,253,0,82,40,244,0,0,11,245,0,0,250,254,0,0,254,2,0,0,0,0, +0,0,0,0,0,0,4,254,0,0,3,6,0,150,195,22,0,125,183,250,0,6,1,252,0,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,250,255,0,0,4,6,0,98,55,7,0,137,68,240,0,2,10,241,0,0,249,1,0,0,0,1,0,0,0,0,0,0,2,254,0,0,5,8,0,151,196,21,0,124,182,251,0,3,0,250,0,6,3,1,201, +0,0,0,177,0,0,0,215,0,0,0,219,0,0,0,230,0,0,0,244,0,0,0,252,228,228,228,255,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28, +28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,28,28,28,1,0,0,0,4,0,0,0,12,0,0,0,26,0,0,0,37,0,0,0,45,0,0,0,82,255,255,255,48,241,249,3,0,102,60,9,0,142,76,236,0,0,0,246,0,0, +252,2,0,0,0,0,0,0,0,0,0,0,7,254,0,246,242,17,0,107,181,13,0,172,207,248,0,9,4,252,0,6,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253,255,0,9,9,9,0,177,95,251,0,46,31,234,0,0,248,1,0,0,0,1,0,0,0,0,0,0,2,254,0,0,6,2,0,233,235,16,0,146,200,10,0,172, +210,254,0,230,239,250,0,5,2,254,0,8,5,0,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,254,255,0,248,251,0,0,254,0,3,0,36,23,7,0,96,52,254,0,107,52,243,0,2,11,244,0,0,249,0,0,0,0,1,0,0,0, +0,0,0,1,255,0,0,8,2,0,167,202,24,0,108,174,251,0,7,2,252,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,0,242,249,1,0,42,27,10,0,147,77,249,0,55,36,236,0,0,249,255,0,0,255,1,0,0,0,0,0,0,1,255,0,0,7,2,0,176,209,24,0,106,172,255,0,251,251,248,0, +7,4,1,208,0,0,0,174,0,0,0,211,0,0,0,219,0,0,0,230,0,0,0,244,0,0,0,252,228,228,228,255,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,11,0,0,0,25,0,0,0,37,0,0,0,45,0,0,0,84,254,255,255,48,244,250,3,0,119,69,9,0,142,78,234,0,0,254,246,0,0,252,2,0,0,0,0,0,0,1,255, +0,0,8,0,0,202,222,26,0,60,156,12,0,172,206,244,0,15,7,253,0,6,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,249,255,4,0,142,78,1,0,46,32,235,0,0,248,2,0,0,0,1,0,0,0,0,0,0,6,254,0,0,253,11,0,140,188,26,0,56,151,8,0,145,193,247,0,241,245,248, +0,15,8,255,0,10,6,1,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,1,0,11,7,1,0,13,7,254,0,226,236,246,0,121,179,250,0,53,152,15,0,176,207,25,0,0,6,6,0,0,4,254,0,0,0,0,0,0,255,1,0, +0,247,254,0,89,54,233,0,116,66,7,0,245,250,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,0,16,8,0,0,221,231,245,0,77,159,3,0,145,192,26,0,0,5,7,0,0,4,254,0,0,0,0,0,0,255,1,0,0,248,254,0,80,48,231,0,169,92,255,0,12,10,9,0,248,252,255,48,0,0,0,84,0, +0,0,45,0,0,0,37,0,0,0,25,0,0,0,11,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,12,0,0,0,26,0,0,0,37,0,0,0,43,0,0,0,86,255,255,255,48,242,250,3,0,120,69,8,0,123,69,234,0,0,251,249,0,0,254,2,0,0,0,0,0,0,1,254,0,0,6,6,0,160,202,22,0,118,180,253,0,253,249, +249,0,9,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,0,0,0,0,0,0,0,0,1,1,1,0,245,249,255,0,77,48,10,0,162,90,235,0,0,249,250,0,0,0,1,0,0,0,0,0,0,7,255,0,224,231,18,0,96,175,10,0,203,222,247,0,13,6,254,0,4,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,252,255,0,251,254,4,0,88,51,7,0,153,76,242,0,0,8,241,0,0,251,2,0,0,0,0,0,0,1,254,0,0,1,11,0,70,157,18,0,205,223, +245,0,9,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,254,255,0,243,250,2,0,89,54,11,0,155,77,238,0,0,6,242,0,0,251,3,0,0,0,0,0,0,0,255,0,0,8,0,0,202,220,23,0,85,166,3,0,246,246,247,0,7,4,1,208,0,0,0,170,0,0,0,213,0,0,0,219,0,0,0,230,0,0, +0,244,0,0,0,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,9,0,0,0,20,0,0,0,33,0,0,0,35,0,0,0,79,255,255,255,48,242,250,2,0,118,68,9,0,123,69,234,0,0,250,249,0,0,254,2,0,0,0,0,0,0,2,254,0,0,4,8,0,126,183,23,0,111,173,250,0,3,253,249,0,9,6,1,0,0,0,0,0,250,253,255,0,243,249,0,0,241, +249,1,0,249,255,6,0,253,2,8,0,249,255,6,0,240,248,0,0,250,255,4,0,107,54,250,0,0,255,248,0,0,0,1,0,0,0,0,0,0,6,254,0,213,227,20,0,68,158,8,0,209,224,245,0,17,9,255,0,4,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,4,1,0,12,5,253,0,164,202,246,0,68,162,15,0,245,243,17,0,0,4,254,0,0,0,0,0,0,255,2,0,0,6,245,0,114,59,252,0,250,255,3,0,248,250,255,0,246,250, +255,0,247,250,255,0,250,253,255,0,255,255,255,0,0,0,0,0,0,0,0,0,3,2,1,0,16,8,255,0,167,201,244,0,70,161,17,0,241,241,18,0,0,6,254,0,0,0,0,0,0,0,1,0,0,248,0,0,54,36,233,0,170,89,253,0,8,9,8,0,250,253,255,48,0,0,0,79,0,0,0,35,0,0,0,33,0,0,0,20,0,0,0,9, +0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,1,0,0,0,6,0,0,0,21,0,0,0,36,0,0,0,37,0,0,0,90,0,0,0,64,240,248,1,0,102,59,9,0,142,80,235,0,0,250,248,0,0,255,2,0,0,0,0,0,0,4,254,0,0,253,11,0,105,177,19,0,163,202,246,0,15,7,254,0,1,1,1,0,246,250,255,0,254,2,4,0,35,20,5,0,62,34,1,0,54,28,252,0, +36,17,250,0,7,6,4,0,249,250,252,0,205,231,7,0,192,226,8,0,163,77,233,0,5,8,247,0,0,255,1,0,0,2,254,0,248,246,12,0,59,157,16,0,223,232,246,0,11,7,1,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,247,255,0,67,43,13,0,177,91,235,0,0,0,247,0,0,255,1,0,0,2,254,0,250,249,15,0,58,157,19,0,9,0,247,0,19,15,8,0,248,249,250,0, +232,242,254,0,232,242,255,0,245,248,252,0,8,4,254,0,7,4,1,0,0,0,0,0,0,0,0,0,244,249,0,0,36,25,10,0,175,89,246,0,29,24,237,0,0,249,2,0,0,0,0,0,0,0,0,0,0,8,255,0,188,213,25,0,90,167,255,0,3,254,249,0,3,2,1,192,0,0,0,166,0,0,0,219,0,0,0,220,0,0,0,235,0, +0,0,250,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +0,0,0,5,0,0,0,15,0,0,0,32,0,0,0,36,0,0,0,87,0,0,0,79,241,248,0,0,79,49,11,0,164,87,236,0,0,254,246,0,0,254,2,0,0,0,0,0,0,4,254,0,0,253,11,0,92,172,19,0,176,207,246,0,16,8,254,0,247,250,0,0,254,3,6,0,62,36,4,0,105,54,252,0,72,34,244,0,0,11,248,0,0,0,253, +0,0,254,255,0,0,255,255,0,0,1,1,0,0,2,1,0,0,250,9,0,0,254,249,0,0,0,255,0,0,0,0,0,0,7,255,0,157,200,27,0,109,171,248,0,18,10,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,248,2,0,157,86,3,0,88,53,233,0,0,249,1,0,0,0,0,0,0,0,2,0,241,247,13,0,15,8,247,0,0,5,0,0,0,253,254,0,254,251,7,0,215,237,6,0,185, +221,8,0,173,210,0,0,212,230,250,0,5,2,253,0,8,4,1,0,1,0,0,0,245,250,255,0,21,16,8,0,178,94,251,0,39,27,235,0,0,249,2,0,0,0,0,0,0,0,255,0,0,9,1,0,163,201,26,0,109,174,252,0,10,3,250,0,2,1,1,177,0,0,0,169,0,0,0,220,0,0,0,224,0,0,0,241,0,0,0,251,0,0,0,255, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,11,0,0,0,25,0,0,0,34,0,0,0,70, +0,0,0,76,245,249,255,0,50,32,10,0,164,80,239,0,0,0,246,0,0,254,2,0,0,0,0,0,0,2,254,0,0,253,11,0,94,172,19,0,176,207,246,0,13,6,254,0,241,248,2,0,51,32,9,0,125,66,251,0,67,39,236,0,0,2,248,0,0,251,0,0,0,248,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,247,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,14,5,252,0,3,2,1,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,232,242,253,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,254,0,15,11,239,0,0,255,1,0,0,253,0,0,0,0,0,0,2,6,250,0,43,28,0,0,43,31,2,0,114,57,9,0,176,217,14,0,142,196,8,0,207,225,247,0,11,5,254,0,11, +7,1,0,235,240,248,0,78,162,8,0,180,94,21,0,37,27,235,0,0,249,2,0,0,0,1,0,0,248,255,0,93,54,232,0,224,239,26,0,137,187,253,0,16,8,254,76,0,0,0,239,0,0,0,254,0,0,0,249,0,0,0,252,0,0,0,243,0,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,8,0,0,0,20,0,0,0,32,0,0,0,50,0,0,0,72,250,253,255,3,19,15,8,0,166,86,247,0,0,9,243,0,0,252,2,0,0, +0,0,0,0,2,254,0,0,3,9,0,101,176,20,0,174,207,245,0,7,2,253,0,1,4,8,0,129,75,9,0,192,100,238,0,67,41,232,0,0,252,249,0,0,249,2,0,0,254,2,0,0,0,0,0,0,0,255,0,0,2,255,0,0,4,254,0,0,1,255,0,0,0,0,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,255,0,68,33,248, +0,23,15,4,0,253,254,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,255,255,0,0,11,7,4,0,69,37,255,0,0,253,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,2,0,0,255,1,0,0,255,1,0,0,255,1,0,0,254,2,0,0,251,2,0,0,248,0,0,0,2,245,0,80,48,231,0,194,100,238,0,137,77,8,0,7,7,8,0,243,248,255,0,11,6,1,0,235,239,248,0,82,166,7,0, +233,236,19,0,0,6,254,0,0,0,0,0,0,255,1,0,0,250,252,0,125,68,236,0,79,48,10,0,243,248,0,3,0,0,0,72,0,0,0,50,0,0,0,32,0,0,0,20,0,0,0,8,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,16,0,0,0,28,0,0,0,32,0,0,0,70,254,255,255,24,253,1,6,0,148,80,0,0,27,22,237,0,0,250,2,0,0,0,0,0,0,1,255,0,0,5,7,0,123,185,22,0,167,203,245,0,1,0,255,0,37, +26,12,0,184,99,252,0,114,66,230,0,0,2,245,0,0,249,2,0,0,255,1,0,0,0,0,0,0,1,254,0,0,7,254,0,0,6,6,0,249,246,11,0,232,239,19,0,0,254,8,0,0,4,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,1,0,17,18,246,0,64,36,3,0,246,251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,251,255,0,50,29,4,0,43,25,244,0,0,252,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,254,0,0,8,0,0,0,8,255,0,0,5,254,0,0,1,255,0,0,0,0,0,0,255,2,0,0,248,2,0,0,1,245,0,106,63,230,0,195,101,249,0,62,39,11,0,239,248,1,0,9,6,0,0,228,235,246,0,83,168,11,0,248,245,16,0,0,4,253,0,0,0,0,0,0,254,2,0,0,255,246, +0,158,79,242,0,37,26,11,0,247,252,255,24,0,0,0,70,0,0,0,32,0,0,0,28,0,0,0,16,0,0,0,5,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,12,0,0,0,23,0,0,0,24,0,0,0,69,0,0,0,48,242,249,1,0,105,60,6,0,72,44,236,0,0,248,1,0,0,0,0,0,0,0,0,0,0,7,1,0,156,198,21,0,145,191,246,0,0,255,255,0,78,48,12,0,195,100,243,0,46,30,234,0,0,247,254,0,0,254,2,0,0,0,0,0,0, +1,255,0,0,8,255,0,0,253,11,0,176,207,25,0,90,164,21,0,51,151,13,0,53,148,6,0,71,161,20,0,242,243,16,0,0,5,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,255,250,0,95,50,252,0,2,3,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,3,0,97,51,254,0,0,5,248,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,255,0,222,233,18,0,144, +190,24,0,161,199,21,0,219,231,20,0,0,3,8,0,0,7,254,0,0,1,255,0,0,0,0,0,0,255,2,0,0,247,0,0,30,24,237,0,178,94,238,0,117,67,8,0,246,253,4,0,8,4,0,0,211,225,245,0,89,171,14,0,0,254,11,0,0,2,254,0,0,0,0,0,0,252,2,0,7,12,239,0,149,78,250,0,2,3,6,0,254,254, +255,48,0,0,0,69,0,0,0,24,0,0,0,23,0,0,0,12,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,10,0,0, +0,26,0,0,0,43,0,0,0,65,0,0,0,101,247,250,255,8,44,30,11,0,193,99,239,0,0,3,244,0,0,254,2,0,0,0,0,0,0,7,254,0,197,219,22,0,79,160,0,0,245,248,254,0,108,64,10,0,139,74,236,0,0,0,246,0,0,252,2,0,0,0,0,0,0,0,0,0,0,5,254,0,0,253,9,0,169,210,17,0,143,195,1, +0,215,230,250,0,1,0,253,0,8,4,0,0,2,1,0,0,242,248,0,0,65,41,11,0,179,93,238,0,0,2,245,0,0,254,2,0,0,0,0,0,0,0,0,0,0,1,255,0,0,1,9,0,68,156,19,0,207,224,245,0,9,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,252,254,0,32,22,12,0,203,104,240,0,0,3,243,0,0,255,2,0,0,0,0,0,0,0,0,0,0,7,254,0,213,227,22,0,78,162,7,0,230,238,246,0,4,2, +1,0,12,9,5,0,53,31,4,0,106,54,251,0,72,40,241,0,0,4,247,0,0,250,1,0,0,0,1,0,0,0,0,0,0,2,254,0,0,6,4,0,167,203,23,0,114,178,254,0,253,251,248,0,246,252,2,0,110,64,11,0,134,75,232,0,0,249,251,0,0,0,1,0,0,0,0,0,0,8,0,0,134,186,27,0,134,186,247,0,16,8,255, +248,0,0,0,155,0,0,0,191,0,0,0,213,0,0,0,230,0,0,0,246,0,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,15,0,0,0,27, +0,0,0,29,0,0,0,65,254,254,255,8,5,6,7,0,146,75,249,0,0,8,244,0,0,254,2,0,0,0,0,0,0,5,254,0,240,239,17,0,102,173,5,0,243,247,254,0,121,71,10,0,139,76,234,0,0,254,246,0,0,252,2,0,0,0,0,0,0,0,255,0,0,8,255,0,223,233,20,0,78,162,20,0,100,169,251,0,220,233, +247,0,13,7,254,0,12,7,1,0,4,3,1,0,2,2,1,0,16,10,1,0,191,216,247,0,123,188,18,0,0,5,4,0,0,0,255,0,0,0,0,0,0,0,0,0,0,255,1,0,0,6,246,0,103,55,253,0,250,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,253,3,0,106,57,255,0,0,10,244,0,0,255,2,0,0,0,0,0,0,0,0,0,0,5,254,0,239,239,18,0,88,169,7,0,239,242,245,0,19,10,0,0,15,8,255, +0,1,254,249,0,195,217,245,0,87,164,254,0,77,162,20,0,209,225,22,0,0,8,2,0,0,1,254,0,0,0,0,0,0,254,2,0,0,248,253,0,89,54,231,0,167,90,1,0,9,10,10,0,8,2,254,0,149,194,248,0,171,205,20,0,0,8,0,0,0,0,0,0,0,0,0,0,0,250,254,0,122,63,238,0,54,33,8,0,246,250, +255,8,0,0,0,65,0,0,0,29,0,0,0,27,0,0,0,15,0,0,0,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,19,0,0,0,24,0,0,0,62,0,0, +0,44,242,250,1,0,102,58,3,0,47,33,238,0,0,249,1,0,0,0,0,0,0,1,255,0,0,0,9,0,104,179,13,0,214,229,248,0,115,66,9,0,126,70,232,0,0,252,248,0,0,254,2,0,0,0,0,0,0,2,254,0,0,7,3,0,168,203,26,0,63,155,6,0,194,217,245,0,15,7,254,0,8,4,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,15,8,254,0,150,197,251,0,189,215,21,0,0,8,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,1,0,85,42,241,0,43,27,7,0,248,252,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,252,255,0,39,24,9,0,97,47,241,0,0,250,255,0,0,0,0,0,0,0,0,0,0,1,254,0,0,253,11,0,98,176,13,0,226,233,245,0,11,6,1,0,0,0,0,0,0,0,0,0,2,1,1,0,11,7,1,0,13,6,253, +0,196,217,245,0,69,157,3,0,136,187,25,0,0,1,9,0,0,4,254,0,0,0,0,0,0,0,1,0,0,247,255,0,64,41,231,0,171,90,253,0,11,11,10,0,2,254,251,0,119,183,0,0,228,232,19,0,0,5,254,0,0,0,0,0,0,254,2,0,0,5,245,0,140,73,250,0,4,6,7,0,254,255,255,44,0,0,0,62,0,0,0,24, +0,0,0,19,0,0,0,9,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,6,0,0,0,15,0,0,0,26,0,0,0,40,0,0,0,63,249,252,255,0,40,26,10,0,128,62,243, +0,0,250,252,0,0,0,1,0,0,0,0,0,0,7,0,0,157,202,19,0,169,203,247,0,98,59,10,0,134,74,236,0,0,251,251,0,0,254,2,0,0,0,0,0,0,2,254,0,0,3,10,0,125,184,27,0,103,171,251,0,250,248,248,0,12,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1, +0,3,255,250,0,118,183,4,0,251,244,16,0,0,2,254,0,0,0,0,0,0,0,0,0,0,255,1,0,0,9,246,0,107,57,254,0,249,253,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,253,3,0,109,59,254,0,0,10,244,0,0,254,2,0,0,0,0,0,0,0,255,0,0,7,3,0,138,194,18,0,186,214,245,0,13,8,1,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,7,1,0,3,254,249,0,131,184,248, +0,84,165,19,0,247,244,15,0,0,6,254,0,0,0,0,0,0,0,1,0,0,248,1,0,54,36,233,0,161,86,254,0,7,8,8,0,234,239,247,0,108,181,9,0,0,255,9,0,0,1,255,0,0,0,0,0,0,250,1,0,50,34,238,0,95,53,4,0,243,249,1,0,0,0,0,63,0,0,0,40,0,0,0,26,0,0,0,15,0,0,0,6,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,9,0,0,0,20,0,0,0,17,0,0,0,60,0,0,0,20,250,253,3,0,122,64,253,0,2,12,242,0,0,254,2,0,0,0,0,0,0,5,254,0,229,234, +19,0,121,181,254,0,59,38,7,0,157,79,240,0,0,255,247,0,0,254,1,0,0,0,0,0,0,2,254,0,0,2,10,0,103,172,20,0,142,189,245,0,12,5,252,0,4,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,4,1,0,217,231,246,0,121,189,14,0,0,6,4, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,0,93,45,241,0,42,26,7,0,248,252,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,247,250,255,0,48,29,7,0,95,48,240,0,0,249,0,0,0,0,0,0,0,0,0,0,0,6,255,0,206,222,21,0,140,191,252,0,14,6,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,1,0,17,9,255,0,185,213,246,0,64,160,15,0,230,236,20,0,0,7,254,0, +0,0,0,0,0,0,0,0,0,248,0,0,64,42,233,0,137,77,2,0,4,4,4,0,187,214,247,0,154,200,19,0,0,7,1,0,0,0,0,0,0,0,1,0,0,252,252,0,128,63,244,0,29,20,9,0,250,253,255,20,0,0,0,60,0,0,0,17,0,0,0,20,0,0,0,9,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,15,0,0,0,25,0,0,0,50,0,0,0,59,246,249,255,0,60,39,9,0,82,46,240,0,0,249,255,0,0,0,0,0,0,0,255,0,0,1,8,0,114,183,10,0,251,253,0,0,161,83,249,0,0,8,242,0,0,252, +2,0,0,0,0,0,0,2,254,0,0,0,10,0,101,173,19,0,165,202,245,0,17,8,255,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,7,255,0,160,201,251,0,201,220,20,0,0,6,254,0,0,0,0,0,0,0,0,0,0,254,2,0,0,9,246,0,112, +59,253,0,249,253,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,0,4,0,121,64,253,0,0,7,245,0,0,255,1,0,0, +0,0,0,0,2,254,0,0,249,12,0,111,181,4,0,253,251,249,0,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,8,1,0,218,229,244,0,70,160,8,0,217,229,21,0,0,7,254,0,0,0,0,0,0,0,1,0,0,248,255,0,95,55,235,0,101,59,8,0,254, +254,254,0,136,191,255,0,233,235,16,0,0,4,254,0,0,0,0,0,0,252,2,0,11,16,241,0,109,59,0,0,246,251,2,0,0,0,0,59,0,0,0,50,0,0,0,25,0,0,0,15,0,0,0,5,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,9,0,0,0,19,0,0,0,14,0,0,0,57,255,255,255,7,0,4,6,0,120,61,250,0,0,3,246,0,0,255,2,0,0,0,0,0,0,7,255,0,182,211,16,0,170,207,250,0,132,72,1,0,35,28,237,0,0,250,3,0,0,0,0,0,0,1,255,0,0,4,7,0,114,182,19,0,165,202,246,0,16,9, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,0,254,252,249,0,120,185,5,0,0,251,11,0,0,1,254,0,0,0,0,0,0,0,0,0,0,250,255,0,89,46,242,0,48,30,8,0,247,250,255,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,249,255,0,67,41,7,0,74,43,239,0,0,250,1,0,0,0,0,0,0,0,255,0,0,6,3,0,135,195,16,0,206,224,247,0,9,6,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,12,7,1,0,230,235,246,0,82,163,5,0,231,235,19,0,0,6,254,0,0,0,0,0,0,255,1,0,0,250,250,0,139,70,239,0,55,36,11,0,226,236,246,0,124,190,11,0,0,3,6,0,0,0,255, +0,0,0,0,0,0,250,254,0,105,51,241,0,41,26,8,0,249,252,255,7,0,0,0,57,0,0,0,14,0,0,0,19,0,0,0,9,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,15,0,0,0,24,0,0,0,50, +0,0,0,55,246,250,0,0,65,38,5,0,61,36,239,0,0,249,1,0,0,0,0,0,0,1,254,0,0,248,12,0,124,187,3,0,55,32,5,0,107,56,240,0,0,248,254,0,0,0,0,0,0,0,255,0,0,7,1,0,153,198,21,0,155,197,249,0,17,8,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,6,1,0,203,223,247,0,151,202,17,0,0,7,1,0,0,0,0,0,0,0,0,0,0,255,2,0,0,7,245,0,118,62,252,0,253,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,0,8,7,6,0,130,67,247,0,0,0,248,0,0,255,1,0,0,0,0,0,0,6,255,0,217,227,17,0,146,195,253,0,14,7,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,11,7,1,0,230,238,248,0,84,169,11,0,251,245,15,0,0,4,254,0,0,0,0,0,0,254,2,0,0,8,244,0,141,73,249,0,17,12,7,0,172,207,249,0,200,220,16,0,0,6,255,0,0,0,0,0,0,254,2,0,0,10,244,0,109,58,254,0,248,252,2,0,0, +0,0,55,0,0,0,50,0,0,0,24,0,0,0,15,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,8,0,0,0,18,0,0,0,14,0,0,0,53,0,255,255,4,1,4,6,0,111,58,251,0,0,2,249,0,0,0,1,0,0,0,0,0, +0,7,1,0,157,205,15,0,207,228,254,0,129,67,252,0,0,6,245,0,0,255,2,0,0,0,0,0,0,6,255,0,211,225,19,0,128,185,254,0,12,5,252,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,12,5,254,0,142,193,255,0,238,237,17,0,0,4,254,0,0,0,0,0,0,0,0,0,0,250,1,0,77,43,240,0,58,37,7,0,246,249,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,242,249,1,0,94,53,3,0,43,30,239,0,0,251,2,0,0,0,0,0,0,1,255,0,0,254,9,0,119,186,9,0,247,248,249,0,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0, +11,7,1,0,210,225,245,0,97,177,14,0,0,0,8,0,0,1,255,0,0,0,0,0,0,249,1,0,51,34,238,0,92,52,5,0,242,245,252,0,134,193,7,0,0,254,8,0,0,1,255,0,0,0,0,0,0,250,0,0,94,45,243,0,38,25,8,0,249,252,255,4,0,0,0,53,0,0,0,14,0,0,0,18,0,0,0,8,0,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,13,0,0,0,21,0,0,0,39,0,0,0,51,247,251,0,0,53,30,3,0,62,33,241,0,0,250,1,0,0,0,0,0,0,2,254,0,255,244,12,0,138,193,254,0,61,35,3,0,71,39,241,0,0,250,1,0,0, +0,0,0,0,1,254,0,0,251,10,0,115,182,8,0,248,248,248,0,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,1,0,232,240,248,0,128,193,12,0,0,3,6,0,0,0,255,0, +0,0,0,0,0,255,1,0,0,2,247,0,123,63,251,0,0,4,6,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253,255,0,28,18,7,0,126,62,242,0,0,252,253,0,0, +0,0,0,0,0,0,0,0,7,0,0,168,206,16,0,189,216,248,0,12,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,8,0,0,176,209,248,0,157,201,21,0,0,7,1,0,0,0,0,0,0,0, +1,0,0,253,252,0,116,57,245,0,26,20,7,0,191,217,249,0,189,217,16,0,0,5,255,0,0,0,0,0,0,254,1,0,0,11,244,0,97,51,254,0,247,252,2,0,0,0,0,51,0,0,0,39,0,0,0,21,0,0,0,13,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,1,0,0,0,7,0,0,0,16,0,0,0,18,0,0,0,49,0,0,0,12,250,255,3,0,99,53,254,0,0,5,247,0,0,255,1,0,0,0,0,0,0,6,1,0,155,207,13,0,218,232,253,0,103,54,254,0,0,6,247,0,0,255,1,0,0,0,0,0,0,7,1,0,166,208,15,0,198,221,248,0,11,7,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,7,0,0,166,204,250,0,206,222,15,0,0,6,255,0,0,0,0,0,0,0,0,0,0,250,1,0,59,36,239,0,74,43,5,0,245,249,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,251,2,0,118,62,255,0,12,17,244,0,0,252,2,0,0,0,0,0,0,4,255,0,249,241,11,0,132,190,1,0,8,4,253,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,4,253,0,133,190,254,0,235,236,15,0,0,4,254,0,0,0,0,0,0,251,2,0,27,24,242,0,81,44,2,0,246,250,252,0,146,199,5,0,0,254, +8,0,0,0,255,0,0,0,0,0,0,250,255,0,93,46,246,0,24,16,6,0,253,254,255,12,0,0,0,49,0,0,0,18,0,0,0,16,0,0,0,7,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,9,0,0,0,18,0,0,0,17,0,0,0,48,252,253,255, +0,33,21,6,0,83,39,244,0,0,251,0,0,0,0,0,0,0,1,254,0,0,248,11,0,156,203,2,0,33,22,4,0,82,39,245,0,0,250,255,0,0,0,0,0,0,1,255,0,0,247,9,0,147,199,2,0,8,4,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,253,251,250,0,129,191,8,0,0,255,9,0,0,0,255,0,0,0,0,0,0,0,1,0,0,255,249,0,128,64,247,0,10,9,7,0,254,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,250,255,0,56,33,7,0,98,53,240,0,0,249,0,0,0,0,0,0,0,0,0,0,0,4,2,0,132,194,14,0,224,236,249,0,7,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,1,0,235,241,248,0,137,196,11,0,0,3,3,0,0,0,0,0,0,0,0,0,0,254,252,0,97,49,250,0,17,11,4,0,195,221,249,0,202,224,14,0,0,6,255,0,0,0,0,0,0,254,2,0,15,18,244,0,74,42,2,0,246,250,0,0,0,0,0, +48,0,0,0,17,0,0,0,18,0,0,0,9,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,12,0,0,0,18,0,0,0,45,0,0,0,30,245,251,1,0,78,42,2,0,3,13,246,0,0,254,2,0,0,0,0,0,0,6,0,0,182,218,14,0,205,225,249,0,74, +40,2,0,9,15,245,0,0,254,1,0,0,0,0,0,0,6,255,0,185,220,14,0,214,230,250,0,8,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11, +7,1,0,192,218,248,0,178,211,16,0,0,7,255,0,0,0,0,0,0,0,0,0,0,251,1,0,36,28,240,0,93,53,4,0,243,249,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,1,3,4,0,132,69,250,0, +0,6,247,0,0,255,1,0,0,0,0,0,0,6,254,0,218,226,14,0,157,202,254,0,14,7,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,6,255, +0,170,209,253,0,232,235,14,0,0,4,254,0,0,0,0,0,0,251,1,0,49,28,245,0,48,28,6,0,245,247,252,0,155,204,7,0,0,1,6,0,0,0,0,0,0,0,0,0,0,254,252,0,93,46,249,0,5,6,6,0,255,255,255,30,0,0,0,45,0,0,0,18,0,0,0,12,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,7,0,0,0,14,0,0,0,8,0,0,0,43,255,255,255,0,7,6,5,0,86,43,247,0,0,254,253,0,0,0,0,0,0,0,255,0,0,255,7,0,162,207,3,0,1,2,0,0,75,40,253,0,0,0,252,0,0,0,1,0,0,0,0,0,0,255,6,0,167,211,4,0,1,255,253,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,253,0,137,194,4,0,0,248,13,0,0,1,254,0,0,0,0,0,0,0,1,0,0,252,252,0,123, +61,243,0,26,18,8,0,252,253,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,249,1,0,85,48,6,0,56,37,241,0,0,249,1,0,0,0,0,0,0,1,255,0,0,0,7,0,126,190,10,0,246,248,250,0,2,1,1,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,1,0,238,243,251,0,166,212,10,0,0,4,1,0,0,0,0,0,0,255,1,0,0,6,248,0,75,40,255,0,3,2,1,0, +186,217,253,0,233,236,11,0,0,4,254,0,0,0,0,0,0,251,1,0,53,29,245,0,43,26,4,0,249,253,0,0,0,0,0,43,0,0,0,8,0,0,0,14,0,0,0,7,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,9,0,0,0,16,0,0,0,23,0,0,0,43,249,253,0, +0,45,27,4,0,46,26,246,0,0,251,1,0,0,0,0,0,0,4,255,0,226,232,11,0,192,219,251,0,31,18,4,0,58,27,247,0,0,251,0,0,0,0,0,0,0,2,254,0,244,241,10,0,198,223,255,0,9,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,1,0,209,226,248,0,152,204,15,0,0,7,1,0,0,0,0,0,0,0,0,0,0,252,2,0,14,17,241,0,112,60,0,0,245,251,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,253,255,0,20,15,7,0,132,66,245,0,0,253,250,0,0,0,1,0,0,0,0,0,0,6,255,0,183,212,15,0,184,214,250,0,12,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,4,254,0,178,214,1,0,0,249,9,0,0,1,255,0,0,0,0,0,0,253,254,0,69,35,250,0,12,9,5,0,236,242,249,0,171,214,10,0,0,4,1,0,0,0,0,0,0,255,1,0,0,7,248,0,75,39,255,0, +249,252,1,0,0,0,0,43,0,0,0,23,0,0,0,16,0,0,0,9,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,11,0,0,0,17,0,0,0,40,0,0,0,18,249,252,1,0,70,37,255,0,0,7,248,0,0,255,1,0,0,0,0,0,0,4,2,0,173,216,8,0,235,243,251,0, +44,25,2,0,15,14,248,0,0,254,1,0,0,0,0,0,0,5,0,0,192,226,9,0,233,241,250,0,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,10,5,253,0,147,196,255,0,247,241,15,0,0,2,254,0,0,0,0,0,0,0,0,0,0,249,255,0,105,54,240,0,49,31,9,0,247,250,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,251,3,0,115,63,1,0,20, +21,241,0,0,252,2,0,0,0,0,0,0,2,255,0,0,247,11,0,129,189,5,0,4,2,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,7,3,0,0,216,232,253,0,217,233,10,0,0,4,255,0,0,0,0,0,0,252,1,0,44,20,246,0,30,17,3,0,4,0,254,0,176,213,1,0,0,250,9,0,0,1,255,0,0,0,0,0,0,253,254,0,76,38,249,0,9,7,5,0,255,255,0,18,0,0,0,40,0,0,0,17,0,0,0,11,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,6,0,0,0,12,0,0,0,7,0,0,0,39,255,0,0,0,7,6,5,0,71,35,249,0,0,253,254,0,0,0,0,0,0,1,255,0,0,250,7,0,182,216,2,0,3,1,255,0,50,27,1,0,0,4,250,0,0,0,1,0,0,0,0,0,0,1,4,0,194,225,3,0,0,254,254,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,3,1,0,226,237,249,0,142,200,12,0,0,6,3,0,0,0,0,0,0,0,0,0,0,255, +2,0,0,7,245,0,127,67,252,0,254,2,6,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,250,255,0,54,34,9,0,106,55,240,0,0,249,254,0,0,0,0,0,0,0,0,0,0,6,0,0,145,201,14,0,212,229,249,0,8,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,245,248,251,0,192,225,6,0,0,3,1,0,0,0,0,0,0,255,1,0,0,10,251,0,43,25,1,0,1, +1,1,0,212,230,253,0,217,233,9,0,0,4,255,0,0,0,0,0,0,252,1,0,42,23,246,0,39,23,4,0,250,253,255,0,0,0,0,39,0,0,0,7,0,0,0,12,0,0,0,6,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,13,0,0,0,8,0,0,0,37,251,253,255,0,32,19, +3,0,50,24,248,0,0,252,0,0,0,0,0,0,0,4,255,0,220,234,10,0,212,231,253,0,7,5,3,0,46,22,249,0,0,255,254,0,0,0,0,0,0,1,255,0,0,249,4,0,207,228,0,0,5,4,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,6,254,0,156,201,255,0,235,236,15,0,0,4,254,0,0,0,0,0,0,0,0,0,0,249,1,0,67,40,238,0,75,44,5,0,244,249,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,1,4,6,0,135,69,250,0,0,6,245,0,0,255,2,0,0,0,0,0,0,4,254,0,238,237,16,0,147,197,1,0,12,6,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,254,0,201,227,2,0,0,255,5,0,0,0,0,0,0,0,0,0,0,1,252,0,46,23,254,0,253,0,1,0,245,248,250,0,181,219,8,0,0,3,1,0,0,0,0,0,0,255,1,0,0,8,249,0,62,33,0, +0,250,252,1,0,0,0,0,37,0,0,0,8,0,0,0,13,0,0,0,8,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,7,0,0,0,13,0,0,0,34,0,0,0,27,250,252,1,0,52,28,2,0,0,10,248,0,0,255,2,0,0,0,0,0,0,3,1,0,189,223,8,0,243,247,251,0,9,6,1,0,37,20,0, +0,0,254,0,0,0,0,0,0,0,1,255,0,242,246,9,0,225,239,254,0,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,3,2,1,0,236,242,248,0,136,195,10,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,255,249,0,134,67,247,0,14,12,8,0,253,254,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,242,249,1,0,94,54,6,0,55,36,236,0,0,249,1,0,0,0,0,0,0,0, +0,0,0,4,4,0,133,195,13,0,233,240,249,0,4,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,5,3,0,0,215,233,254,0,0,247,4,0,0,1,255,0,0,0,0,0,0,254,254,0,42,22,252,0,3,4,3,0,5,1,255,0,191,221,1,0,0,252,7,0,0,0,255,0,0,0,0,0,0,255,253,0,63,32,252,0,1,2,3,0,0,0,0,27,0,0,0,34,0,0,0,13,0,0,0,7,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,12,0,0,0,32,0,0,0,0,253,0,2,0,59,31,253,0,0,1,253,0,0,0,0,0,0,0,0,0,0,254,6,0,192,222,1,0,3,0,254,0,12,7,2,0,26,7,245,0,0,255,1,0,0,0,0,0,0,3,0,0,225,239,254,0,239,246,254,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,7,255,0,168,206,253,0,222,229,15,0,0,5,254,0,0,0,0,0,0,0,0,0,0,251, +2,0,30,25,239,0,105,57,3,0,243,250,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,252,255,0,31,20,9,0,133,64,242,0,0,253,252,0,0,0,1,0,0,0,0,0,0,5,254,0,215,227,17,0,165,204,251,0,13,7,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,0,0,234,245,1,0,237,247,9,0,0,1,254,0,0,0,0,0,0,255,0,0,30,15,255,0,6,2,0,0,7,5, +0,0,212,231,253,0,236,239,9,0,0,4,255,0,0,0,0,0,0,251,0,0,51,25,249,0,19,13,4,0,254,254,255,0,0,0,0,32,0,0,0,12,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,4,0,0,0,31,255,255,0,0,11,6,3,0,52,26,250,0,0,253, +255,0,0,0,0,0,0,2,254,0,250,243,8,0,211,231,255,0,3,1,255,0,17,12,6,0,16,13,7,0,0,253,255,0,0,0,0,0,0,1,0,0,228,245,12,0,251,251,253,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,0,244,247,250,0,137,196,10,0,0,2,4,0,0,0,255,0,0,0,0,0,0,0,0,0,0,250,253,0,122,59,240,0,41,25,7,0,248,252,255,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,250,254,3,0,127,69,255,0,10,16,241,0,0,252,2,0,0,0,0,0,0,0,255,0,0,1,7,0,131,191,8,0,248,249,249,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,0,242,246,251,0,230,240,250,0,0,3,2,0,0,0,0,0,0,255,1,0,20,6,245,0,9,7,2,0,1,0,0,0,239,244,252,0,203,231,8,0,0,3,0,0,0,0,0,0,0,255,1,0,19,14,248,0,35,20,2,0, +250,254,0,0,0,0,0,31,0,0,0,4,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,9,0,0,0,0,0,0,0,29,253,254,255,0,23,15,3,0,38,17,248,0,0,253,0,0,0,0,0,0,0,4,0,0,213,236,4,0,232,242,253,0,2,3,0,0,9,4,253,0,2,3,252,0,0,0,0, +0,0,0,0,0,0,1,0,0,239,249,3,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,12,7,255,0,175,211,252,0,212,226,17,0,0,6,255,0,0,0,0,0,0,0,0,0,0,254,2,0,0,10,243,0,127,69,255,0,252,254,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,249,255,0,72,43,8,0,85,49,237,0,0,249,0,0,0,0,0,0,0,0,0,0,0,7,255,0,195,219,15,0,183, +214,249,0,11,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0, +252,254,255,0,237,250,12,0,0,1,255,0,0,0,0,0,0,254,255,0,14,10,7,0,13,9,6,0,254,255,0,0,253,254,254,0,200,228,2,0,0,1,3,0,0,0,0,0,0,255,1,0,0,5,251,0,45,24,0,0,251,252,0,0,0,0,0,29,0,0,0,0,0,0,0,9,0,0,0,5,0,0,0,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +0,2,0,0,0,6,0,0,0,11,0,0,0,21,0,0,0,27,250,253,0,0,34,18,0,0,3,9,251,0,0,254,1,0,0,0,0,0,0,1,1,0,207,232,7,0,249,250,252,0,1,0,1,0,1,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,242,245,247,0,254,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,250,248,249,0,141,198,9,0,0,1,7,0,0,0,255,0,0,0,0,0,0,0,0,0, +0,249,1,0,76,43,237,0,73,43,6,0,244,249,255,0,0,0,0,0,0,0,0,0,253,254,255,0,14,12,8,0,140,70,246,0,0,255,247,0,0,255,1,0,0,0,0,0,0,1,255,0,0,253,9,0,135,192,7,0,1,254,252,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,244,253,5,0,0,0,0,0,0,0,0,0,0,255,0,0,6,4,0,0,6,3,0,0,254,0,0,0,5,2,255,0,208,230, +1,0,0,252,5,0,0,0,255,0,0,0,0,0,0,0,253,0,45,24,254,0,254,1,3,0,0,0,0,27,0,0,0,21,0,0,0,11,0,0,0,6,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,9,0,0,0,23,0,0,0,5,253,254,0,0,38,22,2,0,0,4,252,0,0,0,1,0,0,0,0,0,0,1,3,0,211,234,1,0, +2,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,7,0,0,180,212,251,0,205,222,15,0,0,6,255,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,249,0,137,70,247,0,13,12,8,0,253,254,255,0,0,0,0,0,243,250,2,0,117,65,3,0,29,26,239,0,0,251,3,0,0,0,0,0,0,0,0,0, +0,7,255,0,176,210,17,0,197,221,249,0,10,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,0,0,224,239,0,0,251,247,5,0,0,2,255,0,0,0,0,0,0,255,255,0,41,19,250,0,5,4,0,0,0,0,0,5,0,0,0,23,0,0,0,9,0,0,0,6,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0, +0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,8,0,0,0,22,0,0,0,0,254,1,3,0,39,18,249,0,0,0,254,0,0,0,0,0,0,0,255,0,0,250,3,0,217,233,255,0,4,4,0,0,0,0,0,0,255,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,16,12,8,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,251,250,249,0,140,196,6,0,0,0,7,0,0,0,255,0,0,0,0,0,0, +0,0,0,0,251,2,0,30,26,239,0,110,59,2,0,244,250,2,0,246,250,255,0,57,35,9,0,109,55,237,0,0,248,254,0,0,0,0,0,0,0,0,0,0,1,255,0,0,247,11,0,139,194,1,0,5,2,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,7,2,253,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,0,0,254,255,0,0,0,0,0,0,4,2,1,0,235,241,250, +0,226,241,4,0,0,3,0,0,0,0,0,0,0,254,255,0,31,17,254,0,15,10,6,0,254,254,255,0,0,0,0,22,0,0,0,8,0,0,0,5,0,0,0,3,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,7,0,0,0,20,0,0,0,0,4,3,0,0,33,19,5,0,0,254,255,0,0,0,0,0,0,1,255,0,255,251,9,0,232, +244,2,0,3,1,0,0,1,1,0,0,243,250,3,0,251,251,2,0,0,0,0,0,0,0,0,0,0,255,0,0,27,10,248,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,6,1,0,186,217,252,0,205,223,14,0,0,6,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,254,0,117,59,241,0,44,28,8,0,251,0,6,0,141,72,249,0,0,5,246,0,0,255,2,0,0,0,0,0,0, +0,0,0,0,7,0,0,160,208,15,0,209,228,250,0,8,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,3,2,1,0,23,6,244,0,0,0,0,0,0,0,0,0,0,3,0,0,243,247,250,0,244,247,251,0,3,1,0,0,1,0,0,0,247,253,2,0,224,241,7,0,0,1,255,0,0,0,0,0,0,254,1,0,23,9,249,0,14,5,251,0,254,255,0,0,0,0,0,20,0,0,0,7,0,0,0,5,0,0, +0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,0,0,0,0,18,255,255,0,0,7,3,1,0,26,8,242,0,0,255,1,0,0,0,0,0,0,3,0,0,233,242,251,0,237,245,253,0,4,2,0,0,4,2,1,0,237,242,250,0,233,243,1,0,0,4,0,0,0,0,0,0,0,254,0,0,44,22,250,0,16,10,5,0,253, +254,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,0,0,254,251,250,0,137,194,7,0,0,255,8,0,0,1,255,0,0,0,0,0,0,0,0,0,0,254,2,0,0,8,243,0,126,66,253,0,111,64,7,0,46,32,237,0,0,250,1,0,0,0,0,0,0,0,0,0,0,2,254,0,255,244,12,0,146,197,2,0,9,5,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,254,255,0,17,10,5,0,32,18,2,0,0,252,0,0,0,0,0,0,0,1, +0,0,233,247,8,0,242,247,253,0,2,1,1,0,1,1,0,0,251,251,252,0,223,236,251,0,0,2,3,0,0,0,0,0,0,255,1,0,1,5,253,0,24,16,7,0,252,253,0,0,0,0,0,18,0,0,0,0,0,0,0,4,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,0,0,0,0,16,254,255,255,0,12,10, +7,0,20,14,6,0,0,253,255,0,0,0,0,0,0,1,0,0,234,248,10,0,246,249,252,0,1,0,1,0,2,1,0,0,244,248,254,0,210,236,9,0,0,2,0,0,0,0,0,0,0,252,1,0,17,17,246,0,68,39,3,0,235,245,1,0,249,252,255,0,254,255,255,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,6,1,0,189,218,252,0,198,222,16,0,0,5,255,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,249,1,0,73,39,235,0,132,67,234,0,0,250,254,0,0,0,1,0,0,0,0,0,0,0,0,0,0,7,2,0,149,205,15,0,218,232,248,0,7,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,251,0,0,40,23,1,0,15,14,247,0,0,254,1,0,0,0,0,0,0,2,0,0,218,238,5,0,250,252,0,0,1,1,0,0,0,0,0,0,3,0,255,0,232,250,15,0,0,0,1,0,0, +0,0,0,0,255,0,0,0,5,1,0,20,12,2,0,253,255,255,0,0,0,0,16,0,0,0,0,0,0,0,4,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,13,255,255,0,0,9,3,254,0,12,6,254,0,0,0,0,0,0,0,0,0,0,1,255,0,238,250,7,0,254,255,252,0,0,1,254,0,0,0,0,0, +0,255,252,0,187,220,6,0,74,46,3,0,0,0,255,0,0,0,1,0,0,252,250,0,144,70,240,0,9,4,16,0,199,225,255,0,232,241,252,0,246,251,1,0,250,249,251,0,0,0,255,0,2,1,1,0,1,0,0,0,1,0,254,0,1,0,0,0,1,1,0,0,1,0,0,0,1,3,1,0,1,1,0,0,0,0,0,0,2,0,0,0,0,0,255,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,1,0,0,0,0,0,0,0,0,0,254,254,255,0,0,254,0,0,0,0,0,0,254,0,255,0,245,249,249,0,133,192,11,0,181,31,8,0,0,1,249,0,0,255,1,0,0,0,0,0,0,0,1,0,0,255,253,0,0,1,253,0,0,255,1,0,0,0,0,0,0, +0,0,0,0,2,254,0,242,237,16,0,147,197,0,0,7,2,253,0,253,254,1,0,1,0,0,0,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,251,254,0,0,246,254,4,0,94,50,255,0,0,3,249,0,0,252,1,0,0,0,0,0,0,1,3,0,200,226,4,0,255,254,247,0,0,0,0,0,0,0,0,0,1,1,0,0,233,239,247,0,0,254,254,0,0,0,1,0,0,0,1,0,0,1,250,0,14,1,242,0,254,0,2, +0,0,0,0,13,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,12,254,0,1,0,6,255,247,0,7,1,245,0,0,0,2,0,0,0,0,0,0,1,1,0,235,240,245,0,252,252,5,0,1,7,0,0,0,0,0,0,9,5,0,0,182,215,255,0,131,239,13,0,12,13,240,0,0,252, +2,0,0,254,2,0,11,11,244,0,146,82,247,0,0,247,7,0,228,241,7,0,225,242,3,0,227,239,254,0,235,251,15,0,233,240,249,0,236,241,246,0,247,0,11,0,245,252,6,0,247,252,0,0,250,252,254,0,246,247,250,0,245,247,248,0,2,1,0,0,251,0,5,0,254,0,4,0,0,0,255,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,254,0,5,0,250,0,0,0,0,0,0,255,255,0,13,14,11,0,6,4,3,0,2,1,0,0,11,6,3,0,0,0,253,0,9,5,0,0,235,242,10,0,21,14,248,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,2,0,168,213, +9,0,247,249,252,0,21,16,10,0,250,254,1,0,251,253,255,0,247,248,250,0,254,255,255,0,255,0,1,0,0,254,0,0,255,0,0,0,255,0,0,0,0,255,0,0,253,255,255,0,0,0,0,0,1,0,255,0,0,0,0,0,0,0,0,0,2,0,255,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,255,0,0,0,254,0,1,0,0,0,0,0,255,0,1,0,1,1,1,0,3,1,1,0,1,0,254,0,9,7,7,0,16,10,0,0,100,47,4,0,85,45,234,0,0,250,0,0,0,0,0,0,0,1,254,0,0,248,11,0,191,221,255,0,6,5,255,0,0,0,1,0,0,0,0,0,1,1,0,0,236,244,251,0,0,0,3,0,0,0,253,0,0,0,1,0,0,0,254,0,20,14, +8,0,0,0,251,0,0,0,255,12,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,9,255,255,0,0,10,8,4,0,0,2,254,0,0,0,0,0,0,0,0,0,0,1,1,0,242,246,252,0,253,255,3,0,0,0,0,0,0,0,0,0,3,2,1,0,232,240,248,0,133,195,13,0,135, +79,244,0,0,252,253,0,0,0,1,0,0,254,1,0,0,249,254,0,0,3,245,0,28,21,245,0,28,23,0,0,0,2,1,0,0,0,240,0,0,255,255,0,0,0,1,0,0,0,248,0,0,254,2,0,0,253,0,0,0,255,0,0,0,252,253,0,0,251,252,0,0,1,255,0,251,0,9,0,252,0,6,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,253,0,7,0,246,0,0,0,0,0,0,0,0,0,0,6,247,0,0,2,2,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,254,0,0,250,252,0,0,254,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,0,0,102,46,235,0,96,46,8,0,247,254,7,0,247, +253,2,0,247,250,254,0,243,244,246,0,247,252,4,0,247,1,11,0,244,252,5,0,250,254,1,0,243,248,255,0,252,252,253,0,237,239,242,0,0,255,255,0,244,0,13,0,254,0,4,0,0,0,255,0,244,253,6,0,253,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +1,255,0,11,3,251,0,2,0,253,0,11,0,242,0,17,16,13,0,18,13,7,0,21,5,246,0,27,14,247,0,29,14,255,0,8,12,244,0,0,252,253,0,0,255,1,0,0,0,0,0,0,7,0,0,182,209,13,0,216,231,250,0,12,6,1,0,0,0,0,0,0,0,0,0,1,0,255,0,248,0,9,0,0,0,6,0,0,0,247,0,0,0,0,0,0,0,1,0, +13,11,6,0,0,0,251,0,0,0,0,9,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,7,254,254,255,0,12,13,11,0,0,4,242,0,0,255,249,0,0,0,1,0,0,0,1,0,246,1,13,0,1,0,249,0,0,0,0,0,0,0,0,0,0,0,0,0,12,6,0,0,155,199,249,0,40, +22,22,0,95,50,234,0,0,254,253,0,0,0,1,0,0,0,0,0,0,255,2,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,249,0,0,0,0,0,0,1,0,0,0,0,0,0,0,4,0,0,0,5,1,0,0,0,0,0,5,0,246,0,5,0,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,255,249,0,0,0,0,0,0,0,0,0,0,251,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,254,0,6,1,245,0,6,0,244,0,15,2,255,0,0,0,1,0,0,24,1,0,0,0,0,0,0,0,243,0, +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,248,0,0,0,1,0,0,0,0,0,0,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,254,0,0,0,0,0,0,0,253,0,0,255,245,0,0,0,0,0,0,255,1,0,0,255,255,0,0,253,0,0,0,251,2,0,0,0, +1,0,0,0,0,0,0,2,254,0,0,248,12,0,136,194,4,0,4,2,250,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,255,0,247,253,5,0,0,254,1,0,0,0,0,0,0,0,0,0,0,0,0,0,11,5,2,0,0,255,0,0,0,0,0,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +4,0,0,0,0,255,255,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,252,251,251,0,147,198,9,0,90,44,13,0,5,6,239,0,0,254,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,255,0,0, +0,0,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,1,0,0,0,1,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,0,0,253,9,0,108,182,17,0,210,226,247,0,12,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,253,255,0,21,17,10,0,171,88,245,0,5,9,239,0,0,251,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,255,0,202,225,18,0,165,205,254,0,9,5,254,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,253,3, +0,129,69,0,0,33,27,237,0,0,247,2,0,0,0,0,0,0,0,0,0,0,4,254,0,0,3,0,0,0,1,2,0,0,0,4,0,0,254,254,0,0,252,254,0,0,0,8,0,0,0,3,0,0,254,3,0,0,255,0,0,0,1,0,0,255,253,0,0,250,252,254,0,1,0,0,0,255,0,0,0,7,5,2,0,0,2,0,0,0,255,0,0,0,0,1,0,0,1,255,0,0,2,252,0, +0,0,0,0,0,0,251,0,0,255,251,0,0,4,2,0,0,2,1,0,0,1,2,0,0,0,0,0,0,1,254,0,0,0,255,0,0,0,254,0,0,255,255,0,0,0,0,0,0,255,0,0,0,0,0,0,0,252,1,0,0,254,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,0,0,1,255,0,0,0,255, +0,0,2,1,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,254,255,0,0,0,0,0,0,254,255,0,0,0,1,0,0,0,1,0,0,255,0,0,0,255,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,2,0,54,32,232,0,150,80,22,0,107,174,3,0,9,1,254,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,254,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0, +0,0,0,0,0,0,255,0,0,0,254,0,0,0,0,0,0,0,249,2,3,1,5,241,241,244,0,0,251,251,0,0,5,1,0,0,255,0,0,0,0,255,0,11,255,242,0,255,0,9,0,0,0,255,0,0,0,0,0,249,252,255,0,45,28,7,0,90,47,239,0,0,248,255,0,0,0,1,0,0,0,0,0,0,5,0,0,236,238,16,0,200,231,10,0,219,233, +250,0,232,248,11,0,238,247,0,0,235,237,242,0,247,254,7,0,253,0,4,0,247,254,3,0,0,255,0,0,0,1,0,0,250,252,255,0,250,252,255,0,0,1,0,0,0,0,0,0,7,4,1,0,5,3,1,0,0,255,0,0,254,0,0,0,4,1,255,0,8,2,253,0,255,0,0,0,6,1,249,0,3,254,251,0,12,11,9,0,11,10,9,0,9, +6,0,0,8,3,1,0,10,5,250,0,8,0,249,0,10,1,246,0,18,17,15,0,13,8,3,0,12,6,255,0,8,0,248,0,49,22,245,0,11,13,249,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,251,10,0,243,251,8,0,254,0,1,0,247,252,255,0,254,253,0,0,248, +251,250,0,246,246,249,0,2,1,0,0,249,0,7,0,247,0,11,0,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,2,0,8,0,249,0,8,0,245,0,1,1,1,0,14,12,10,0,4,4,2,0,10,5,1,0,8,3,252,0,7,0,247,0,0,5,0,0,0,6,2,0,0,1,250,0,0,0, +254,0,0,0,0,0,0,253,255,0,0,253,1,0,0,255,1,0,0,0,0,0,0,251,254,0,89,54,237,0,188,221,23,0,173,206,246,0,12,7,0,0,0,0,0,0,0,0,0,0,255,0,1,0,9,2,252,0,0,1,254,0,0,0,0,0,0,0,0,0,0,0,0,0,242,250,254,0,0,1,0,0,0,0,0,249,0,0,0,0,0,0,0,254,0,0,0,255,0,0,0, +0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,254,0,0,0,0,0,0,0,247,1,0,0,12,249,252,1,0,0,255,5,0,0,0,249,0,0,0,1,0,0,255,255,0,16,13,9,0,3,2,2,0,0,0,253,0,0,0,0,0,248,252,2,0,80,42,255,0,0,7,246,0,0,248,2,0,0,0,0,0,0,6,254,0,201,222,24,0,86,167,4,0,240, +242,249,0,254,255,0,0,2,0,243,0,1,1,0,0,2,1,3,0,1,2,251,0,1,0,250,0,1,0,255,0,0,0,0,0,0,0,0,0,1,0,1,0,2,1,0,0,254,0,0,0,2,0,0,0,253,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,255,0,0,0,0,0,0,0,255,254,1,0,255,2,5,0,255,254,251,0,255,255,250,0,0,0,0,0, +255,255,0,0,254,0,1,0,0,0,0,0,255,0,9,0,3,2,252,0,2,2,252,0,254,253,255,0,9,8,7,0,203,106,254,0,11,2,247,0,0,254,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,255,0,181,218,16,0,105,176,3,0,10,5,255,0,251,253,255,0,255,255,0,0,250,251, +6,0,249,250,6,0,0,1,0,0,0,0,1,0,255,0,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,0,0,0,4,0,1,255,13,0,1,1,1,0,9,9,7,0,4,2,1,0,6,3,1,0,6,3,253,0,6,0,3,0,18,13,9,0,19,13,5,0,19,4,243,0,32,22,9,0,37,16, +249,0,46,24,253,0,33,20,245,0,0,1,249,0,0,254,1,0,0,255,1,0,0,254,250,0,114,59,247,0,179,212,5,0,255,255,250,0,1,1,1,0,0,0,0,0,255,0,2,0,8,0,246,0,0,0,250,0,0,0,1,0,0,0,0,0,0,0,255,0,241,243,246,0,0,0,0,0,0,0,0,247,0,0,0,0,0,0,0,254,0,0,0,255,0,0,0,0, +0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,253,0,0,0,0,0,0,0,244,2,0,255,21,250,0,9,0,247,255,254,0,9,0,248,0,0,0,1,0,0,255,255,0,19,15,9,0,4,4,251,0,255,255,253,0,0,0,0,0,8,6,2,0,70,34,248,0,0,253,255,0,0,0,1,0,0,1,255,0,0,252,9,0,124,186,5,0,240,241, +244,0,13,8,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, +0,0,0,253,0,0,0,0,0,240,251,0,0,106,59,2,0,29,25,241,0,0,248,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,0,0,0,0,0,0,255,1,0,0,0,0,0,0,0,0,0,0,251,0,0,76,36,240,0,131,12,15,0,218,230,247,0,8,6,1,0,1,0,0,0,0,1,0,0,7,4,1,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,252,248,247,0,251,0,0,0,246,255,0,0,0,0,0,0,254,0,1,0,224,238,246,0,253,253,0,0,254,0,1,0,254,255,247,0,2,1,1,0,10,8,6,0,56,33,11,0,166,82,239,0,9, +10,243,0,0,254,2,0,0,251,1,0,43,24,245,0,47,27,18,0,207,226,0,0,8,4,0,0,0,0,0,0,254,255,255,0,24,17,11,0,0,1,241,0,0,0,0,0,0,0,0,0,0,0,3,0,238,245,255,0,1,0,255,0,0,0,0,244,0,0,0,0,0,0,0,253,0,0,0,255,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0, +253,0,0,0,0,0,0,0,243,2,1,0,0,246,251,0,0,242,248,0,0,0,2,0,0,0,0,0,0,0,255,1,0,20,4,245,0,3,0,253,0,0,0,0,0,253,254,255,0,24,16,6,0,39,19,250,0,0,253,0,0,0,0,0,0,0,4,255,0,215,232,11,0,209,229,251,0,12,7,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,254,255,0,27,19,9,0,111,54,244,0,0,252,253, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,254,0,0,253,11,0,0,254,9,0,0,1,255,0,0,0,0,0,0,0,0,0,0,255,1,0,0,10,246,0,113,60,255,0,252,0,4,0,3,2,1,0,2,2,1,0,2,1,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0, +0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,2,1,0,3,2,1,0,4,3,1,0,4,3,1,0,6,3,0,0,8,4,1,0,11,7,1,0,13,7,0,0,15,8,255,0,13,7,254,0,1,254,249,0,181,210,245,0,147,203,14,0,0,6,2,0,0,0,0,0,0,255,1,0,0,6,250,0,56,32,2,0,251,252,1,0,0,0,0,0,0,0,0,0,254,255, +0,0,23,15,3,0,0,1,1,0,0,0,0,0,0,0,255,0,0,255,6,0,242,254,13,0,2,0,254,0,0,0,0,243,0,0,0,0,0,0,0,253,0,0,0,254,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,252,0,0,0,0,0,0,0,240,1,2,1,0,243,246,249,0,234,241,253,0,0,2,1,0,0,0,0,0,0,255,0,0,24,12, +251,0,14,10,6,0,254,255,255,0,252,255,1,0,24,11,250,0,6,9,250,0,0,255,1,0,0,0,0,0,0,2,0,0,204,231,5,0,247,250,253,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,250,2,0,103,56,0,0,15,18,241,0,0,252,2,0,0,0,0,0,0,0,0,0,0,0,255,0,0,7,3,0,115,187,19,0,139,197,19,0,0,7,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,249,0,0,88,45,242,0,46,28,6,0,248,252,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,0,13,6,255,0,188,220,1,0,0,249,6,0,0,1,255,0,0,0,0,0,0,255,254,0,44,19,247,0,0,1,2,0,0,0,0,0,0,0,0,0,0,1,1,0,25,6,242,0,0,0,254,0,0,0,0,0,0,1,0,0,0,249,253,0,233,242,250,0,3,3,1,0,0,0,0,240,0,0,0,0,0, +0,0,252,0,0,0,254,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,252,0,0,0,0,0,0,0,238,1,0,0,0,252,255,1,0,230,249,13,0,0,0,255,0,0,0,0,0,0,253,0,0,18,11,0,0,17,9,0,0,253,255,0,0,253,253,255,0,23,16,9,0,0,3,255,0,0,255,0,0,0,0,0,0,0,1,3,0,220,234, +253,0,255,255,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,250,253,255,0,33,22,8,0,108,53,243,0,0,250,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,255,0,206,222,19,0,159,200,247,0,148,198,253,0,232,234,17,0,0,5,254,0,0,0,0,0,0,0,0,0,0,255,1,0,0,9,246,0,107,58,254,0,249,252,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,0,0,228,239,253,0,247, +248,8,0,0,1,255,0,0,0,0,0,0,254,254,0,28,18,7,0,4,5,3,0,255,255,0,0,255,255,0,0,6,4,4,0,34,23,8,0,0,253,254,0,0,0,0,0,0,1,255,0,249,252,8,0,236,243,254,0,3,1,0,0,0,0,0,238,0,0,0,0,0,0,0,252,0,0,0,254,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0, +251,0,0,0,249,0,0,0,236,0,0,0,0,252,252,254,0,220,233,248,0,0,2,1,0,0,0,0,0,0,0,1,0,0,6,249,0,28,17,1,0,252,253,0,0,255,0,0,0,14,8,3,0,0,2,1,0,0,0,0,0,0,0,0,0,0,255,3,0,241,254,12,0,4,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,252,3,0,112,59,255,0,6,13,242,0,0,254,2,0,0,0,0,0,0,0,0, +0,0,1,254,0,0,251,12,0,118,184,8,0,0,253,252,0,241,242,248,0,120,188,10,0,0,1,7,0,0,0,255,0,0,0,0,0,0,0,0,0,0,249,0,0,90,45,242,0,46,30,9,0,248,252,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,245,252,3,0,239,249,4,0,0,2,0,0,0,0,0,0,0,0,1,0,15,7,251,0,5,1,254,0,0,0,0,0,255,255,0,0,11,6,1,0, +32,12,246,0,0,255,1,0,0,0,0,0,0,2,0,0,233,243,2,0,240,248,1,0,2,2,0,0,0,0,0,236,0,0,0,249,0,0,0,251,0,0,0,254,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,253,0,0,0,251,0,0,0,248,0,0,0,234,0,0,0,0,2,0,254,0,220,241,9,0,0,255,2,0,0,0,0,0,0,255,1,0,0,4,254, +0,40,20,255,0,253,254,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,252,255,0,44,27,8,0,99,50,241,0,0,250,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,2,0,145,199,16,0,200,223,246,0,10,6,1,0,12,7,1,0,176,210,249,0,185,214,18,0,0,8,255,0,0,0, +0,0,0,0,0,0,0,255,1,0,0,8,246,0,115,60,254,0,251,253,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,252,253,255,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,254,0,0,0,0,0,0,0,0,0,251,254,255,0,24,15,3,0,27,15,254,0,0,253,0,0,0,0,0,0,0,2,0,0,222,240,7,0,245,249,251,0,2,1,1,0,0,0,0,234,0,0,0,248,0, +0,0,251,0,0,0,253,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,250,0,0,0,247,0,0,0,233,0,0,0,251,4,4,0,0,215,232,252,0,0,251,5,0,0,1,255,0,0,0,0,0,0,255,252,0,48,25,254,0,254,1,2,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,253, +3,0,117,62,253,0,0,9,244,0,0,254,2,0,0,0,0,0,0,0,0,0,0,5,253,0,226,231,17,0,140,193,254,0,13,5,254,0,0,0,0,0,0,1,0,0,4,0,252,0,126,187,3,0,0,246,12,0,0,2,254,0,0,0,0,0,0,0,0,0,0,250,255,0,82,43,240,0,49,31,7,0,247,250,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,255,0,0,0,0,0,0,0,0,0,0,0,252,253,0,0,36,20,0,0,0,7,249,0,0,255,1,0,0,0,0,0,0,2,2,0,213,235,2,0,252,253,255,0,0,0,0,251,0,0,0,233,0,0,0,247,0,0,0,250,0,0,0,254,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,250,0,0,0,245,0,0,0,235,0,0,0,229,5, +2,0,0,226,240,2,0,247,246,7,0,0,1,255,0,0,0,0,0,0,254,0,0,49,24,249,0,11,7,3,0,0,0,255,0,244,248,253,0,0,254,255,0,0,0,0,0,0,0,0,0,0,1,254,0,12,3,247,0,253,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,250,255,0,59,35,8,0,82,44,239,0,0,249,1,0,0,0,0,0,0,0,0,0,0,1,255,0,0,0,10,0,117,186,11,0,243,243,248, +0,3,2,1,0,0,0,0,0,0,0,0,0,8,4,1,0,213,229,248,0,136,197,17,0,0,6,2,0,0,0,0,0,0,0,0,0,0,255,2,0,0,6,245,0,115,61,252,0,252,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,6,4,1,0,11,7,1,0,0,254,255,0,0,0,0,0,0,0,255,0,246,252,6,0,253,255,2,0,0,0,0,0,252,255,2,0,51,26,255,0,0,3,252,0,0,0,1,0,0,0,0,0,0, +255,2,0,210,232,3,0,3,0,254,0,0,0,0,229,0,0,0,235,0,0,0,245,0,0,0,250,0,0,0,254,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,251,0,0,0,247,0,0,0,0,0,0,0,227,3,1,1,0,234,243,253,0,214,237,6,0,0,4,0,0,0,0,0,0,0,252,1,0,38,19,250,0,29,18,4,0,253,0, +1,0,234,240,246,0,0,252,254,0,0,1,0,0,0,0,0,0,0,0,253,0,26,13,252,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,3,4,0,123,65,251,0,0,5,247,0,0,255,1,0,0,0,0,0,0,0,0,0,0,7,0,0,170,207,17,0,182,213,248,0,12,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,6,254,0,149,196,252,0,224,230,16,0,0,5,254,0,0,0,0,0, +0,0,0,0,0,250,1,0,77,41,240,0,57,35,8,0,246,250,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,11,3,252,0,16,5,247,0,0,0,2,0,0,0,0,0,0,1,1,0,238,246,252,0,252,255,0,0,0,0,0,0,5,5,2,0,55,29,253,0,0,254,254,0,0,0,0,0,0,1,255,0,0,248,7,0,212,233,255,0,5,3,0,0,0,0,0,227,0,0,0,0,0,0,0,247,0,0,0,251,0,0,0,255, +0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,248,0,0,0,252,0,0,0,225,1,1,0,0,249,250,252,0,202,229,5,0,0,2,1,0,0,0,0,0,0,255,1,0,0,9,250,0,48,26,0,0,252,253,255,0,239,250,8,0,0,254,11,0,0,0,255,0,0,0,0,0,0,254,255,0,34,20,5,0,3,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,245,249,255,0,72,41,7,0,61,37, +239,0,0,249,1,0,0,0,0,0,0,0,0,0,0,4,254,0,246,240,15,0,129,188,1,0,8,2,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,1,0,242,245,249,0,123,190,12,0,0,1,8,0,0,0,255,0,0,0,0,0,0,255,1,0,0,5,247,0,117,60,250,0,254,2,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,253,0,0,25,17,6,0,2,7,253,0,0,255,0,0,0,0,0,0,0,2,2, +0,227,238,253,0,251,251,252,0,253,255,255,0,22,13,4,0,51,23,247,0,0,252,0,0,0,0,0,0,0,3,255,0,228,240,6,0,225,236,253,0,5,3,0,0,0,0,0,225,0,0,0,252,0,0,0,248,0,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,248,0,0,0,244,0, +0,0,224,0,0,0,0,4,1,254,0,197,226,2,0,0,254,5,0,0,0,255,0,0,0,0,0,0,1,251,0,66,34,252,0,2,2,3,0,235,243,252,0,237,244,254,0,0,3,0,0,0,0,0,0,0,254,0,0,38,16,247,0,11,8,4,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,254,255,0,9,9,8,0,128,65,248,0,0,255,249,0,0,0,1,0,0,0,0,0,0,0,255,0,0,4,4,0,122,190,12,0,226,236,248,0, +7,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,1,0,182,212,250,0,186,215,17,0,0,7,255,0,0,0,0,0,0,0,0,0,0,249,1,0,67,40,240,0,66,38,6,0,245,249,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,255,1,0,35,17,252,0,0,5,252,0,0,255,1,0,0,0,0,0,0,255,0,0,224,244,11,0,3,0,255,0,249,251,0,0,51,28,3,0,9,14,247,0,0, +254,1,0,0,0,0,0,0,3,0,0,199,229,8,0,243,247,252,0,2,1,1,0,0,0,0,224,0,0,0,244,0,0,0,248,0,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,0,0,0,249,0,0,0,243,0,0,0,222,0,0,0,229,7,4,0,0,207,227,255,0,248,243,9,0,0,2,255,0,0,0,0,0, +0,252,255,0,66,32,248,0,19,12,5,0,239,246,253,0,220,240,9,0,0,2,0,0,0,0,0,0,0,253,1,0,34,18,251,0,25,15,2,0,251,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,250,1,0,92,53,4,0,38,29,239,0,0,251,1,0,0,0,0,0,0,0,0,0,0,6,255,0,201,219,20,0,163,204,252,0,14,7,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +3,254,250,0,129,189,4,0,0,248,13,0,0,2,254,0,0,0,0,0,0,0,1,0,0,1,248,0,122,63,252,0,3,6,6,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,255,1,0,49,26,255,0,0,1,253,0,0,0,0,0,0,0,255,0,0,255,5,0,217,232,252,0,3,2,255,0,252,0,2,0,70,38,253,0,0,2,250,0,0,0,1,0,0,0,0,0,0,0,4,0,192,223,3,0,1,0,253,0,0,0,0,229,0,0,0,222,0, +0,0,243,0,0,0,249,0,0,0,253,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,248,0,0,0,243,0,0,0,248,0,0,0,219,4,3,1,0,230,241,251,0,200,229,7,0,0,4,0,0,0,0,0,0,0,252,1,0,23,19,248,0,51,30,3,0,242,247,253,0,207,231,3,0,0,2,1,0,0,0,0, +0,0,255,0,0,0,9,250,0,48,27,2,0,250,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253, +255,0,26,18,9,0,124,60,244,0,0,252,251,0,0,0,1,0,0,0,0,0,0,1,254,0,0,250,11,0,121,187,6,0,255,252,250,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,1,0,209,226,247,0,145,201,15,0,0,6,2,0,0,0,0,0,0,0,0,0,0,250,1,0,52,33, +238,0,78,44,5,0,244,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,8,6,4,0,53, +26,250,0,0,253,255,0,0,0,0,0,0,1,0,0,0,247,5,0,221,238,2,0,2,0,255,0,18,12,6,0,72,35,247,0,0,252,0,0,0,0,0,0,0,1,255,0,0,246,9,0,199,225,255,0,6,4,0,0,0,0,0,219,0,0,0,248,0,0,0,243,0,0,0,248,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,255,0,0,0,250,0,0,0,244,0,0,0,249,0,0,0,217,0,0,0,0,254,253,253,0,182,220,6,0,0,2,3,0,0,0,0,0,0,0,1,0,0,3,248,0,82,44,255,0,255,0,1,0,199,226,2,0,0,254,3,0,0,0,0,0,0,0,1,0,0,0,250,0,69,35,253,0,253,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,251,2,0,110,60,1,0,15,18,240,0,0,252,3,0,0,0,0,0,0,0,0,0,0,7,2,0,149,202,17,0,202,222, +246,0,10,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,5,254,0,146,195,255,0,236,236,16,0,0,4,254,0,0,0,0,0,0,0,1,0,0,255,250,0,123,62,247,0,11,8,7,0,254,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,254,255,0,31,18,3,0,47,23,249,0,0,252,1,0,0,0,0,0,0,4,255,0,218,239,8,0,229,240,253,0,252,254,1,0, +53,30,2,0,23,18,246,0,0,252,1,0,0,0,0,0,0,5,255,0,198,229,8,0,224,237,251,0,6,3,1,0,0,0,0,217,0,0,0,249,0,0,0,244,0,0,0,250,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,245,0,0,0,239,0,0,0,216,0,0,0,238,7,4,255, +0,190,220,0,0,0,246,10,0,0,1,254,0,0,0,0,0,0,250,0,0,78,37,246,0,29,18,6,0,203,226,255,0,251,245,9,0,0,2,254,0,0,0,0,0,0,253,0,0,69,33,246,0,21,14,5,0,253,254,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,252,255,0,45,30,9,0,107,53,239,0,0,249,254,0,0,0,0,0,0,0,0,0,0,4,254,0,233,235,17,0,141,192,254,0,12,6,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,1,0,234,241,248,0,130,194,11,0,0,3,4,0,0,0,255,0,0,0,0,0,0,251,1,0,35,27,239,0,93,53,4,0,243,249,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,251,0,0,62,34,1,0,0,11,248,0,0,255,1,0,0,0,0,0,0,3,1,0,194,224,5,0,245,248,251,0,253,1,3,0,85,44,253,0,0,2,250,0,0,0,1,0,0,0,0,0,0,2,3,0,177,216,6,0,251, +251,253,0,0,0,0,238,0,0,0,216,0,0,0,239,0,0,0,245,0,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,0,0,0,247,0,0,0,240,0,0,0,233,0,0,0,213,6,3,0,0,221,234,250,0,191,224,11,0,0,5,0,0,0,0,0,0,0,254,2,0,15,17,243,0,75, +41,2,0,218,234,251,0,197,227,9,0,0,5,0,0,0,0,0,0,0,252,2,0,18,19,246,0,64,36,3,0,247,251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,251,254,3,0,126,64,251,0,0,8,244,0,0,255,2,0,0,0,0,0,0,0,255,0,0,3,6,0,123,189,10,0,237,242,248,0,4,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,7,255,0,168,205,252, +0,209,224,17,0,0,6,255,0,0,0,0,0,0,0,1,0,0,252,253,0,120,60,244,0,24,17,8,0,252,253,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,2,4,4,0,80,41,250,0,0,254,252,0,0,0,0,0,0,0,255,0,0,254,6,0,188,220,3,0,255,255,253,0,30,19,6,0,79,38,246,0,0,251,255,0,0,0,0,0,0,1,254,0,255,244,10,0,185,217,0,0,9,5,255,0,0,0,0,213,0,0,0,233,0,0,0,240,0,0,0,247,0,0,0,253,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,249,0,0,0,242,0,0,0,248,0,0,0,213,0,0,1,0,255,253,252,0,168,210,4,0,0,1,6,0,0,0,255,0,0,0,0,0,0,255,252,0,98,51,249,0,3,2,1,0,172,213,6,0,0,1,4,0,0,0,0,0,0,0,0,0,0,255,250, +0,99,50,249,0,1,3,4,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,249,255,0,74,44,9,0,73,43,239,0,0,250,1,0,0,0, +0,0,0,0,0,0,0,7,255,0,193,216,18,0,174,209,251,0,12,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,251,250,249,0,128,191,8,0,0,255,8,0,0,1,255,0,0,0,0,0,0,252,2,0,17,18,241,0,108, +59,2,0,244,251,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,252,255,0,42,24,7,0,62,32,245,0,0,251,1,0,0,0,0,0,0, +4,255,0,238,239,10,0,204,228,254,0,254,255,1,0,82,46,2,0,8,15,244,0,0,254,2,0,0,0,0,0,0,6,0,0,185,223,13,0,224,235,251,0,6,3,1,0,0,0,0,213,0,0,0,248,0,0,0,242,0,0,0,249,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,252,0,0,0,244,0,0,0,238,0,0,0,211,0,0,0,226,10,5,0,0,187,218,254,0,237,237,11,0,0,4,255,0,0,0,0,0,0,251,1,0,52,31,243,0,64,36,4,0,177,212,254,0,244,239,12,0,0,4,254,0,0,0,0,0,0,250,1,0,59,35,242,0,64,37,6,0,246,249,255,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,254,255,0,11,9,7,0,131,67,246,0,0,0,249,0,0,255,1,0,0,0,0,0,0,1,254,0,0,249,12,0,126,189,5,0,1,253,250,0,1,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,7,1,0,191,216,249,0,179,212,16,0,0,7,255,0,0,0,0,0,0,0,0,0,0,250,254,0,111,53,239,0,42,27,8,0,248,252,255,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,252,2,0,95,52,253,0,0,9,246,0,0,255,1,0,0,0,0,0,0,4,1,0,176,216,9,0,231,239,249,0,17,12,7,0,99,48,246, +0,0,253,253,0,0,0,0,0,0,0,255,0,0,255,6,0,162,207,2,0,1,255,252,0,0,0,0,226,0,0,0,211,0,0,0,238,0,0,0,244,0,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,0,0,0,247,0,0,0,238,0,0,0,239,0,0,0,208,2, +2,1,0,234,242,250,0,166,212,10,0,0,4,2,0,0,0,0,0,0,255,1,0,0,3,248,0,111,59,254,0,228,240,252,0,163,212,11,0,0,4,1,0,0,0,0,0,0,0,1,0,0,2,248,0,128,66,249,0,5,6,7,0,254,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,242,249,1,0,104,58,3,0,36,27,239,0,0,251,1,0,0,0,0,0,0,0,0,0,0,7,1,0,148,202,16,0,206,224,247,0,9,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,252,0,136,191,4,0,0,247,11,0,0,1,255,0,0,0,0,0,0,254,2,0,0,10,245,0,123,66,255,0,252,254,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,252,254,0,40,26,9,0,102,49,243,0,0,250,255,0,0,0,0,0,0,1,255,0,0,250,9,0,167,210,3,0,251,253,254,0,78,44,4,0,32,25,241,0,0,251,2,0,0,0,0,0,0,5,255,0,223,232,13,0,192,219,253,0,9, +6,0,0,0,0,0,208,0,0,0,239,0,0,0,238,0,0,0,247,0,0,0,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,249,0,0,0,240,0,0,0,238,0,0,0,207,0,0,0,244,9,4,254,0,163,206,2,0,0,246,10,0,0,1,254,0,0,0,0,0,0, +250,1,0,74,40,242,0,59,35,5,0,148,196,0,0,0,246,12,0,0,1,254,0,0,0,0,0,0,250,1,0,47,33,239,0,108,61,5,0,241,248,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,248,252,255,0,40,26,9,0,124,61,241,0,0,250,253,0,0,0,1,0,0,0,0,0,0,4,254,0,238,237,16,0,144,194,255,0,11,6,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,8,4,1,0,210,228,248,0,156,206,16,0,0,7,0,0,0,0,0,0,0,0,0,0,0,250,0,0,79,44,238,0,65,40,8,0,245,249,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,255,255,255,0,250,254,5,0,123,66,254,0,0,11,244,0,0,254,2,0,0,0,0,0,0,6,255,0,194,223,15,0,203,223,248,0,16,12,8,0,113,57,246,0,0,254,252,0,0,0,0,0,0,0,0,0,0,3,3,0,155,205,10,0,243,247,250,0,2,1,1,244,0,0,0,207,0,0,0,238,0,0,0,240,0,0,0,249,0,0, +0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,0,0,0,243,0,0,0,235,0,0,0,217,0,0,0,205,7,4,1,0,217,231,248,0,168,213,14,0,0,7,1,0,0,0,0,0,0,255,1,0,0,6,246,0,124,65,254,0,214,233,253,0,145,203, +16,0,0,7,2,0,0,0,0,0,0,0,1,0,0,250,252,0,126,65,236,0,63,40,9,0,243,248,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,252,0,4,0,132,70,253,0,1,10,243, +0,0,254,2,0,0,0,0,0,0,0,255,0,0,4,6,0,128,193,13,0,233,240,247,0,4,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,5,254,0,145,195,0,0,249,241,14, +0,0,2,254,0,0,0,0,0,0,255,1,0,0,1,247,0,132,68,247,0,7,7,7,0,254,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,241,248,1,0,85,50,7,0,81,46,236,0,0,249, +0,0,0,0,0,0,0,1,255,0,0,254,8,0,144,197,5,0,243,247,252,0,84,47,5,0,38,28,243,0,0,251,1,0,0,0,0,0,0,4,254,0,239,237,13,0,170,209,252,0,11,6,255,0,0,0,0,205,0,0,0,217,0,0,0,235,0,0,0,243,0,0,0,251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,248,0,0,0,238,0,0,0,242,0,0,0,203,0,0,0,252,5,3,253,0,147,199,2,0,0,248,10,0,0,1,255,0,0,0,0,0,0,250,1,0,72,42,240,0,74,43,4,0,133,187,252,0,231,235,17,0,0,5,253,0,0,0,0,0,0,254,2,0,0,4,246, +0,166,83,244,0,35,25,11,0,246,249,255,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,249,255,0,81,46,7,0,72,43,238,0,0,249,1,0,0,0,0,0,0,0,0,0,0,6,254,0,210,225,16,0,168,206, +251,0,13,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,3,1,0,223,236,249,0,143,202,13,0,0,6,2,0,0,0,0,0,0,0,0,0,0,250,2,0,43,30,238,0,98, +55,4,0,242,249,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,245,249,255,0,45,31,11,0,151,75,242,0,0,252,249,0,0,255,1,0,0,0,0,0,0,7,0,0,184,214,17,0,186,215,246,0, +26,18,8,0,122,60,244,0,0,254,250,0,0,0,1,0,0,0,0,0,0,4,2,0,148,203,11,0,233,240,250,0,4,2,1,252,0,0,0,203,0,0,0,242,0,0,0,238,0,0,0,248,0,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,251,0,0,0,241,0,0,0,232,0,0,0,206,0,0,0,201,8,4,1,0,210,227,249,0,169,211,15,0,0,7,255,0,0,0,0,0,0,255,1,0,0,1,246,0,134,68,249,0,244,248,255,0,106,179,9,0,0,255,10,0,0,1,255,0,0,0,0,0,0,251,2,0,16,16,239,0,176,90,247,0,25,18,9,0,245,250,255, +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,253,255,0,23,17,9,0,140,71,245,0,0,254,249,0,0,0,1,0,0,0,0,0,0,1,255,0,0,255,10,0,128,190,9,0,251,249,249,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,5,254,0,156,201,255,0,239,237,15,0,0,4,254,0,0,0,0,0,0,0,0,0,0,250,253,0,126,62,243,0,33,22,9,0,249,252,255,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,246,250,255,0,21,16,9,0,170,86,246,0,5,11,241,0,0,254,2,0,0,0,0,0,0,4,254,0,254,244,14,0,125,187,3,0,248,250,254,0,104,59,4,0,28,25,241,0,0, +251,2,0,0,0,0,0,0,4,254,0,239,237,15,0,161,203,255,0,12,6,255,0,0,0,0,201,0,0,0,206,0,0,0,232,0,0,0,241,0,0,0,251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,247,0, +0,0,237,0,0,0,242,0,0,0,199,0,0,0,249,8,3,253,0,141,195,2,0,0,246,12,0,0,2,254,0,0,0,0,0,0,250,3,0,47,33,239,0,107,61,5,0,176,206,248,0,136,190,18,0,0,7,2,0,0,0,255,0,0,0,0,0,0,250,2,0,30,24,236,0,179,95,249,0,26,18,10,0,244,249,255,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,252,3,0,129,70,1,0,19,19,239,0,0,252,2,0,0,0,0,0,0,0,0,0,0,6,255,0,183,213,15,0,190,217,247,0,11,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,1,0,232,240,248,0,143,201,13,0,0,4,3,0,0,0,0,0,0,0,0,0,0,254,2,0,8,15,241,0,129,67,255,0,250,253,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,245,250,255,0,17,13,8,0,174,93,250,0,29,23,237,0,0,250,2,0,0,0,0,0,0,1,255,0,0,4,7,0,112,187,16,0,209,225,246,0,50,31,10,0,123,58,240,0,0,250,253,0,0,0,0,0,0,0,0,0,0,4,3,0,138,198,12,0,233, +241,249,0,3,2,1,249,0,0,0,199,0,0,0,242,0,0,0,237,0,0,0,247,0,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,251,0,0,0,241,0,0,0,231,0,0,0,206,0,0,0,197,7,4,1, +0,214,230,247,0,144,201,16,0,0,6,2,0,0,0,0,0,0,0,0,0,0,250,252,0,132,66,243,0,44,30,8,0,131,186,251,0,177,209,24,0,0,9,1,0,0,0,0,0,0,0,0,0,0,249,2,0,34,25,237,0,186,96,246,0,43,30,12,0,241,248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,243,248,255,0,78,47,9,0,89,51,236,0,0,249,0,0,0,0,0,0,0,0,0,0,0,1,255,0,0,249,11,0,135,193,4,0,3,254,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,6,255,0,163,204,252,0,232,234,14,0,0,4,254,0,0,0,0,0,0,0,0,0,0,248,0,0,82,49,237,0,76,47,9,0,243,248,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,243,249,255,0,26,17,9,0,178,95,251,0,44,30,236,0,0,249,1,0,0,0,0,0,0,0,0,0,0,8,1,0,162,202,22,0,161,198,246,0,11,9,4,0,135,72,253,0,0,11,243,0,0,254,2,0,0,0,0,0,0,6,254,0,219,228,17,0,161,203,252,0,13,6,255,0,0,0,0,197,0,0,0,206,0,0,0,231, +0,0,0,241,0,0,0,251,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,247,0,0,0,236,0,0,0,239,0,0,0,196,0,0,0,236,13,6,255,0,146,196,255,0,233,235,16,0, +0,4,254,0,0,0,0,0,0,254,2,0,7,12,240,0,142,75,253,0,1,0,255,0,105,173,254,0,198,219,23,0,0,8,254,0,0,0,0,0,0,0,0,0,0,249,1,0,26,22,238,0,191,97,242,0,82,50,12,0,240,249,2,0,252,253,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,252, +255,0,28,20,10,0,149,74,243,0,0,254,248,0,0,255,1,0,0,0,0,0,0,0,0,0,0,6,255,0,166,210,15,0,207,226,249,0,9,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,1,0,236,242,249,0,142,198,11,0,0,4,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,255,248,0,140,70,245,0,19,15,9,0,252,253,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,240,247,0, +0,52,33,11,0,189,100,247,0,42,29,235,0,0,248,1,0,0,0,0,0,0,0,0,0,0,8,254,0,197,218,24,0,119,179,252,0,249,252,253,0,97,56,8,0,67,41,237,0,0,249,1,0,0,0,0,0,0,1,255,0,0,0,8,0,123,188,10,0,246,247,249,0,2,2,1,236,0,0,0,196,0,0,0,239,0,0,0,236,0,0,0,247, +0,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,250,0,0,0,241,0,0,0,230,0,0,0,216,0,0,0,193,3,2,1,0,237,241,248,0,120,187,11,0,0,2,6,0,0,1,255, +0,0,0,0,0,0,249,1,0,69,43,235,0,110,63,9,0,234,241,249,0,93,167,2,0,205,222,24,0,0,8,255,0,0,0,255,0,0,0,0,0,0,250,2,0,5,8,240,0,161,87,234,0,141,79,7,0,6,8,8,0,243,248,255,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,254,255,0,254,2,6,0,146,79, +255,0,16,17,239,0,0,252,2,0,0,0,0,0,0,0,0,0,0,1,254,0,0,246,13,0,143,196,2,0,8,3,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,6,255,0,173,211,255,0,237,237,15,0,0,4,253,0,0,0,0,0,0,0,0,0,0,251,2,0,25,22,238,0,131,71,0,0,245,252,4,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,252,255,0,245,253,4,0,102,60,10,0,188,96,239, +0,23,19,238,0,0,249,2,0,0,0,0,0,0,0,0,0,0,8,255,0,207,222,22,0,94,168,1,0,243,245,248,0,49,31,10,0,141,68,239,0,0,251,250,0,0,0,1,0,0,0,0,0,0,7,0,0,174,208,18,0,185,214,248,0,12,7,1,0,0,0,0,193,0,0,0,216,0,0,0,230,0,0,0,241,0,0,0,250,0,0,0,255,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,247,0,0,0,237,0,0,0,232,0,0,0,194,0,0,0,212,12,7,0,0,175,210,249,0,178,211,20,0,0,7,255,0,0,0,0,0,0,0, +1,0,0,250,252,0,134,69,239,0,65,40,13,0,230,238,246,0,81,163,2,0,191,214,24,0,0,9,1,0,0,1,255,0,0,0,0,0,0,252,2,0,0,252,248,0,103,60,230,0,198,103,249,0,84,51,10,0,250,0,6,0,241,248,0,0,250,253,255,0,255,255,0,0,254,254,255,0,241,250,3,0,126,71,6,0,67, +41,232,0,0,249,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,0,159,210,15,0,215,231,248,0,7,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,1,0,234,241,248,0,151,203,11,0,0,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,0,0,91,52,236,0,91,52,7,0,241,247,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,252,255,0,240,248,1,0,34,23,11,0,168,91,3,0,142,80,233,0,0,4,244, +0,0,250,2,0,0,0,0,0,0,0,255,0,0,9,255,0,207,222,21,0,84,166,5,0,237,241,246,0,14,12,9,0,153,81,250,0,1,10,243,0,0,254,2,0,0,0,0,0,0,4,253,0,242,239,16,0,125,186,1,0,7,2,252,0,0,0,0,212,0,0,0,194,0,0,0,232,0,0,0,237,0,0,0,247,0,0,0,255,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,252,0,0,0,241,0,0,0,229,0,0,0,227,0,0,0,191,1,1,0,248,6,1,252,0,118,182,1,0,240,238,18,0,0,4,254,0,0,0,0, +0,0,254,2,0,0,5,243,0,160,81,244,0,29,20,11,0,241,242,247,0,89,166,0,0,162,201,27,0,0,6,5,0,0,2,254,0,0,0,0,0,0,255,1,0,0,248,0,0,28,21,237,0,157,87,235,0,190,100,251,0,101,59,10,0,25,17,9,0,250,255,3,0,249,0,7,0,120,69,9,0,111,61,232,0,0,249,254,0,0, +0,1,0,0,0,0,0,0,0,0,0,0,1,255,0,0,246,11,0,152,200,1,0,8,3,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,5,255,0,167,207,255,0,247,241,14,0,0,2,254,0,0,0,0,0,0,0,0,0,0,0,1,0,0,254,249,0,152,76,239,0,52,34,12,0,238,246,0,0,247,250,255,0,243,248,0,0,243,250,3,0,30,21,10,0,136,77,7,0,202,103,240,0,72,44,232,0,0,249,251,0,0, +254,2,0,0,0,0,0,0,1,255,0,0,9,1,0,187,211,24,0,80,163,4,0,240,242,246,0,255,2,5,0,136,75,2,0,46,31,236,0,0,250,2,0,0,0,0,0,0,1,255,0,0,2,8,0,112,184,12,0,228,236,247,0,6,4,1,248,0,0,0,191,0,0,0,227,0,0,0,229,0,0,0,241,0,0,0,252,0,0,0,255,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,15,0,0,0,32,0,0,0,38,0,0,0,90,0,0,0,76,243,249,255,0,76,47,12,0,165,90,234,0, +0,251,248,0,0,255,2,0,0,0,0,0,0,8,254,0,193,217,25,0,84,162,0,0,255,251,248,0,252,0,5,0,102,59,7,0,138,70,239,0,0,8,244,0,0,249,1,0,0,0,1,0,0,0,0,0,0,0,255,0,0,5,255,0,0,2,4,0,253,244,9,0,216,236,5,0,7,5,1,0,36,24,243,0,0,253,250,0,0,255,2,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,7,255,0,175,207,24,0,94,167,252,0,15,7,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,248,1,0,145,81,6,0,99,59,231,0,0,248,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,254,0,240,241,17,0,114,185,12,0,231,240,252,0,37,22,2,0,72,36,253,0,73,36,245,0,1,11,245,0,0,250,254,0,0,254,2,0,0,0,0,0,0,0,0,0,0,4,254,0,0, +2,8,0,151,198,21,0,126,183,251,0,1,253,249,0,246,252,3,0,110,63,9,0,134,76,233,0,0,250,251,0,0,255,1,0,0,0,0,0,0,8,255,0,165,202,27,0,106,172,250,0,12,6,253,0,1,0,0,180,0,0,0,166,0,0,0,218,0,0,0,224,0,0,0,241,0,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,6,0,0,0,21,0,0,0,37,0,0,0,45,0,0,0,97,0,0,0,48,241,248,1,0,132,77,9,0,111,63,230,0, +0,248,254,0,0,0,1,0,0,0,255,0,0,8,1,0,165,203,26,0,107,173,252,0,9,2,249,0,244,250,2,0,51,32,10,0,145,75,249,0,47,34,237,0,0,251,253,0,0,252,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,254,0,0,3,0,0,0,0,0,0,0,251,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,4, +7,0,78,160,20,0,196,218,246,0,10,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,247,250,255,0,50,32,10,0,187,99,237,0,0,0,248,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,254,0,0,4,6,0,0,254,3,0,0,3,250,0,0,0,253,0,0,251,0,0,0,254,2,0,0,0,0,0,0,0,0,0,0,1,255,0,0,7,0,0,247,240,14,0,108,184,15,0,172,206,247,0,11,4,253,0,242, +249,1,0,84,51,11,0,160,86,235,0,0,254,247,0,0,254,2,0,0,0,0,0,0,6,254,0,218,231,24,0,68,156,2,0,250,249,248,0,4,2,1,208,0,0,0,159,0,0,0,211,0,0,0,219,0,0,0,235,0,0,0,250,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228, +228,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,251,0,0,0,240,0,0,0,228,0,0,0,224,0,0,0,186,0,0,0,232,12,6,254,0,132,186,252,0,194,217,22,0,0,8,0,0,0,0,0,0,0,0,1,0,0,248,255,0,91, +53,232,0,129,73,5,0,246,252,4,0,14,7,255,0,210,226,245,0,72,157,3,0,127,182,27,0,247,245,16,0,0,9,0,0,0,4,254,0,0,0,255,0,0,0,0,0,0,254,2,0,0,251,2,0,0,251,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,255,0,220,231,9,0,203,224,252,0,9,5,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,0,0,208,228,252,0,211, +230,11,0,0,4,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,2,0,0,250,251,0,0,252,248,0,0,249,255,0,0,249,2,0,0,254,2,0,0,0,0,0,0,0,255,0,0,6,254,0,0,4,7,0,178,209,25,0,55,154,12,0,172,204,245,0,13,6,253,0,243,250,1,0,66,41,10,0,160,81,238,0,0,0,247,0,0, +254,2,0,0,0,0,0,0,4,254,0,253,246,15,0,95,171,5,0,244,245,248,0,4,2,1,232,0,0,0,186,0,0,0,224,0,0,0,228,0,0,0,240,0,0,0,251,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,248,0,0,0,236,0,0,0,224,0,0,0,206,0,0,0,184,3,2,1,253,0,253,249,0,101,173,3,0,229,232,19,0,0,6,253,0,0,0,0,0,0,0,1,0,0,249,253,0,111,63,234,0,115,66,8,0,241,249,2,0, +9,5,0,0,1,255,249,0,142,189,246,0,53,151,11,0,144,191,26,0,239,241,17,0,0,7,5,0,0,7,255,0,0,5,254,0,0,4,254,0,0,4,254,0,0,6,254,0,0,7,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,201,232,12,0,243,248,253,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,248,250,252,0,188,224,8,0,0,3,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,1,254,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,255,0,0,2,254,0,0,7,254,0,0,6,6,0,209,224,21,0,84,162,21,0,94,165,251,0,231,238,247,0,14,8,0,0,241,248,0,0,62,39,10,0,178,90,242,0,0,6,244,0,0,252,2,0,0,0,0,0,0,2,254,0,0,0,9,0,94,176,16,0,212,228,246, +0,11,6,1,253,0,0,0,184,0,0,0,206,0,0,0,224,0,0,0,236,0,0,0,248,0,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,0,0,0,245,0,0,0,231,0,0,0,7,0,0,0,186,0,0,0,17,8,4,1,79,235,239,246,0,86,170,11,0,190,97,18,0,7,10,239,0,0,251,2,0,0,255,1,0,0,249,249,0,126,70,234,0,10,4,21,0,131,186,250,0,11,4,252,0,16,8,255,0,234,241,247,0,125,180, +2,0,148,195,9,0,63,36,11,0,69,36,254,0,44,20,248,0,24,12,251,0,2,0,0,0,227,241,3,0,208,239,17,0,95,43,234,0,0,3,246,0,0,255,1,0,0,254,0,0,41,19,249,0,6,6,4,0,254,255,249,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,255,0,0,247,251,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,254,10,0,0,7,248,0,0,2,253,0, +0,255,0,0,0,1,1,0,0,254,6,0,248,242,6,0,190,226,12,0,162,207,4,0,190,218,251,0,251,250,245,0,12,7,1,0,0,0,1,0,239,248,0,0,62,37,11,0,181,90,242,0,0,7,241,0,0,251,2,0,0,0,0,0,0,1,255,0,0,5,7,0,121,180,21,0,177,208,245,0,16,8,0,0,255,0,0,180,0,0,0,186, +0,0,0,222,0,0,0,231,0,0,0,245,0,0,0,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,6,0,0,0,21,0,0,0,36,0,0,0,37,0,0,0,90,1,0,0,64,240,248,255,0,65,41,12,0,178,90,239,0,0,5,243,0,0,252,2,0,0,0,0,0,0,1,255,0,0,6,5,0,151,195,21,0,123,183,253,0,4,0,250,0,6,3,1,0,0,0,0,0,253,254,255,0,247,251,0,0,255,1,3,0, +7,4,0,0,13,9,6,0,1,1,0,0,240,245,250,0,253,1,6,0,210,109,247,0,29,22,238,0,0,251,2,0,0,0,255,0,0,6,3,0,123,182,26,0,142,191,246,0,18,8,254,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,250,254,0,19,15,10,0,199,102,245,0,19,17,240,0,0,252,2,0,0,1,255,0,0,255,9,0,87,172,26,0,12,1,244,0,45,25,1,0,6,4,4,0,232,240,247,0, +219,240,9,0,210,229,253,0,229,239,251,0,1,255,253,0,10,6,0,0,1,1,1,0,255,255,0,0,241,249,1,0,77,46,10,0,167,84,241,0,0,6,241,0,0,252,2,0,0,0,0,0,0,1,255,0,0,6,3,0,143,192,24,0,126,182,249,0,14,6,254,0,1,1,0,192,0,0,0,166,0,0,0,219,0,0,0,220,0,0,0,235, +0,0,0,250,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +255,0,0,0,251,0,0,0,240,0,0,0,227,0,0,0,10,0,0,0,178,255,0,0,9,15,8,1,55,190,215,245,0,90,173,18,0,166,86,254,0,0,4,245,0,0,252,2,0,0,255,1,0,0,250,251,0,105,62,232,0,23,12,23,0,109,175,7,0,247,251,249,0,9,4,1,0,3,2,1,0,12,7,0,0,0,0,254,0,255,255,0,0, +246,247,247,0,0,0,0,0,7,2,1,0,244,249,248,0,172,217,11,0,113,26,240,0,0,251,0,0,0,0,1,0,0,251,252,0,133,70,235,0,246,251,21,0,155,197,248,0,12,5,252,0,4,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,245,249,255,0,18,14,10,0,167,88,251,0,19,20,241,0,0,249,2,0,0,0,0,0,0,4,255,0,222,232,9,0,190,214,244,0,248,249,250,0,170,2,2,0,2,0,252,0,254, +255,255,0,4,1,245,0,7,4,0,0,12,6,1,0,0,0,1,0,0,0,0,0,254,254,255,0,242,250,2,0,100,59,10,0,144,74,236,0,0,3,246,0,0,252,2,0,0,0,0,0,0,1,255,0,0,8,2,0,154,195,25,0,129,183,251,0,13,6,253,0,1,1,1,201,0,0,0,178,0,0,0,229,0,0,0,227,0,0,0,240,0,0,0,251,0, +0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254, +0,0,0,247,0,0,0,236,0,0,0,223,0,0,0,221,0,0,0,177,0,0,0,208,16,8,0,0,179,208,245,0,96,172,19,0,0,252,12,0,0,5,254,0,0,0,0,0,0,255,1,0,0,248,254,0,82,50,231,0,182,98,255,0,28,19,10,0,243,248,255,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,3,2,1,0,3,2,1,0,1,1,0, +0,9,5,255,0,153,199,254,0,240,238,16,0,0,5,253,0,0,0,0,0,0,255,2,0,0,0,247,0,143,79,233,0,140,79,5,0,4,6,8,0,244,249,255,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,253,255,0,239,248,1,0,53,34,12,0,189,100,250,0,51,34,235,0,0,249,1,0,0,0,0,0,0,0,255,0,0,3,4,0,146,201,10,0,250,251,251,0,15,9,1,0,15,7,255,0,13,7,254,0,15,8,0,0,11,7,1,0,4,3,1,0,0,0,0, +0,0,0,0,0,248,252,255,0,250,1,7,0,136,78,9,0,144,79,233,0,0,1,246,0,0,252,2,0,0,0,0,0,0,1,255,0,0,7,2,0,158,198,25,0,121,182,251,0,9,4,250,0,2,1,1,208,0,0,0,177,0,0,0,221,0,0,0,223,0,0,0,236,0,0,0,247,0,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,253,0,0,0,245,0,0,0,231,0,0, +0,220,0,0,0,215,0,0,0,174,0,0,0,210,15,8,255,0,172,206,245,0,84,168,18,0,0,249,13,0,0,5,253,0,0,0,0,0,0,0,1,0,0,248,1,0,47,32,232,0,197,100,244,0,72,45,11,0,240,248,2,0,253,254,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,1,0,232,238,248,0,106,179, +12,0,0,0,10,0,0,2,254,0,0,0,0,0,0,254,2,0,0,251,250,0,104,61,231,0,194,102,250,0,73,44,10,0,247,254,6,0,245,249,255,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,249,252,255,0,240,248,1,0,21,15,9,0,140,79,8,0,186,97,237,0,32,22,235,0,0,249,1,0,0,0,0,0,0,0,0,0,0,9,255,0,187,212,20,0,164,204,251,0,12,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,248,255,0,25,18,11,0, +174,94,255,0,108,63,230,0,0,251,250,0,0,254,2,0,0,0,0,0,0,1,254,0,0,7,6,0,150,194,26,0,114,177,252,0,6,0,250,0,3,2,1,210,0,0,0,174,0,0,0,215,0,0,0,220,0,0,0,231,0,0,0,245,228,228,228,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,28,28,28,1,0,0,0,4,0,0,0,12,0,0,0, +26,0,0,0,37,0,0,0,45,0,0,0,82,0,0,0,48,241,248,0,0,58,36,10,0,173,88,245,0,12,15,238,0,0,249,2,0,0,0,0,0,0,0,0,0,0,4,254,0,0,0,9,0,148,197,20,0,134,189,253,0,247,247,248,0,11,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,241,248,1,0,104,61,10,0,139,77, +235,0,0,254,247,0,0,252,2,0,0,0,0,0,0,0,0,0,0,5,254,0,0,0,8,0,197,221,14,0,146,198,6,0,193,220,253,0,245,248,250,0,8,4,255,0,6,3,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,253,253,255,0,247,251, +0,0,1,2,4,0,37,24,5,0,92,50,1,0,102,48,243,0,9,16,242,0,0,249,255,0,0,255,2,0,0,0,0,0,0,0,255,0,0,8,255,0,215,227,21,0,77,161,5,0,242,245,248,0,6,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,253,255,0,247,252,3,0,81,48,9,0,148,74,244,0,14,16,238, +0,0,249,1,0,0,0,1,0,0,0,0,0,0,4,254,0,0,1,8,0,129,186,21,0,142,191,249,0,11,5,252,0,2,1,1,208,0,0,0,174,0,0,0,211,0,0,0,219,0,0,0,230,0,0,0,244,0,0,0,252,228,228,228,255,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,28,28,28,1,0,0,0,4,0,0,0,12,0,0,0, +26,0,0,0,37,0,0,0,41,0,0,0,79,0,0,0,55,244,249,0,0,37,25,10,0,165,86,249,0,38,28,235,0,0,248,0,0,0,0,1,0,0,0,0,0,0,1,255,0,0,7,1,0,215,227,20,0,114,182,7,0,195,219,248,0,12,5,253,0,4,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,241,249,1,0,86,52,10,0,157, +79,239,0,0,7,242,0,0,250,3,0,0,0,0,0,0,0,0,0,0,0,255,0,0,6,255,0,0,255,7,0,217,229,12,0,169,214,10,0,183,216,254,0,221,236,253,0,247,248,252,0,3,1,255,0,4,3,255,0,4,2,1,0,2,1,0,0,0,255,255,0,0,1,1,0,254,255,0,0,252,254,255,0,253,253,1,0,252,255,1,0,5, +5,2,0,27,15,5,0,60,34,1,0,81,42,252,0,70,33,243,0,0,11,247,0,0,250,254,0,0,254,2,0,0,0,0,0,0,0,0,0,0,1,254,0,0,8,2,0,197,218,23,0,97,170,2,0,238,243,247,0,9,4,1,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,242,249,1,0,25,17,8,0,127,69,0,0,91,52, +237,0,0,254,248,0,0,252,2,0,0,0,0,0,0,0,0,0,0,6,253,0,0,249,14,0,103,178,17,0,165,203,246,0,15,7,254,0,1,1,1,201,0,0,0,177,0,0,0,215,0,0,0,219,0,0,0,230,0,0,0,244,0,0,0,252,228,228,228,255,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0, +0,28,28,28,1,0,0,0,4,0,0,0,12,0,0,0,25,0,0,0,36,0,0,0,35,0,0,0,78,1,0,0,64,246,250,255,0,12,11,9,0,148,81,0,0,77,46,233,0,0,250,252,0,0,254,2,0,0,0,0,0,0,0,0,0,0,6,254,0,0,251,10,0,156,203,18,0,139,194,0,0,229,238,247,0,13,6,255,0,3,2,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,241,248,0,0,50,32,9,0,152,79,248,0,41,29,239,0,0,250,253,0,0,254,2,0,0,0,0,0,0,0,0,0,0,0,255,0,0,5,255,0,0,3,3,0,0,247,8,0,212,234,9,0,195,225,5,0,205,230,3,0,221,238,1,0,234,240,251,0,246,249,254,0,0,2,3,0,0,0,253,0,7,4,0,0,24,16,8,0,30, +13,252,0,48,28,0,0,56,28,251,0,52,23,248,0,6,14,247,0,0,0,252,0,0,250,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,255,0,0,7,255,0,0,251,10,0,147,199,19,0,133,187,252,0,253,252,249,0,8,4,1,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,246,249,255,0,2,5,6,0,88,49,5,0,132, +66,244,0,17,19,240,0,0,249,0,0,0,255,1,0,0,0,0,0,0,0,255,0,0,8,255,0,232,235,18,0,93,173,12,0,200,220,245,0,15,8,0,0,0,0,0,192,0,0,0,178,0,0,0,221,0,0,0,220,0,0,0,231,0,0,0,244,0,0,0,252,228,228,228,255,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228, +228,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,4,0,0,0,11,0,0,0,24,0,0,0,34,0,0,0,27,0,0,0,75,0,0,0,76,250,253,255,3,252,0,6,0,111,63,7,0,127,65,236,0,0,5,244,0,0,250,3,0,0,0,0,0,0,0,0,0,0,1,254,0,0,7,2,0,240,238,15,0,135,196,12,0,165,205,253,0,241,245, +249,0,13,6,255,0,2,2,1,0,0,0,0,0,0,0,0,0,246,250,255,0,9,8,8,0,111,62,3,0,118,57,240,0,0,11,244,0,0,250,255,0,0,254,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,0,0,4,255,0,0,3,1,0,0,254,3,0,0,251,8,0,248,245,252,0,241,252,9,0,255,1,2,0,1,0,254,0,14,2,247,0,9, +12,4,0,0,5,248,0,0,2,254,0,0,254,254,0,0,252,0,0,0,254,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,6,255,0,0,1,6,0,205,222,14,0,125,190,10,0,195,218,246,0,12,5,254,0,3,2,1,0,0,0,0,0,0,0,0,0,255,255,0,0,247,251,255,0,254,0,3,0,62,38,8,0,124,64,249,0,54,35, +240,0,0,253,250,0,0,252,2,0,0,0,0,0,0,0,0,0,0,2,254,0,0,6,4,0,185,212,22,0,109,177,1,0,235,240,247,0,11,7,1,253,0,0,0,180,0,0,0,181,0,0,0,229,0,0,0,222,0,0,0,232,0,0,0,245,0,0,0,252,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228, +228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,3,0,0,0,11,0,0,0,20,0,0,0,29,0,0,0,25,0,0,0,70,0,0,0,72,254,255,255,24,242,249,2,0,60,37,9,0,149,77,248,0,35,26,237,0,0,249,254,0,0,255,2,0,0,0,0,0,0,0,0,0,0,4,254,0,0,4,4,0,224,231,16,0,142, +199,10,0,175,209,252,0,240,245,249,0,11,5,255,0,4,3,1,0,0,0,0,0,253,254,255,0,244,250,2,0,39,25,8,0,106,58,255,0,98,46,242,0,0,11,245,0,0,252,254,0,0,252,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,254,0,0,1,1,0,0,2,255,0,0,0,0,0,0,0,0,0,0,0,1,0, +0,253,255,0,0,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,254,0,0,5,0,0,0,254,8,0,211,226,12,0,143,199,8,0,179,212,252,0,253,252,250,0,10,6,1,0,0,0,0,0,0,0,0,0,254,255,255,0,246,250,0,0,1,3,4,0,56,32,6,0,114,60,252,0,69,38,241,0,0,4,247,0,0,250, +1,0,0,0,1,0,0,0,0,0,0,0,255,0,0,7,255,0,0,248,13,0,123,189,16,0,151,197,251,0,3,0,250,0,7,3,1,232,0,0,0,184,0,0,0,186,0,0,0,231,0,0,0,227,0,0,0,236,0,0,0,245,0,0,0,253,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,3,0,0,0,9,0,0,0,16,0,0,0,25,0,0,0,34,0,0,0,50,0,0,0,70,0,0,0,48,245,249,255,0,12,10,8,0,121,67,2,0,106,56,238,0,0,4,246,0,0,250,1,0,0,0,1,0,0,0,0,0,0,0,255,0,0,5,255,0,0,2,6,0,227,232,13,0,154, +205,9,0,173,211,254,0,227,238,251,0,5,1,253,0,8,5,0,0,2,1,1,0,249,252,255,0,248,253,3,0,39,24,6,0,88,47,1,0,88,44,245,0,28,21,247,0,0,3,249,0,0,253,255,0,0,252,1,0,0,255,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +255,0,0,1,0,0,0,3,255,0,0,3,0,0,0,0,4,0,249,242,9,0,183,223,13,0,164,207,3,0,194,220,251,0,250,250,250,0,11,6,0,0,1,1,1,0,255,255,0,0,250,253,255,0,247,252,2,0,15,10,5,0,64,38,4,0,103,51,251,0,62,35,241,0,0,5,247,0,0,250,1,0,0,255,1,0,0,0,0,0,0,0,0,0, +0,4,254,0,0,4,4,0,201,220,21,0,115,183,5,0,209,225,246,0,14,7,254,0,1,1,1,208,0,0,0,186,0,0,0,206,0,0,0,222,0,0,0,231,0,0,0,240,0,0,0,247,228,228,228,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,2,0,0,0,5,0,0,0,14,0,0,0,25,0,0,0,32,0,0,0,32,0,0,0,69,0,0,0,68,253,254,255,8,244,250,2,0,58,36,9,0,133,69,249,0,52,35,240,0,0,253,250,0,0,251,2,0,0,0,0,0,0,0,0,0,0,0,255,0,0,5,255,0,0,3,3,0,248, +240,10,0,174,217,12,0,169,211,3,0,204,226,253,0,242,246,251,0,5,2,254,0,7,4,0,0,252,254,0,0,248,252,2,0,16,11,5,0,53,31,3,0,74,38,253,0,65,32,250,0,35,19,248,0,0,8,251,0,0,1,251,0,0,255,0,0,0,0,0,0,0,254,255,0,0,0,255,0,0,0,1,0,0,2,1,0,0,0,0,0,0,1,0, +0,0,255,5,0,0,249,3,0,232,242,9,0,200,228,7,0,185,220,3,0,195,222,255,0,227,238,250,0,2,255,253,0,10,6,0,0,0,0,0,0,250,253,0,0,248,252,1,0,6,5,5,0,36,22,4,0,78,42,0,0,89,45,248,0,34,24,243,0,0,1,249,0,0,250,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,1,254,0,0,7, +1,0,245,240,15,0,127,193,13,0,161,202,252,0,254,251,249,0,9,6,1,248,0,0,0,188,0,0,0,187,0,0,0,224,0,0,0,224,0,0,0,231,0,0,0,242,0,0,0,251,228,228,228,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,5,0,0,0,11,0,0,0,20,0,0,0,28,0,0,0,24,0,0,0,57,0,0,0,65,0,0,0,44,246,249,255,0,3,6,7,0,88,50,4,0,123,62,245,0,24,22,241,0,0,251,253,0,0,252,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2, +254,0,0,6,1,0,0,252,7,0,223,234,11,0,182,219,8,0,186,219,1,0,211,230,254,0,238,244,251,0,255,254,254,0,2,1,255,0,252,254,255,0,255,1,3,0,15,10,5,0,30,17,1,0,42,24,3,0,40,19,252,0,36,22,3,0,21,4,240,0,18,14,7,0,1,1,2,0,255,255,255,0,240,242,247,0,235, +252,16,0,222,238,254,0,217,235,3,0,215,234,254,0,226,239,0,0,238,244,251,0,0,254,253,0,5,4,255,0,1,0,1,0,251,253,0,0,253,0,2,0,12,7,5,0,35,22,3,0,62,33,0,0,78,40,250,0,56,27,246,0,0,10,246,0,0,253,254,0,0,251,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,255,0,0,7, +0,0,0,248,11,0,154,204,15,0,144,195,0,0,227,237,248,0,13,7,255,0,2,1,1,212,0,0,0,191,0,0,0,199,0,0,0,232,0,0,0,228,0,0,0,236,0,0,0,245,0,0,0,251,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,3,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,30,0,0,0,29,0,0,0,62,0,0,0,63,254,255,255,20,243,249,1,0,21,15,8,0,96,53,3,0,109,53,243,0,17,19,242,0,0,253,253,0, +0,251,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,255,0,0,4,255,0,0,3,1,0,0,252,7,0,236,239,9,0,202,231,7,0,197,225,4,0,206,229,255,0,225,239,0,0,236,244,251,0,246,250,255,0,251,251,253,0,252,255,0,0,255,0,2,0,4,1,255,0,4,2,0,0,9,8,6,0,2,2,2,0,255,255,0,0,248,249, +249,0,252,253,255,0,254,255,0,0,0,255,254,0,2,2,2,0,3,2,255,0,2,1,2,0,6,6,4,0,15,8,2,0,27,16,1,0,42,23,1,0,57,30,254,0,58,28,249,0,38,20,248,0,0,9,248,0,0,254,253,0,0,251,0,0,0,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,254,0,0,6,1,0,0,248,10,0,170,212,15,0, +146,198,3,0,209,227,248,0,9,4,253,0,6,3,1,236,0,0,0,193,0,0,0,194,0,0,0,227,0,0,0,226,0,0,0,233,0,0,0,240,0,0,0,248,0,0,0,253,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,2,0,0,0,5,0,0,0,12,0,0,0,19,0,0,0,27,0,0,0,24,0,0,0,40,0,0,0,60,0,0,0,59,253,254,255,7,244,250,1,0,24,17,8,0,87,47,1,0,103,51,246,0,29,24,244,0,0,0,250, +0,0,250,0,0,0,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,4,255,0,0,3,0,0,0,1,3,0,0,250,5,0,245,245,5,0,222,242,8,0,219,234,255,0,223,244,10,0,228,238,252,0,232,242,252,0,242,253,11,0,245,250,254,0,247,248,252,0,243,244,246,0,0,0,0,0,9,9,7,0,11,10,7, +0,9,4,2,0,12,5,251,0,18,7,248,0,31,21,13,0,29,10,243,0,37,23,4,0,35,15,248,0,23,14,251,0,0,7,249,0,0,1,253,0,0,253,255,0,0,252,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,5,255,0,0,3,2,0,251,243,11,0,166,214,14,0,157,203,1,0,209,225,249,0,5,3,253, +0,8,4,1,249,0,0,0,197,0,0,0,196,0,0,0,216,0,0,0,232,0,0,0,229,0,0,0,237,0,0,0,244,0,0,0,251,228,228,228,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,3,0,0,0,8,0,0,0,15,0,0,0,19,0,0,0,26,0,0,0,17,0,0,0,50,0,0,0,57,0,0,0,55,252,254,255,4,245,250,1,0,16,11,7,0,68,39,2,0,96,49,250,0,63,32,245,0,0,9,247,0, +0,253,254,0,0,252,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,0,0,1,255,0,0,3,0,0,0,2,0,0,0,1,3,0,0,255,255,0,0,255,5,0,0,254,4,0,0,252,0,0,0,253,254,0,253,249,250,0,0,0,0,0,3,5,4,0,0,4,4,0,0,3,0,0,0,3,254,0,0,1,250,0,0,2,255,0,0,0,255,0,0, +254,255,0,0,254,0,0,0,253,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,4,255,0,0,4,1,0,0,253,7,0,222,232,11,0,165,211,8,0,172,211,0,0,222,234,249,0,7,3,254,0,8,4,1,252,0,0,0,201,0,0,0,199,0,0,0,206,0,0,0,239,0,0,0,230,0,0,0,237,0,0,0,241, +0,0,0,248,0,0,0,253,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228, +228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,2,0,0,0,4,0,0,0,9,0,0,0,15,0,0,0,20,0,0,0,25,0,0,0,14,0,0,0,50,0,0,0,53,0,0,0,51,254,254,255,12,246,251,0,0,1,3,4,0,42,26,6,0,75,40,255,0,77,39,249,0,45,23,246,0,0,8,249,0,0,254,253,0,0,252,0,0,0,254,1,0,0,0,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,255,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,255,0,0,3,255,0,0,3,1,0,0,253,6,0,235,238,10, +0,183,221,8,0,176,214,3,0,201,224,253,0,242,246,250,0,9,5,255,0,6,3,1,244,0,0,0,205,0,0,0,203,0,0,0,206,0,0,0,242,0,0,0,231,0,0,0,236,0,0,0,241,0,0,0,247,0,0,0,252,228,228,228,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,1,0,0,0,6,0,0,0,9,0,0,0,15,0,0, +0,19,0,0,0,24,0,0,0,14,0,0,0,39,0,0,0,49,0,0,0,48,255,0,0,30,250,252,255,0,248,252,1,0,9,7,5,0,42,25,4,0,65,35,0,0,65,32,250,0,51,24,249,0,11,13,249,0,0,4,251,0,0,255,253,0,0,254,0,0,0,253,0,0,0,255,1,0,0,255,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,1,0,0,0,0,0,0,0,3,255,0,0,2,0,0,0,2,2,0,0,254,2,0,0,247,7,0,213,236,8,0,195,226,7,0,188,220,3,0,205,227,253,0,236,243,250,0,5,1,254,0,8,5,0,0,2,1,1,226,0,0,0,208,0,0,0,207,0,0,0,217, +0,0,0,242,0,0,0,232,0,0,0,237,0,0,0,241,0,0,0,247,0,0,0,250,0,0,0,255,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,2,0,0,0,5,0,0,0,9,0,0,0,15,0,0,0,18,0,0,0,21,0,0,0,18,0,0,0,17,0,0,0,45,0,0,0,43,0,0,0,43,255,255,255,18, +249,253,0,0,249,252,1,0,5,4,3,0,22,14,4,0,41,23,2,0,49,26,255,0,48,26,254,0,41,17,247,0,29,15,0,0,8,7,247,0,0,6,2,0,0,1,250,0,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,251,0,0,0,251,4,0,230,243, +5,0,220,239,6,0,211,234,4,0,205,229,2,0,211,230,254,0,227,240,254,0,245,248,252,0,5,2,254,0,7,4,0,0,3,2,1,238,0,0,0,213,0,0,0,213,0,0,0,211,0,0,0,239,0,0,0,238,0,0,0,235,0,0,0,238,0,0,0,241,0,0,0,247,0,0,0,251,0,0,0,254,228,228,228,255,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0, +0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,2,0,0,0,5,0,0,0,8,0,0,0,13,0,0,0,16,0,0,0,18,0,0,0,18,0,0,0,8,0,0,0,23,0,0,0,40,0,0,0,39,0,0,0,37,0,0,0,27,252,254,255,0,250,252,0,0,251,254,1,0,3,2,2,0,10,7,3,0,18,10,2,0, +21,13,0,0,29,18,7,0,20,4,242,0,26,20,10,0,18,10,2,0,12,4,251,0,7,0,249,0,9,0,245,0,0,0,255,0,252,0,6,0,245,0,13,0,248,254,3,0,241,249,4,0,232,238,243,0,233,246,7,0,232,245,3,0,230,239,250,0,236,247,2,0,243,246,251,0,251,253,255,0,3,0,254,0,6,4,0,0,5, +2,1,0,1,1,0,229,0,0,0,219,0,0,0,217,0,0,0,216,0,0,0,233,0,0,0,248,0,0,0,238,0,0,0,238,0,0,0,240,0,0,0,243,0,0,0,248,0,0,0,251,0,0,0,254,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,28,28,28,2,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,17,0,0,0,7,0,0,0,8,0,0,0,34,0,0,0,32,0,0,0,31,0,0,0,29,0,0,0,27,255,255,255,5,253,254,0,0,252,255,0,0,253,253,0,0,254,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,3,0,254,0,3,1,0,0,3,3,0,0,4,1,0,0,2,2,1,251,0,0,0,229,0,0,0,227,0,0,0,225,0,0,0,224,0,0,0,222,0,0,0,248,0,0,0,249,0,0,0,239,0,0,0,240,0,0,0,242,0,0,0,244,0,0,0,247,0,0,0,249,0,0,0,251,228,228,228,254, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,254,0,0,0,249,28,28,28,250,0,0,0,246,0,0,0,241,0,0,0,236,0,0,0,9,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,232,0,0,0,210, +0,0,0,4,0,0,0,0,0,0,0,21,1,1,1,23,4,3,0,22,4,0,0,20,0,4,0,18,0,0,0,16,0,0,255,13,0,0,0,12,0,0,0,9,0,0,0,7,0,0,0,4,0,0,0,0,0,0,0,252,0,0,0,249,0,0,0,247,0,0,0,244,0,0,0,243,0,0,1,240,0,0,0,238,0,0,0,236,0,0,0,234,0,0,0,233,0,0,0,235,0,0,0,0,0,0,0,252, +0,0,0,244,0,0,0,243,0,0,0,243,0,0,0,244,0,0,0,245,0,0,0,247,0,0,0,249,0,0,0,252,0,0,0,253,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,11,0,0,0,9,0,0,0,8,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,249,0,0,0,248,0,0,0,247,0,0,0,245,0,0,0,247,0,0,0,248,0,0,0,248,0,0,0,249,0,0,0,248,0,0,0,250,0,0,0,252,0,0,0,253,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,4,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,252,0,0,0,252,0,0,0,249,0,0,0,244,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2, +0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,254,0,0,0,253,0,0,0,253,0,0,0,252,0,0,0,252,0,0,0,251,0,0,0,251,0,0,0,250,0,0,0,250,0,0,0,251,0,0,0,252,0,0,0,252,0,0,0,253,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,254,0,0,0,251,0,0,0,0,0,0,0,1,0,0,0, +2,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,254,0,0,0,254,0,0,0,254,0,0,0,254,0,0,0,253,0,0,0,254,0,0,0,254,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,0,126,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,255,255,88,234,20,149,130,13,78,186,0,0,0,0,73,69,78,68, 174,66,96,130,0,0 }; const char* juce_icon_png = (const char*) temp_binary_data_4; @@ -5761,11 +6104,11 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) throw switch (hash) { - case 0x950fd7dd: numBytes = 14724; return brushed_aluminium_png; + case 0x84c79949: numBytes = 151; return tile_background_png; case 0x62032efa: numBytes = 46348; return cello_wav; case 0xaec3f52f: numBytes = 5239; return demo_table_data_xml; case 0xae303c7c: numBytes = 83876; return icons_zip; - case 0x154a7275: numBytes = 19826; return juce_icon_png; + case 0x154a7275: numBytes = 83091; return juce_icon_png; case 0x7dd3f04f: numBytes = 1404; return juce_module_info; case 0x40c51c28: numBytes = 145904; return portmeirion_jpg; case 0x754c69fd: numBytes = 95000; return teapot_obj; @@ -5779,7 +6122,7 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) throw const char* namedResourceList[] = { - "brushed_aluminium_png", + "tile_background_png", "cello_wav", "demo_table_data_xml", "icons_zip", diff --git a/extras/Demo/JuceLibraryCode/BinaryData.h b/examples/Demo/JuceLibraryCode/BinaryData.h similarity index 87% rename from extras/Demo/JuceLibraryCode/BinaryData.h rename to examples/Demo/JuceLibraryCode/BinaryData.h index d0418b48a3..dcfceb4b99 100644 --- a/extras/Demo/JuceLibraryCode/BinaryData.h +++ b/examples/Demo/JuceLibraryCode/BinaryData.h @@ -9,8 +9,8 @@ namespace BinaryData { - extern const char* brushed_aluminium_png; - const int brushed_aluminium_pngSize = 14724; + extern const char* tile_background_png; + const int tile_background_pngSize = 151; extern const char* cello_wav; const int cello_wavSize = 46348; @@ -22,7 +22,7 @@ namespace BinaryData const int icons_zipSize = 83876; extern const char* juce_icon_png; - const int juce_icon_pngSize = 19826; + const int juce_icon_pngSize = 83091; extern const char* juce_module_info; const int juce_module_infoSize = 1404; diff --git a/extras/Demo/JuceLibraryCode/JuceHeader.h b/examples/Demo/JuceLibraryCode/JuceHeader.h similarity index 100% rename from extras/Demo/JuceLibraryCode/JuceHeader.h rename to examples/Demo/JuceLibraryCode/JuceHeader.h diff --git a/extras/audio plugin host/JuceLibraryCode/ReadMe.txt b/examples/Demo/JuceLibraryCode/ReadMe.txt similarity index 100% rename from extras/audio plugin host/JuceLibraryCode/ReadMe.txt rename to examples/Demo/JuceLibraryCode/ReadMe.txt diff --git a/extras/audio plugin host/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/Demo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h similarity index 100% rename from extras/audio plugin host/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h rename to examples/Demo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h diff --git a/extras/audio plugin host/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/Demo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h similarity index 100% rename from extras/audio plugin host/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h rename to examples/Demo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h diff --git a/extras/audio plugin host/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/Demo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h similarity index 100% rename from extras/audio plugin host/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h rename to examples/Demo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h diff --git a/extras/audio plugin host/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/Demo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h similarity index 100% rename from extras/audio plugin host/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h rename to examples/Demo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h diff --git a/extras/audio plugin demo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h b/examples/Demo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h similarity index 100% rename from extras/audio plugin demo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h rename to examples/Demo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h diff --git a/extras/Demo/JuceLibraryCode/modules/juce_box2d/juce_box2d.h b/examples/Demo/JuceLibraryCode/modules/juce_box2d/juce_box2d.h similarity index 100% rename from extras/Demo/JuceLibraryCode/modules/juce_box2d/juce_box2d.h rename to examples/Demo/JuceLibraryCode/modules/juce_box2d/juce_box2d.h diff --git a/extras/audio plugin host/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/Demo/JuceLibraryCode/modules/juce_core/juce_core.h similarity index 100% rename from extras/audio plugin host/JuceLibraryCode/modules/juce_core/juce_core.h rename to examples/Demo/JuceLibraryCode/modules/juce_core/juce_core.h diff --git a/examples/Demo/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/Demo/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h new file mode 100644 index 0000000000..860c0221c7 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_cryptography/juce_cryptography.h" + diff --git a/extras/audio plugin host/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/Demo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h similarity index 100% rename from extras/audio plugin host/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h rename to examples/Demo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h diff --git a/extras/audio plugin host/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/Demo/JuceLibraryCode/modules/juce_events/juce_events.h similarity index 100% rename from extras/audio plugin host/JuceLibraryCode/modules/juce_events/juce_events.h rename to examples/Demo/JuceLibraryCode/modules/juce_events/juce_events.h diff --git a/extras/audio plugin host/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/Demo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h similarity index 100% rename from extras/audio plugin host/JuceLibraryCode/modules/juce_graphics/juce_graphics.h rename to examples/Demo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h diff --git a/extras/audio plugin host/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/Demo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h similarity index 100% rename from extras/audio plugin host/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h rename to examples/Demo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h diff --git a/extras/audio plugin host/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/Demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h similarity index 100% rename from extras/audio plugin host/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h rename to examples/Demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h diff --git a/examples/Demo/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/Demo/JuceLibraryCode/modules/juce_opengl/juce_opengl.h new file mode 100644 index 0000000000..e427fa2135 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/modules/juce_opengl/juce_opengl.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_opengl/juce_opengl.h" + diff --git a/examples/Demo/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/Demo/JuceLibraryCode/modules/juce_video/juce_video.h new file mode 100644 index 0000000000..1b77c4a466 --- /dev/null +++ b/examples/Demo/JuceLibraryCode/modules/juce_video/juce_video.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_video/juce_video.h" + diff --git a/extras/Demo/Resources/cello.wav b/examples/Demo/Resources/cello.wav similarity index 100% rename from extras/Demo/Resources/cello.wav rename to examples/Demo/Resources/cello.wav diff --git a/extras/Demo/Resources/demo table data.xml b/examples/Demo/Resources/demo table data.xml similarity index 100% rename from extras/Demo/Resources/demo table data.xml rename to examples/Demo/Resources/demo table data.xml diff --git a/extras/Demo/Resources/icons.zip b/examples/Demo/Resources/icons.zip similarity index 100% rename from extras/Demo/Resources/icons.zip rename to examples/Demo/Resources/icons.zip diff --git a/examples/Demo/Resources/juce_icon.png b/examples/Demo/Resources/juce_icon.png new file mode 100644 index 0000000000..7706706404 Binary files /dev/null and b/examples/Demo/Resources/juce_icon.png differ diff --git a/extras/Demo/Resources/juce_module_info b/examples/Demo/Resources/juce_module_info similarity index 100% rename from extras/Demo/Resources/juce_module_info rename to examples/Demo/Resources/juce_module_info diff --git a/extras/Demo/Resources/portmeirion.jpg b/examples/Demo/Resources/portmeirion.jpg similarity index 100% rename from extras/Demo/Resources/portmeirion.jpg rename to examples/Demo/Resources/portmeirion.jpg diff --git a/extras/Demo/Resources/teapot.obj b/examples/Demo/Resources/teapot.obj similarity index 100% rename from extras/Demo/Resources/teapot.obj rename to examples/Demo/Resources/teapot.obj diff --git a/examples/Demo/Resources/tile_background.png b/examples/Demo/Resources/tile_background.png new file mode 100644 index 0000000000..d6fe624cbe Binary files /dev/null and b/examples/Demo/Resources/tile_background.png differ diff --git a/extras/Demo/Resources/treedemo.xml b/examples/Demo/Resources/treedemo.xml similarity index 100% rename from extras/Demo/Resources/treedemo.xml rename to examples/Demo/Resources/treedemo.xml diff --git a/extras/Demo/Source/DemoUtilities.h b/examples/Demo/Source/DemoUtilities.h similarity index 92% rename from extras/Demo/Source/DemoUtilities.h rename to examples/Demo/Source/DemoUtilities.h index 31e3ab1a5d..78ee42e2ef 100644 --- a/extras/Demo/Source/DemoUtilities.h +++ b/examples/Demo/Source/DemoUtilities.h @@ -41,11 +41,12 @@ inline Colour getRandomColour (float brightness) inline Colour getRandomBrightColour() { return getRandomColour (0.8f); } inline Colour getRandomDarkColour() { return getRandomColour (0.3f); } -inline void fillBrushedAluminiumBackground (Graphics& g) +inline void fillTiledBackground (Graphics& g) { - g.setFillType (FillType (ImageCache::getFromMemory (BinaryData::brushed_aluminium_png, - BinaryData::brushed_aluminium_pngSize), + g.setFillType (FillType (ImageCache::getFromMemory (BinaryData::tile_background_png, + BinaryData::tile_background_pngSize), AffineTransform::identity)); + //g.setColour (Colour::greyLevel (0.2f)); g.fillAll(); } diff --git a/extras/Demo/Source/Demos/AnimationDemo.cpp b/examples/Demo/Source/Demos/AnimationDemo.cpp similarity index 68% rename from extras/Demo/Source/Demos/AnimationDemo.cpp rename to examples/Demo/Source/Demos/AnimationDemo.cpp index eea6ace331..48b8bea833 100644 --- a/extras/Demo/Source/Demos/AnimationDemo.cpp +++ b/examples/Demo/Source/Demos/AnimationDemo.cpp @@ -37,18 +37,15 @@ public: void paint (Graphics& g) override { Rectangle area (getLocalBounds().toFloat().reduced (2.0f)); - g.setColour (Colours::orange.withAlpha (0.6f)); - g.fillRoundedRectangle (area, 10.0f); - g.setColour (Colours::darkgrey); + g.setColour (Colours::orange); g.drawRoundedRectangle (area, 10.0f, 2.0f); AttributedString s; s.setJustification (Justification::centred); s.setWordWrap (AttributedString::none); - s.append ("Balls!\n" - "(Drag Me)"); - s.setColour (Colours::black); + s.append ("Drag Me!"); + s.setColour (Colours::white); s.draw (g, area); } @@ -85,7 +82,7 @@ struct BallComponent : public Component : position (pos), speed (Random::getSystemRandom().nextFloat() * 4.0f - 2.0f, Random::getSystemRandom().nextFloat() * -6.0f - 2.0f), - colour (getRandomBrightColour().withAlpha (0.4f)) + colour (Colours::white) { setSize (20, 20); step(); @@ -94,7 +91,7 @@ struct BallComponent : public Component bool step() { position += speed; - speed.y += 0.05f; + speed.y += 0.1f; setCentrePosition ((int) position.x, (int) position.y); @@ -130,42 +127,58 @@ public: AnimationDemo() { setOpaque (true); + setSize (620, 620); for (int i = 11; --i >= 0;) { - Button* b = createRandomButton(); + Button* b = createButton(); componentsToAnimate.add (b); addAndMakeVisible (b); b->addListener (this); } - ballGenerator = new BallGeneratorComponent(); - componentsToAnimate.add (ballGenerator); addAndMakeVisible (ballGenerator); - ballGenerator->setBounds (200, 500, 70, 50); + ballGenerator.centreWithSize (80, 50); - int w = 160, h = 80; + cycleCount = 2; + + for (int i = 0; i < componentsToAnimate.size(); ++i) + componentsToAnimate.getUnchecked (i)->setBounds (getLocalBounds().reduced (250, 250)); for (int i = 0; i < componentsToAnimate.size(); ++i) { - Rectangle r (w * (i % 3), h * (i / 3), w, h); - componentsToAnimate.getUnchecked(i)->setBounds (r.reduced (10)); + const int newIndex = (i + 3) % componentsToAnimate.size(); + const float angle = newIndex * 2.0f * float_Pi / componentsToAnimate.size(); + const float radius = getWidth() * 0.35f; + + Rectangle r (getWidth() / 2 + (int) (radius * std::sin (angle)) - 50, + getHeight() / 2 + (int) (radius * std::cos (angle)) - 50, + 100, 100); + + animator.animateComponent (componentsToAnimate.getUnchecked(i), + r.reduced (10), + 1.0f, + 500 + i * 100, + false, + 0.0, + 0.0); } - startTimer (1000 / 60); + startTimerHz (60); } void paint (Graphics& g) override { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } private: OwnedArray componentsToAnimate; OwnedArray balls; - BallGeneratorComponent* ballGenerator; + BallGeneratorComponent ballGenerator; ComponentAnimator animator; + int cycleCount; Button* createRandomButton() { @@ -183,8 +196,11 @@ private: over.setStrokeFill (Colours::black); over.setStrokeThickness (5.0f); + Image juceIcon = ImageCache::getFromMemory (BinaryData::juce_icon_png, + BinaryData::juce_icon_pngSize); + DrawableImage down; - down.setImage (ImageCache::getFromMemory (BinaryData::juce_icon_png, BinaryData::juce_icon_pngSize)); + down.setImage (juceIcon); down.setOverlayColour (Colours::black.withAlpha (0.3f)); if (Random::getSystemRandom().nextInt (10) > 2) @@ -211,34 +227,52 @@ private: ImageButton* b = new ImageButton ("ImageButton"); - Image image = ImageCache::getFromMemory (BinaryData::juce_icon_png, BinaryData::juce_icon_pngSize); b->setImages (true, true, true, - image, 0.7f, Colours::transparentBlack, - image, 1.0f, getRandomDarkColour().withAlpha (0.2f), - image, 1.0f, getRandomBrightColour().withAlpha (0.8f), + juceIcon, 0.7f, Colours::transparentBlack, + juceIcon, 1.0f, getRandomDarkColour().withAlpha (0.2f), + juceIcon, 1.0f, getRandomBrightColour().withAlpha (0.8f), 0.5f); return b; } + Button* createButton() + { + Image juceIcon = ImageCache::getFromMemory (BinaryData::juce_icon_png, + BinaryData::juce_icon_pngSize); + + ImageButton* b = new ImageButton ("ImageButton"); + + b->setImages (true, true, true, + juceIcon, 1.0f, Colours::transparentBlack, + juceIcon, 1.0f, Colours::white, + juceIcon, 1.0f, Colours::white, + 0.5f); + + return b; + } + void buttonClicked (Button*) override { - for (int i = 0; i < componentsToAnimate.size(); ++i) - componentsToAnimate.swap (i, Random::getSystemRandom().nextInt (componentsToAnimate.size())); - - int w = 160, h = 80; - for (int i = 0; i < componentsToAnimate.size(); ++i) { - Rectangle r (w * (i % 3), h * (i / 3), w, h); + const int newIndex = (i + 3 * cycleCount) % componentsToAnimate.size(); + const float angle = newIndex * 2.0f * float_Pi / componentsToAnimate.size(); + const float radius = getWidth() * 0.35f; + + Rectangle r (getWidth() / 2 + (int) (radius * std::sin (angle)) - 50, + getHeight() / 2 + (int) (radius * std::cos (angle)) - 50, + 100, 100); animator.animateComponent (componentsToAnimate.getUnchecked(i), r.reduced (10), - Random::getSystemRandom().nextBool() ? 1.0f : 0.4f, - 500 + Random::getSystemRandom().nextInt (2000), + 1.0f, + 900 + 300 * std::sin (angle), false, - Random::getSystemRandom().nextDouble(), - Random::getSystemRandom().nextDouble()); + 0.0, + 0.0); } + + ++cycleCount; } void timerCallback() override @@ -249,9 +283,9 @@ private: balls.remove (i); // Randomly generate new balls - if (Random::getSystemRandom().nextInt (200) < 4) + if (Random::getSystemRandom().nextInt (100) < 4) { - BallComponent* ball = new BallComponent (ballGenerator->getBounds().getCentre().toFloat()); + BallComponent* ball = new BallComponent (ballGenerator.getBounds().getCentre().toFloat()); addAndMakeVisible (ball); balls.add (ball); } diff --git a/extras/Demo/Source/Demos/AudioLatencyDemo.cpp b/examples/Demo/Source/Demos/AudioLatencyDemo.cpp similarity index 96% rename from extras/Demo/Source/Demos/AudioLatencyDemo.cpp rename to examples/Demo/Source/Demos/AudioLatencyDemo.cpp index f16ce79c07..105c10279e 100644 --- a/extras/Demo/Source/Demos/AudioLatencyDemo.cpp +++ b/examples/Demo/Source/Demos/AudioLatencyDemo.cpp @@ -340,7 +340,7 @@ public: void paint (Graphics& g) override { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } void resized() override diff --git a/extras/Demo/Source/Demos/AudioLiveScrollingDisplay.h b/examples/Demo/Source/Demos/AudioLiveScrollingDisplay.h similarity index 95% rename from extras/Demo/Source/Demos/AudioLiveScrollingDisplay.h rename to examples/Demo/Source/Demos/AudioLiveScrollingDisplay.h index ef9e87772c..2699811ebf 100644 --- a/extras/Demo/Source/Demos/AudioLiveScrollingDisplay.h +++ b/examples/Demo/Source/Demos/AudioLiveScrollingDisplay.h @@ -44,7 +44,7 @@ public: setOpaque (true); clear(); - startTimer (1000 / 75); // use a timer to keep repainting this component + startTimerHz (75); // use a timer to keep repainting this component } //============================================================================== diff --git a/extras/Demo/Source/Demos/AudioPlaybackDemo.cpp b/examples/Demo/Source/Demos/AudioPlaybackDemo.cpp similarity index 96% rename from extras/Demo/Source/Demos/AudioPlaybackDemo.cpp rename to examples/Demo/Source/Demos/AudioPlaybackDemo.cpp index 2738d8c496..f57c079cc6 100644 --- a/extras/Demo/Source/Demos/AudioPlaybackDemo.cpp +++ b/examples/Demo/Source/Demos/AudioPlaybackDemo.cpp @@ -70,7 +70,7 @@ public: scrollbar.setRangeLimits (newRange); setRange (newRange); - startTimer (1000 / 40); + startTimerHz (40); } } @@ -306,7 +306,7 @@ public: void paint (Graphics& g) override { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } void resized() override diff --git a/extras/Demo/Source/Demos/AudioRecordingDemo.cpp b/examples/Demo/Source/Demos/AudioRecordingDemo.cpp similarity index 96% rename from extras/Demo/Source/Demos/AudioRecordingDemo.cpp rename to examples/Demo/Source/Demos/AudioRecordingDemo.cpp index f7c2c3c4fd..34cda1966e 100644 --- a/extras/Demo/Source/Demos/AudioRecordingDemo.cpp +++ b/examples/Demo/Source/Demos/AudioRecordingDemo.cpp @@ -248,7 +248,7 @@ public: void paint (Graphics& g) override { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } void resized() override diff --git a/extras/Demo/Source/Demos/AudioSettingsDemo.cpp b/examples/Demo/Source/Demos/AudioSettingsDemo.cpp similarity index 96% rename from extras/Demo/Source/Demos/AudioSettingsDemo.cpp rename to examples/Demo/Source/Demos/AudioSettingsDemo.cpp index 067f687cd9..ae7f4fb806 100644 --- a/extras/Demo/Source/Demos/AudioSettingsDemo.cpp +++ b/examples/Demo/Source/Demos/AudioSettingsDemo.cpp @@ -62,7 +62,7 @@ public: void paint (Graphics& g) override { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } void resized() override diff --git a/extras/Demo/Source/Demos/AudioSynthesiserDemo.cpp b/examples/Demo/Source/Demos/AudioSynthesiserDemo.cpp similarity index 95% rename from extras/Demo/Source/Demos/AudioSynthesiserDemo.cpp rename to examples/Demo/Source/Demos/AudioSynthesiserDemo.cpp index 1603fee688..b602f577ef 100644 --- a/extras/Demo/Source/Demos/AudioSynthesiserDemo.cpp +++ b/examples/Demo/Source/Demos/AudioSynthesiserDemo.cpp @@ -101,7 +101,7 @@ struct SineWaveVoice : public SynthesiserVoice { while (--numSamples >= 0) { - const float currentSample = (float) (sin (currentAngle) * level * tailOff); + const float currentSample = std::sin (currentAngle) * level * tailOff; for (int i = outputBuffer.getNumChannels(); --i >= 0;) outputBuffer.addSample (i, startSample, currentSample); @@ -124,7 +124,7 @@ struct SineWaveVoice : public SynthesiserVoice { while (--numSamples >= 0) { - const float currentSample = (float) (sin (currentAngle) * level); + const float currentSample = std::sin (currentAngle) * level; for (int i = outputBuffer.getNumChannels(); --i >= 0;) outputBuffer.addSample (i, startSample, currentSample); @@ -278,7 +278,7 @@ public: //============================================================================== void paint (Graphics& g) override { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } void resized() override diff --git a/extras/Demo/Source/Demos/Box2DDemo.cpp b/examples/Demo/Source/Demos/Box2DDemo.cpp similarity index 95% rename from extras/Demo/Source/Demos/Box2DDemo.cpp rename to examples/Demo/Source/Demos/Box2DDemo.cpp index 2f346f10dd..ccb37038bb 100644 --- a/extras/Demo/Source/Demos/Box2DDemo.cpp +++ b/examples/Demo/Source/Demos/Box2DDemo.cpp @@ -190,7 +190,7 @@ public: instructions.setReadOnly (true); instructions.setColour (TextEditor::backgroundColourId, Colours::lightgrey); - startTimer (1000 / 60); + startTimerHz (60); } ~Box2DDemo() @@ -200,7 +200,7 @@ public: void paint (Graphics& g) override { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } void resized() override diff --git a/extras/Demo/Source/Demos/Box2DTests/AddPair.h b/examples/Demo/Source/Demos/Box2DTests/AddPair.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/AddPair.h rename to examples/Demo/Source/Demos/Box2DTests/AddPair.h diff --git a/extras/Demo/Source/Demos/Box2DTests/ApplyForce.h b/examples/Demo/Source/Demos/Box2DTests/ApplyForce.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/ApplyForce.h rename to examples/Demo/Source/Demos/Box2DTests/ApplyForce.h diff --git a/extras/Demo/Source/Demos/Box2DTests/BodyTypes.h b/examples/Demo/Source/Demos/Box2DTests/BodyTypes.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/BodyTypes.h rename to examples/Demo/Source/Demos/Box2DTests/BodyTypes.h diff --git a/extras/Demo/Source/Demos/Box2DTests/Breakable.h b/examples/Demo/Source/Demos/Box2DTests/Breakable.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/Breakable.h rename to examples/Demo/Source/Demos/Box2DTests/Breakable.h diff --git a/extras/Demo/Source/Demos/Box2DTests/Bridge.h b/examples/Demo/Source/Demos/Box2DTests/Bridge.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/Bridge.h rename to examples/Demo/Source/Demos/Box2DTests/Bridge.h diff --git a/extras/Demo/Source/Demos/Box2DTests/BulletTest.h b/examples/Demo/Source/Demos/Box2DTests/BulletTest.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/BulletTest.h rename to examples/Demo/Source/Demos/Box2DTests/BulletTest.h diff --git a/extras/Demo/Source/Demos/Box2DTests/Cantilever.h b/examples/Demo/Source/Demos/Box2DTests/Cantilever.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/Cantilever.h rename to examples/Demo/Source/Demos/Box2DTests/Cantilever.h diff --git a/extras/Demo/Source/Demos/Box2DTests/Car.h b/examples/Demo/Source/Demos/Box2DTests/Car.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/Car.h rename to examples/Demo/Source/Demos/Box2DTests/Car.h diff --git a/extras/Demo/Source/Demos/Box2DTests/Chain.h b/examples/Demo/Source/Demos/Box2DTests/Chain.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/Chain.h rename to examples/Demo/Source/Demos/Box2DTests/Chain.h diff --git a/extras/Demo/Source/Demos/Box2DTests/CharacterCollision.h b/examples/Demo/Source/Demos/Box2DTests/CharacterCollision.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/CharacterCollision.h rename to examples/Demo/Source/Demos/Box2DTests/CharacterCollision.h diff --git a/extras/Demo/Source/Demos/Box2DTests/CollisionFiltering.h b/examples/Demo/Source/Demos/Box2DTests/CollisionFiltering.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/CollisionFiltering.h rename to examples/Demo/Source/Demos/Box2DTests/CollisionFiltering.h diff --git a/extras/Demo/Source/Demos/Box2DTests/CollisionProcessing.h b/examples/Demo/Source/Demos/Box2DTests/CollisionProcessing.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/CollisionProcessing.h rename to examples/Demo/Source/Demos/Box2DTests/CollisionProcessing.h diff --git a/extras/Demo/Source/Demos/Box2DTests/CompoundShapes.h b/examples/Demo/Source/Demos/Box2DTests/CompoundShapes.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/CompoundShapes.h rename to examples/Demo/Source/Demos/Box2DTests/CompoundShapes.h diff --git a/extras/Demo/Source/Demos/Box2DTests/Confined.h b/examples/Demo/Source/Demos/Box2DTests/Confined.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/Confined.h rename to examples/Demo/Source/Demos/Box2DTests/Confined.h diff --git a/extras/Demo/Source/Demos/Box2DTests/ContinuousTest.h b/examples/Demo/Source/Demos/Box2DTests/ContinuousTest.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/ContinuousTest.h rename to examples/Demo/Source/Demos/Box2DTests/ContinuousTest.h diff --git a/extras/Demo/Source/Demos/Box2DTests/DistanceTest.h b/examples/Demo/Source/Demos/Box2DTests/DistanceTest.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/DistanceTest.h rename to examples/Demo/Source/Demos/Box2DTests/DistanceTest.h diff --git a/extras/Demo/Source/Demos/Box2DTests/Dominos.h b/examples/Demo/Source/Demos/Box2DTests/Dominos.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/Dominos.h rename to examples/Demo/Source/Demos/Box2DTests/Dominos.h diff --git a/extras/Demo/Source/Demos/Box2DTests/DumpShell.h b/examples/Demo/Source/Demos/Box2DTests/DumpShell.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/DumpShell.h rename to examples/Demo/Source/Demos/Box2DTests/DumpShell.h diff --git a/extras/Demo/Source/Demos/Box2DTests/DynamicTreeTest.h b/examples/Demo/Source/Demos/Box2DTests/DynamicTreeTest.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/DynamicTreeTest.h rename to examples/Demo/Source/Demos/Box2DTests/DynamicTreeTest.h diff --git a/extras/Demo/Source/Demos/Box2DTests/EdgeShapes.h b/examples/Demo/Source/Demos/Box2DTests/EdgeShapes.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/EdgeShapes.h rename to examples/Demo/Source/Demos/Box2DTests/EdgeShapes.h diff --git a/extras/Demo/Source/Demos/Box2DTests/EdgeTest.h b/examples/Demo/Source/Demos/Box2DTests/EdgeTest.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/EdgeTest.h rename to examples/Demo/Source/Demos/Box2DTests/EdgeTest.h diff --git a/extras/Demo/Source/Demos/Box2DTests/Gears.h b/examples/Demo/Source/Demos/Box2DTests/Gears.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/Gears.h rename to examples/Demo/Source/Demos/Box2DTests/Gears.h diff --git a/extras/Demo/Source/Demos/Box2DTests/OneSidedPlatform.h b/examples/Demo/Source/Demos/Box2DTests/OneSidedPlatform.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/OneSidedPlatform.h rename to examples/Demo/Source/Demos/Box2DTests/OneSidedPlatform.h diff --git a/extras/Demo/Source/Demos/Box2DTests/Pinball.h b/examples/Demo/Source/Demos/Box2DTests/Pinball.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/Pinball.h rename to examples/Demo/Source/Demos/Box2DTests/Pinball.h diff --git a/extras/Demo/Source/Demos/Box2DTests/PolyCollision.h b/examples/Demo/Source/Demos/Box2DTests/PolyCollision.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/PolyCollision.h rename to examples/Demo/Source/Demos/Box2DTests/PolyCollision.h diff --git a/extras/Demo/Source/Demos/Box2DTests/PolyShapes.h b/examples/Demo/Source/Demos/Box2DTests/PolyShapes.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/PolyShapes.h rename to examples/Demo/Source/Demos/Box2DTests/PolyShapes.h diff --git a/extras/Demo/Source/Demos/Box2DTests/Prismatic.h b/examples/Demo/Source/Demos/Box2DTests/Prismatic.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/Prismatic.h rename to examples/Demo/Source/Demos/Box2DTests/Prismatic.h diff --git a/extras/Demo/Source/Demos/Box2DTests/Pulleys.h b/examples/Demo/Source/Demos/Box2DTests/Pulleys.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/Pulleys.h rename to examples/Demo/Source/Demos/Box2DTests/Pulleys.h diff --git a/extras/Demo/Source/Demos/Box2DTests/Pyramid.h b/examples/Demo/Source/Demos/Box2DTests/Pyramid.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/Pyramid.h rename to examples/Demo/Source/Demos/Box2DTests/Pyramid.h diff --git a/extras/Demo/Source/Demos/Box2DTests/RayCast.h b/examples/Demo/Source/Demos/Box2DTests/RayCast.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/RayCast.h rename to examples/Demo/Source/Demos/Box2DTests/RayCast.h diff --git a/extras/Demo/Source/Demos/Box2DTests/Revolute.h b/examples/Demo/Source/Demos/Box2DTests/Revolute.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/Revolute.h rename to examples/Demo/Source/Demos/Box2DTests/Revolute.h diff --git a/extras/Demo/Source/Demos/Box2DTests/Rope.h b/examples/Demo/Source/Demos/Box2DTests/Rope.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/Rope.h rename to examples/Demo/Source/Demos/Box2DTests/Rope.h diff --git a/extras/Demo/Source/Demos/Box2DTests/RopeJoint.h b/examples/Demo/Source/Demos/Box2DTests/RopeJoint.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/RopeJoint.h rename to examples/Demo/Source/Demos/Box2DTests/RopeJoint.h diff --git a/extras/Demo/Source/Demos/Box2DTests/SensorTest.h b/examples/Demo/Source/Demos/Box2DTests/SensorTest.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/SensorTest.h rename to examples/Demo/Source/Demos/Box2DTests/SensorTest.h diff --git a/extras/Demo/Source/Demos/Box2DTests/ShapeEditing.h b/examples/Demo/Source/Demos/Box2DTests/ShapeEditing.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/ShapeEditing.h rename to examples/Demo/Source/Demos/Box2DTests/ShapeEditing.h diff --git a/extras/Demo/Source/Demos/Box2DTests/SliderCrank.h b/examples/Demo/Source/Demos/Box2DTests/SliderCrank.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/SliderCrank.h rename to examples/Demo/Source/Demos/Box2DTests/SliderCrank.h diff --git a/extras/Demo/Source/Demos/Box2DTests/SphereStack.h b/examples/Demo/Source/Demos/Box2DTests/SphereStack.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/SphereStack.h rename to examples/Demo/Source/Demos/Box2DTests/SphereStack.h diff --git a/extras/Demo/Source/Demos/Box2DTests/TestEntries.cpp b/examples/Demo/Source/Demos/Box2DTests/TestEntries.cpp similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/TestEntries.cpp rename to examples/Demo/Source/Demos/Box2DTests/TestEntries.cpp diff --git a/extras/Demo/Source/Demos/Box2DTests/TheoJansen.h b/examples/Demo/Source/Demos/Box2DTests/TheoJansen.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/TheoJansen.h rename to examples/Demo/Source/Demos/Box2DTests/TheoJansen.h diff --git a/extras/Demo/Source/Demos/Box2DTests/Tiles.h b/examples/Demo/Source/Demos/Box2DTests/Tiles.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/Tiles.h rename to examples/Demo/Source/Demos/Box2DTests/Tiles.h diff --git a/extras/Demo/Source/Demos/Box2DTests/TimeOfImpact.h b/examples/Demo/Source/Demos/Box2DTests/TimeOfImpact.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/TimeOfImpact.h rename to examples/Demo/Source/Demos/Box2DTests/TimeOfImpact.h diff --git a/extras/Demo/Source/Demos/Box2DTests/Tumbler.h b/examples/Demo/Source/Demos/Box2DTests/Tumbler.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/Tumbler.h rename to examples/Demo/Source/Demos/Box2DTests/Tumbler.h diff --git a/extras/Demo/Source/Demos/Box2DTests/VaryingFriction.h b/examples/Demo/Source/Demos/Box2DTests/VaryingFriction.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/VaryingFriction.h rename to examples/Demo/Source/Demos/Box2DTests/VaryingFriction.h diff --git a/extras/Demo/Source/Demos/Box2DTests/VaryingRestitution.h b/examples/Demo/Source/Demos/Box2DTests/VaryingRestitution.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/VaryingRestitution.h rename to examples/Demo/Source/Demos/Box2DTests/VaryingRestitution.h diff --git a/extras/Demo/Source/Demos/Box2DTests/VerticalStack.h b/examples/Demo/Source/Demos/Box2DTests/VerticalStack.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/VerticalStack.h rename to examples/Demo/Source/Demos/Box2DTests/VerticalStack.h diff --git a/extras/Demo/Source/Demos/Box2DTests/Web.h b/examples/Demo/Source/Demos/Box2DTests/Web.h similarity index 100% rename from extras/Demo/Source/Demos/Box2DTests/Web.h rename to examples/Demo/Source/Demos/Box2DTests/Web.h diff --git a/extras/Demo/Source/Demos/CameraDemo.cpp b/examples/Demo/Source/Demos/CameraDemo.cpp similarity index 100% rename from extras/Demo/Source/Demos/CameraDemo.cpp rename to examples/Demo/Source/Demos/CameraDemo.cpp diff --git a/extras/Demo/Source/Demos/ChildProcessDemo.cpp b/examples/Demo/Source/Demos/ChildProcessDemo.cpp similarity index 96% rename from extras/Demo/Source/Demos/ChildProcessDemo.cpp rename to examples/Demo/Source/Demos/ChildProcessDemo.cpp index a2c1145c2e..275cadaa92 100644 --- a/extras/Demo/Source/Demos/ChildProcessDemo.cpp +++ b/examples/Demo/Source/Demos/ChildProcessDemo.cpp @@ -88,7 +88,7 @@ public: void paint (Graphics& g) override { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } void resized() override diff --git a/extras/Demo/Source/Demos/CodeEditorDemo.cpp b/examples/Demo/Source/Demos/CodeEditorDemo.cpp similarity index 100% rename from extras/Demo/Source/Demos/CodeEditorDemo.cpp rename to examples/Demo/Source/Demos/CodeEditorDemo.cpp diff --git a/extras/Demo/Source/Demos/ComponentTransformsDemo.cpp b/examples/Demo/Source/Demos/ComponentTransformsDemo.cpp similarity index 96% rename from extras/Demo/Source/Demos/ComponentTransformsDemo.cpp rename to examples/Demo/Source/Demos/ComponentTransformsDemo.cpp index 1febd2a055..8a3b97bac1 100644 --- a/extras/Demo/Source/Demos/ComponentTransformsDemo.cpp +++ b/examples/Demo/Source/Demos/ComponentTransformsDemo.cpp @@ -49,7 +49,7 @@ public: void paint (Graphics& g) { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); g.setColour (Colours::white); g.setFont (15.0f); diff --git a/extras/Demo/Source/Demos/CryptographyDemo.cpp b/examples/Demo/Source/Demos/CryptographyDemo.cpp similarity index 96% rename from extras/Demo/Source/Demos/CryptographyDemo.cpp rename to examples/Demo/Source/Demos/CryptographyDemo.cpp index 833ca8422f..3ec8b772c8 100644 --- a/extras/Demo/Source/Demos/CryptographyDemo.cpp +++ b/examples/Demo/Source/Demos/CryptographyDemo.cpp @@ -226,7 +226,7 @@ public: void paint (Graphics& g) override { - fillBrushedAluminiumBackground (g); + g.fillAll (Colour::greyLevel (0.4f)); } void resized() override diff --git a/extras/Demo/Source/Demos/DialogsDemo.cpp b/examples/Demo/Source/Demos/DialogsDemo.cpp similarity index 97% rename from extras/Demo/Source/Demos/DialogsDemo.cpp rename to examples/Demo/Source/Demos/DialogsDemo.cpp index c8c20731ae..45d70976ae 100644 --- a/extras/Demo/Source/Demos/DialogsDemo.cpp +++ b/examples/Demo/Source/Demos/DialogsDemo.cpp @@ -157,7 +157,7 @@ public: //============================================================================== void paint (Graphics& g) { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } void resized() override diff --git a/extras/Demo/Source/Demos/FontsDemo.cpp b/examples/Demo/Source/Demos/FontsDemo.cpp similarity index 97% rename from extras/Demo/Source/Demos/FontsDemo.cpp rename to examples/Demo/Source/Demos/FontsDemo.cpp index 04a6028cce..8754bcfda9 100644 --- a/extras/Demo/Source/Demos/FontsDemo.cpp +++ b/examples/Demo/Source/Demos/FontsDemo.cpp @@ -112,7 +112,7 @@ public: //============================================================================== void paint (Graphics& g) { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } void resized() diff --git a/extras/Demo/Source/Demos/GraphicsDemo.cpp b/examples/Demo/Source/Demos/GraphicsDemo.cpp similarity index 96% rename from extras/Demo/Source/Demos/GraphicsDemo.cpp rename to examples/Demo/Source/Demos/GraphicsDemo.cpp index 07a631b230..08c94595f3 100644 --- a/extras/Demo/Source/Demos/GraphicsDemo.cpp +++ b/examples/Demo/Source/Demos/GraphicsDemo.cpp @@ -46,7 +46,7 @@ public: void paint (Graphics& g) { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } void resized() override @@ -592,10 +592,7 @@ public: if (currentDemo != nullptr) { addAndMakeVisible (currentDemo); - - const int fps = 60; - startTimer (1000 / fps); - + startTimerHz (60); resized(); } } diff --git a/extras/Demo/Source/Demos/ImagesDemo.cpp b/examples/Demo/Source/Demos/ImagesDemo.cpp similarity index 96% rename from extras/Demo/Source/Demos/ImagesDemo.cpp rename to examples/Demo/Source/Demos/ImagesDemo.cpp index d3e8ef7b96..420259f9a2 100644 --- a/extras/Demo/Source/Demos/ImagesDemo.cpp +++ b/examples/Demo/Source/Demos/ImagesDemo.cpp @@ -69,7 +69,7 @@ public: void paint (Graphics& g) override { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } void resized() override diff --git a/extras/Demo/Source/Demos/JavaScript.cpp b/examples/Demo/Source/Demos/JavaScript.cpp similarity index 95% rename from extras/Demo/Source/Demos/JavaScript.cpp rename to examples/Demo/Source/Demos/JavaScript.cpp index 07bcc528ef..cb08ffacd9 100644 --- a/extras/Demo/Source/Demos/JavaScript.cpp +++ b/examples/Demo/Source/Demos/JavaScript.cpp @@ -126,7 +126,7 @@ public: void paint (Graphics& g) { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } private: @@ -156,4 +156,4 @@ private: // This static object will register this demo type in a global list of demos.. -static JuceDemoType demo ("40 JavaScript"); \ No newline at end of file +static JuceDemoType demo ("40 JavaScript"); diff --git a/extras/Demo/Source/Demos/KeyMappingsDemo.cpp b/examples/Demo/Source/Demos/KeyMappingsDemo.cpp similarity index 100% rename from extras/Demo/Source/Demos/KeyMappingsDemo.cpp rename to examples/Demo/Source/Demos/KeyMappingsDemo.cpp diff --git a/extras/Demo/Source/Demos/LiveConstantDemo.cpp b/examples/Demo/Source/Demos/LiveConstantDemo.cpp similarity index 96% rename from extras/Demo/Source/Demos/LiveConstantDemo.cpp rename to examples/Demo/Source/Demos/LiveConstantDemo.cpp index 2dd07d7724..a06de9f22c 100644 --- a/extras/Demo/Source/Demos/LiveConstantDemo.cpp +++ b/examples/Demo/Source/Demos/LiveConstantDemo.cpp @@ -79,7 +79,7 @@ public: void paint (Graphics& g) override { - g.fillAll (Colour::greyLevel (0.93f)); + fillTiledBackground (g); } void resized() override diff --git a/extras/Demo/Source/Demos/LookAndFeelDemo.cpp b/examples/Demo/Source/Demos/LookAndFeelDemo.cpp similarity index 97% rename from extras/Demo/Source/Demos/LookAndFeelDemo.cpp rename to examples/Demo/Source/Demos/LookAndFeelDemo.cpp index 698eb26940..b1d7000b07 100644 --- a/extras/Demo/Source/Demos/LookAndFeelDemo.cpp +++ b/examples/Demo/Source/Demos/LookAndFeelDemo.cpp @@ -529,7 +529,7 @@ public: void paint (Graphics& g) override { - g.fillAll (Colour::greyLevel (0.85f)); + g.fillAll (Colour::greyLevel (0.4f)); } void resized() override diff --git a/extras/Demo/Source/Demos/MDIDemo.cpp b/examples/Demo/Source/Demos/MDIDemo.cpp similarity index 96% rename from extras/Demo/Source/Demos/MDIDemo.cpp rename to examples/Demo/Source/Demos/MDIDemo.cpp index 81208f95cb..0dd0a6854b 100644 --- a/extras/Demo/Source/Demos/MDIDemo.cpp +++ b/examples/Demo/Source/Demos/MDIDemo.cpp @@ -186,7 +186,7 @@ public: void paint (Graphics& g) override { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } void resized() override diff --git a/extras/Demo/Source/Demos/MidiDemo.cpp b/examples/Demo/Source/Demos/MidiDemo.cpp similarity index 96% rename from extras/Demo/Source/Demos/MidiDemo.cpp rename to examples/Demo/Source/Demos/MidiDemo.cpp index 3889dd9893..ea06a6535b 100644 --- a/extras/Demo/Source/Demos/MidiDemo.cpp +++ b/examples/Demo/Source/Demos/MidiDemo.cpp @@ -148,7 +148,7 @@ public: void paint (Graphics& g) override { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } void resized() override diff --git a/extras/Demo/Source/Demos/MultiTouch.cpp b/examples/Demo/Source/Demos/MultiTouch.cpp similarity index 100% rename from extras/Demo/Source/Demos/MultiTouch.cpp rename to examples/Demo/Source/Demos/MultiTouch.cpp diff --git a/extras/Demo/Source/Demos/MultithreadingDemo.cpp b/examples/Demo/Source/Demos/MultithreadingDemo.cpp similarity index 96% rename from extras/Demo/Source/Demos/MultithreadingDemo.cpp rename to examples/Demo/Source/Demos/MultithreadingDemo.cpp index b84945f1d6..a2b2f2fff8 100644 --- a/extras/Demo/Source/Demos/MultithreadingDemo.cpp +++ b/examples/Demo/Source/Demos/MultithreadingDemo.cpp @@ -245,7 +245,7 @@ public: void paint (Graphics& g) override { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } private: diff --git a/extras/Demo/Source/Demos/NetworkingDemo.cpp b/examples/Demo/Source/Demos/NetworkingDemo.cpp similarity index 95% rename from extras/Demo/Source/Demos/NetworkingDemo.cpp rename to examples/Demo/Source/Demos/NetworkingDemo.cpp index d0c7a471e2..d30678007f 100644 --- a/extras/Demo/Source/Demos/NetworkingDemo.cpp +++ b/examples/Demo/Source/Demos/NetworkingDemo.cpp @@ -55,7 +55,7 @@ public: void paint (Graphics& g) override { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } void resized() override diff --git a/extras/Demo/Source/Demos/OpenGLDemo.cpp b/examples/Demo/Source/Demos/OpenGLDemo.cpp similarity index 97% rename from extras/Demo/Source/Demos/OpenGLDemo.cpp rename to examples/Demo/Source/Demos/OpenGLDemo.cpp index 0b959c3db9..a4f1a991b3 100644 --- a/extras/Demo/Source/Demos/OpenGLDemo.cpp +++ b/examples/Demo/Source/Demos/OpenGLDemo.cpp @@ -383,7 +383,7 @@ struct OpenGLDemoClasses fragmentDocument.addListener (this); textures.add (new BuiltInTexture ("Portmeirion", BinaryData::portmeirion_jpg, BinaryData::portmeirion_jpgSize)); - textures.add (new BuiltInTexture ("Brushed aluminium", BinaryData::brushed_aluminium_png, BinaryData::brushed_aluminium_pngSize)); + textures.add (new BuiltInTexture ("Tiled Background", BinaryData::tile_background_png, BinaryData::tile_background_pngSize)); textures.add (new BuiltInTexture ("JUCE logo", BinaryData::juce_icon_png, BinaryData::juce_icon_pngSize)); textures.add (new DynamicTexture()); diff --git a/extras/Demo/Source/Demos/OpenGLDemo2D.cpp b/examples/Demo/Source/Demos/OpenGLDemo2D.cpp similarity index 100% rename from extras/Demo/Source/Demos/OpenGLDemo2D.cpp rename to examples/Demo/Source/Demos/OpenGLDemo2D.cpp diff --git a/extras/Demo/Source/Demos/PropertiesDemo.cpp b/examples/Demo/Source/Demos/PropertiesDemo.cpp similarity index 100% rename from extras/Demo/Source/Demos/PropertiesDemo.cpp rename to examples/Demo/Source/Demos/PropertiesDemo.cpp diff --git a/extras/Demo/Source/Demos/SystemInfoDemo.cpp b/examples/Demo/Source/Demos/SystemInfoDemo.cpp similarity index 100% rename from extras/Demo/Source/Demos/SystemInfoDemo.cpp rename to examples/Demo/Source/Demos/SystemInfoDemo.cpp diff --git a/extras/Demo/Source/Demos/TimersAndEventsDemo.cpp b/examples/Demo/Source/Demos/TimersAndEventsDemo.cpp similarity index 96% rename from extras/Demo/Source/Demos/TimersAndEventsDemo.cpp rename to examples/Demo/Source/Demos/TimersAndEventsDemo.cpp index 3441580a7b..8f7cd09144 100644 --- a/extras/Demo/Source/Demos/TimersAndEventsDemo.cpp +++ b/examples/Demo/Source/Demos/TimersAndEventsDemo.cpp @@ -68,7 +68,7 @@ public: void startFlashing() { flashAlpha = 1.0f; - startTimer (1000 / 25); + startTimerHz (25); } /** Stops this component flashing without sending a change message. */ diff --git a/extras/Demo/Source/Demos/UnitTestsDemo.cpp b/examples/Demo/Source/Demos/UnitTestsDemo.cpp similarity index 100% rename from extras/Demo/Source/Demos/UnitTestsDemo.cpp rename to examples/Demo/Source/Demos/UnitTestsDemo.cpp diff --git a/extras/Demo/Source/Demos/ValueTreesDemo.cpp b/examples/Demo/Source/Demos/ValueTreesDemo.cpp similarity index 96% rename from extras/Demo/Source/Demos/ValueTreesDemo.cpp rename to examples/Demo/Source/Demos/ValueTreesDemo.cpp index 503be976f0..f338330653 100644 --- a/extras/Demo/Source/Demos/ValueTreesDemo.cpp +++ b/examples/Demo/Source/Demos/ValueTreesDemo.cpp @@ -186,7 +186,7 @@ public: void paint (Graphics& g) override { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } void resized() override diff --git a/extras/Demo/Source/Demos/VideoDemo.cpp b/examples/Demo/Source/Demos/VideoDemo.cpp similarity index 96% rename from extras/Demo/Source/Demos/VideoDemo.cpp rename to examples/Demo/Source/Demos/VideoDemo.cpp index 37981b7091..5c697a784c 100644 --- a/extras/Demo/Source/Demos/VideoDemo.cpp +++ b/examples/Demo/Source/Demos/VideoDemo.cpp @@ -186,7 +186,7 @@ public: void paint (Graphics& g) override { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } void resized() override diff --git a/extras/Demo/Source/Demos/WavefrontObjParser.h b/examples/Demo/Source/Demos/WavefrontObjParser.h similarity index 100% rename from extras/Demo/Source/Demos/WavefrontObjParser.h rename to examples/Demo/Source/Demos/WavefrontObjParser.h diff --git a/extras/Demo/Source/Demos/WebBrowserDemo.cpp b/examples/Demo/Source/Demos/WebBrowserDemo.cpp similarity index 100% rename from extras/Demo/Source/Demos/WebBrowserDemo.cpp rename to examples/Demo/Source/Demos/WebBrowserDemo.cpp diff --git a/extras/Demo/Source/Demos/WidgetsDemo.cpp b/examples/Demo/Source/Demos/WidgetsDemo.cpp similarity index 100% rename from extras/Demo/Source/Demos/WidgetsDemo.cpp rename to examples/Demo/Source/Demos/WidgetsDemo.cpp diff --git a/extras/Demo/Source/Demos/WindowsDemo.cpp b/examples/Demo/Source/Demos/WindowsDemo.cpp similarity index 100% rename from extras/Demo/Source/Demos/WindowsDemo.cpp rename to examples/Demo/Source/Demos/WindowsDemo.cpp diff --git a/extras/Demo/Source/Demos/XMLandJSONDemo.cpp b/examples/Demo/Source/Demos/XMLandJSONDemo.cpp similarity index 96% rename from extras/Demo/Source/Demos/XMLandJSONDemo.cpp rename to examples/Demo/Source/Demos/XMLandJSONDemo.cpp index 19f97d3815..58751a68e6 100644 --- a/extras/Demo/Source/Demos/XMLandJSONDemo.cpp +++ b/examples/Demo/Source/Demos/XMLandJSONDemo.cpp @@ -255,7 +255,7 @@ public: void paint (Graphics& g) override { - fillBrushedAluminiumBackground (g); + fillTiledBackground (g); } void resized() override diff --git a/extras/Demo/Source/IntroScreen.cpp b/examples/Demo/Source/IntroScreen.cpp similarity index 71% rename from extras/Demo/Source/IntroScreen.cpp rename to examples/Demo/Source/IntroScreen.cpp index 0e66c1655f..3708f6569c 100644 --- a/extras/Demo/Source/IntroScreen.cpp +++ b/examples/Demo/Source/IntroScreen.cpp @@ -71,37 +71,39 @@ private: struct LogoDrawComponent : public Component, private Timer { - LogoDrawComponent() : logoPath (MainAppWindow::getJUCELogoPath()) + LogoDrawComponent() : logoPath (MainAppWindow::getJUCELogoPath()), elapsed (0.0f) { setBounds (logoPath.getBounds().withPosition (Point()).getSmallestIntegerContainer()); - startTimer (1000 / 60); // try to repaint at 60 fps + startTimerHz (60); // try to repaint at 60 fps } void paint (Graphics& g) override { - g.setGradientFill (getGradient()); + Path wavePath; + const float waveStep = 10.0f; + int i = 0; + + for (float x = waveStep * 0.5f; x < getWidth(); x += waveStep) + { + const float y1 = getHeight() * 0.5f + getHeight() * 0.05f * std::sin (i * 0.38f + elapsed); + const float y2 = getHeight() * 0.5f + getHeight() * 0.10f * std::sin (i * 0.20f + elapsed * 2.0f); + + wavePath.addLineSegment (Line (x, y1, x, y2), 2.0f); + wavePath.addEllipse (x - waveStep * 0.3f, y1 - waveStep * 0.3f, waveStep * 0.6f, waveStep * 0.6f); + wavePath.addEllipse (x - waveStep * 0.3f, y2 - waveStep * 0.3f, waveStep * 0.6f, waveStep * 0.6f); + + ++i; + } + + g.setColour (Colour::greyLevel (0.3f)); + g.fillPath (wavePath); + + g.setColour (Colours::orange); g.fillPath (logoPath, RectanglePlacement (RectanglePlacement::stretchToFit) - .getTransformToFit (logoPath.getBounds(), getLocalBounds().toFloat())); - } - - ColourGradient getGradient() const - { - Colour c1 = Colour::fromHSV (hues[0].getValue(), 0.3f, 0.9f, 1.0f); - Colour c2 = Colour::fromHSV (hues[1].getValue(), 0.3f, 0.9f, 1.0f); - Colour c3 = Colour::fromHSV (hues[2].getValue(), 0.3f, 0.9f, 1.0f); - - float x1 = getWidth() * gradientPos[0].getValue(); - float x2 = getWidth() * gradientPos[1].getValue(); - float y1 = getHeight() * gradientPos[2].getValue(); - float y2 = getHeight() * gradientPos[3].getValue(); - - ColourGradient gradient (c1, x1, y1, - c2, x2, y2, false); - - gradient.addColour (0.5, c3); - return gradient; + .getTransformToFit (logoPath.getBounds(), + getLocalBounds().toFloat().reduced (30, 30))); } void updateTransform() @@ -112,14 +114,7 @@ private: AffineTransform transform = RectanglePlacement (RectanglePlacement::centred) .getTransformToFit (getLocalBounds().toFloat(), - parentArea.reduced (50.0f, 50.0f)); - - float scaleFactor = 1.0f + size.getValue() * 0.2f; - float rotationAngle = (angle.getValue() - 0.5f) * 0.1f; - - transform = transform.scaled (scaleFactor, scaleFactor, parentArea.getCentreX(), parentArea.getCentreY()) - .rotated (rotationAngle, parentArea.getCentreX(), parentArea.getCentreY()); - + parentArea); setTransform (transform); } @@ -129,15 +124,17 @@ private: private: void timerCallback() override { - updateTransform(); + repaint(); + elapsed += 0.01f; } Path logoPath; - BouncingNumber gradientPos[4], hues[3], size, angle; + float elapsed; }; LogoDrawComponent logo; + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (IntroScreen) }; diff --git a/extras/Demo/Source/JuceDemoHeader.h b/examples/Demo/Source/JuceDemoHeader.h similarity index 100% rename from extras/Demo/Source/JuceDemoHeader.h rename to examples/Demo/Source/JuceDemoHeader.h diff --git a/extras/Demo/Source/Main.cpp b/examples/Demo/Source/Main.cpp similarity index 100% rename from extras/Demo/Source/Main.cpp rename to examples/Demo/Source/Main.cpp diff --git a/extras/Demo/Source/MainWindow.cpp b/examples/Demo/Source/MainWindow.cpp similarity index 99% rename from extras/Demo/Source/MainWindow.cpp rename to examples/Demo/Source/MainWindow.cpp index 469f2b3f32..d4552c2e11 100644 --- a/extras/Demo/Source/MainWindow.cpp +++ b/examples/Demo/Source/MainWindow.cpp @@ -109,12 +109,17 @@ class ContentComponent : public Component, public: ContentComponent() { + // set lookAndFeel colour properties + lookAndFeelV3.setColour (Label::textColourId, Colours::white); + lookAndFeelV3.setColour (Label::textColourId, Colours::white); + lookAndFeelV3.setColour (ToggleButton::textColourId, Colours::white); LookAndFeel::setDefaultLookAndFeel (&lookAndFeelV3); - addAndMakeVisible (demoList); demoList.setModel (this); - demoList.setColour (ListBox::backgroundColourId, Colour::greyLevel (0.7f)); + demoList.setColour (ListBox::backgroundColourId, Colour::greyLevel (0.3f)); demoList.selectRow (0); + addAndMakeVisible (demoList); + } void clearCurrentDemo() @@ -149,7 +154,7 @@ public: void paintListBoxItem (int rowNumber, Graphics& g, int width, int height, bool rowIsSelected) override { if (rowIsSelected) - g.fillAll (findColour (TextEditor::highlightColourId)); + g.fillAll (Colours::deepskyblue); if (JuceDemoTypeBase* type = JuceDemoTypeBase::getDemoTypeList() [rowNumber]) { @@ -172,9 +177,9 @@ public: } if (category.isNotEmpty()) - a.append (category, Font (10.0f), Colours::black); + a.append (category, Font (10.0f), Colour::greyLevel (0.5f)); - a.append (name, Font (13.0f).boldened(), Colours::black); + a.append (name, Font (13.0f), Colours::white.withAlpha (0.9f)); a.draw (g, Rectangle (width + 10, height).reduced (6, 0).toFloat()); } diff --git a/extras/Demo/Source/MainWindow.h b/examples/Demo/Source/MainWindow.h similarity index 100% rename from extras/Demo/Source/MainWindow.h rename to examples/Demo/Source/MainWindow.h diff --git a/extras/example projects/Builds/Linux/Makefile b/examples/HelloWorld/Builds/Linux/Makefile similarity index 100% rename from extras/example projects/Builds/Linux/Makefile rename to examples/HelloWorld/Builds/Linux/Makefile diff --git a/extras/example projects/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj b/examples/HelloWorld/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj similarity index 99% rename from extras/example projects/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj rename to examples/HelloWorld/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj index bccf26fab7..b72bd77423 100644 --- a/extras/example projects/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj +++ b/examples/HelloWorld/Builds/MacOSX/HelloWorld.xcodeproj/project.pbxproj @@ -257,6 +257,7 @@ 5DBA0BFB2868C3E1F1E871FB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; 5E2CB1D4DC6ED933AA81C43A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5E38635277CA0767A3B1A229 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; + 5E4F70838E79D6A25B8A80B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 5E716763BE04772CA06592DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; 5F55D2FE7338877E1CDD4B45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; 5FCCDEEE0E7A1AD4179D1E1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -575,6 +576,7 @@ DBBD318E15A635AACB31E1DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; DBE5789816F028CE53FD3EB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; DC4EE2A66A86B99C8D9B0068 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; + DCCDA2F20A439FE5044946DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; DD10783090721EFE21E4FAA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; DD374C28FF1CF5F121C3C6E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; DD6356DF25DE4F39BFB2BD87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -1382,6 +1384,8 @@ 02C0DD7DC29B27B39D5FF154, DD10783090721EFE21E4FAA5, ); name = embedding; sourceTree = ""; }; F4FF39023AE719A2C1FDFCF6 = {isa = PBXGroup; children = ( + DCCDA2F20A439FE5044946DE, + 5E4F70838E79D6A25B8A80B0, 74AB579ADDC7C355C5704A16, CB713D4A63E08276975B7639, 5E2CB1D4DC6ED933AA81C43A, diff --git a/extras/example projects/Builds/MacOSX/Info.plist b/examples/HelloWorld/Builds/MacOSX/Info.plist similarity index 100% rename from extras/example projects/Builds/MacOSX/Info.plist rename to examples/HelloWorld/Builds/MacOSX/Info.plist diff --git a/extras/example projects/Builds/MacOSX/RecentFilesMenuTemplate.nib b/examples/HelloWorld/Builds/MacOSX/RecentFilesMenuTemplate.nib similarity index 100% rename from extras/example projects/Builds/MacOSX/RecentFilesMenuTemplate.nib rename to examples/HelloWorld/Builds/MacOSX/RecentFilesMenuTemplate.nib diff --git a/extras/example projects/Builds/VisualStudio2005/HelloWorld.sln b/examples/HelloWorld/Builds/VisualStudio2005/HelloWorld.sln similarity index 100% rename from extras/example projects/Builds/VisualStudio2005/HelloWorld.sln rename to examples/HelloWorld/Builds/VisualStudio2005/HelloWorld.sln diff --git a/extras/example projects/Builds/VisualStudio2005/HelloWorld.vcproj b/examples/HelloWorld/Builds/VisualStudio2005/HelloWorld.vcproj similarity index 97% rename from extras/example projects/Builds/VisualStudio2005/HelloWorld.vcproj rename to examples/HelloWorld/Builds/VisualStudio2005/HelloWorld.vcproj index 3dcd70e7bc..deb926c479 100644 --- a/extras/example projects/Builds/VisualStudio2005/HelloWorld.vcproj +++ b/examples/HelloWorld/Builds/VisualStudio2005/HelloWorld.vcproj @@ -3191,6 +3191,17 @@ + + + + + + + + + + + + + + + + + + + + + + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.yourcompany.OpenGLAppExample + CFBundleName + OpenGLAppExample + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/OpenGLAppExample/Builds/MacOSX/OpenGLAppExample.xcodeproj/project.pbxproj b/examples/OpenGLAppExample/Builds/MacOSX/OpenGLAppExample.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..052cf2b26e --- /dev/null +++ b/examples/OpenGLAppExample/Builds/MacOSX/OpenGLAppExample.xcodeproj/project.pbxproj @@ -0,0 +1,2885 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 0A0FD3B4C732A965C2642CC8 /* juce_graphics.mm in Sources */ = {isa = PBXBuildFile; fileRef = C0C66A94FBDE992AAD71C698 /* juce_graphics.mm */; }; + 148EA191DA9D3066A3C4EEEC /* juce_data_structures.mm in Sources */ = {isa = PBXBuildFile; fileRef = 353C4A5B04236912332BDB1E /* juce_data_structures.mm */; }; + 1E0BAEC7950969D956E912F1 /* BinaryData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9BBC3E0155BC3F36F21F7EBB /* BinaryData.cpp */; }; + 238A6E94B07DB483C42E0D18 /* juce_core.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3ED09149246BD2CC3D114FB1 /* juce_core.mm */; }; + 2A954B85CEC7CB6CDDE645AF /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8E5DB762FF5447085518EB85 /* CoreAudio.framework */; }; + 3BFCAE441B663BD739FBCCB4 /* CoreMIDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6CDDF198D9632DA763449E05 /* CoreMIDI.framework */; }; + 4A3B2112EAB24C18FCD790DD /* RecentFilesMenuTemplate.nib in Resources */ = {isa = PBXBuildFile; fileRef = 25D7DC711CE171A1F8DBFF05 /* RecentFilesMenuTemplate.nib */; }; + 4FC452CEC761FB0515E83B9C /* juce_audio_basics.mm in Sources */ = {isa = PBXBuildFile; fileRef = C62300B9478B60BCBE254256 /* juce_audio_basics.mm */; }; + 5211AFD1D8E7FD62EDA703A9 /* MainComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 75A8F56B635DA7158E472382 /* MainComponent.cpp */; }; + 5EB3C30963D75E7D43D6AD9A /* juce_audio_processors.mm in Sources */ = {isa = PBXBuildFile; fileRef = BA895F5D0FC2F40DA0566469 /* juce_audio_processors.mm */; }; + 6243594E2BFD65B88D9F9918 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 525E733E59BB89937210A34E /* QuartzCore.framework */; }; + 6790BEB5EE46E3DF6332536F /* juce_audio_devices.mm in Sources */ = {isa = PBXBuildFile; fileRef = D4A815675983D742D87E37A5 /* juce_audio_devices.mm */; }; + 6A909F1AEE38A7340456EBBD /* Main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 82443CD4F42884B9D33A85EA /* Main.cpp */; }; + 70755FD2C3B5797C7BD66CF3 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 201259150E2168D8B93D9C87 /* QuickTime.framework */; }; + 7FF434A451FC85BF1B79BC7F /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3948321FE783006946DC8F1F /* AudioToolbox.framework */; }; + 86349C45A45EB863AAFB24AD /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 88B4E2B52BB5B6B622243FDC /* OpenGL.framework */; }; + 8A6D37A2A20E92532DE4CDE6 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2A8888BB2A9B1BF61955BEA /* Cocoa.framework */; }; + 8A7C3FEF41B5A5913396E7B1 /* juce_cryptography.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7BE9659292437455B77D53F1 /* juce_cryptography.mm */; }; + 913CB51D1475C7F94739502A /* juce_gui_extra.mm in Sources */ = {isa = PBXBuildFile; fileRef = D782993D6DAF0AF948A62517 /* juce_gui_extra.mm */; }; + 938FA7CCB4CD0A844BE6509F /* juce_video.mm in Sources */ = {isa = PBXBuildFile; fileRef = 757D9E8B34634C0E899922F9 /* juce_video.mm */; }; + 96CB0F03F9B80A334DEA2147 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DB3D37600C745E6F62C5A04B /* Carbon.framework */; }; + 978A2567AA64957C61694427 /* juce_gui_basics.mm in Sources */ = {isa = PBXBuildFile; fileRef = C3B0CE7BC50EE3F20BB261EC /* juce_gui_basics.mm */; }; + A449C4B4D524AF85F99933DB /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 56B04319D227E406E44AD15D /* WebKit.framework */; }; + B592CCDBC97987937D3E1990 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84E689978B0D7D84B1A39C77 /* IOKit.framework */; }; + BEC90605659632469EAEFED9 /* DiscRecording.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 20425A69967DA67634118166 /* DiscRecording.framework */; }; + BEE9A8C926B45616AC4426AB /* juce_events.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4DDD5CACDD472784437AB83C /* juce_events.mm */; }; + D0E5FADCDC70B5989BE7D147 /* FragmentShader.glsl in Sources */ = {isa = PBXBuildFile; fileRef = 9BE0EDFED0FC2720BB3AE101 /* FragmentShader.glsl */; }; + D31034CCE86D686B109ADE0F /* VertexShader.glsl in Sources */ = {isa = PBXBuildFile; fileRef = DD387A0509039658A5DC2AE5 /* VertexShader.glsl */; }; + D4371AC9EBB0CA9B69C81C98 /* juce_audio_formats.mm in Sources */ = {isa = PBXBuildFile; fileRef = FBDBBE33AEF062A1457DAA42 /* juce_audio_formats.mm */; }; + D54B744850AA08DC348CE8D8 /* juce_opengl.mm in Sources */ = {isa = PBXBuildFile; fileRef = F07914AFCF34610BAC0D3B0B /* juce_opengl.mm */; }; + EA339F19B6848D97F15D2691 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7C2C344C1697462278777A3C /* QTKit.framework */; }; + F2E327A47E10F43D6991A306 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50151F5E1EA38C0768AD9AC8 /* Accelerate.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 003AAB5BFC9435FA4823BA2F /* juce_win32_CameraDevice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_CameraDevice.cpp; path = ../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp; sourceTree = SOURCE_ROOT; }; + 014A45F4DF5D4B850A2E712D /* juce_module_info */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_module_info; path = ../../../../modules/juce_data_structures/juce_module_info; sourceTree = SOURCE_ROOT; }; + 015766ED6CD9D55279FC884A /* juce_Rectangle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Rectangle.h; path = ../../../../modules/juce_graphics/geometry/juce_Rectangle.h; sourceTree = SOURCE_ROOT; }; + 019CD85E295A7290855D0C24 /* juce_DialogWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DialogWindow.h; path = ../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h; sourceTree = SOURCE_ROOT; }; + 01B29765150B583E2460837C /* juce_MenuBarComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MenuBarComponent.h; path = ../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h; sourceTree = SOURCE_ROOT; }; + 01D4F510A1EE5495A8A419C0 /* juce_KeyPressMappingSet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_KeyPressMappingSet.h; path = ../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h; sourceTree = SOURCE_ROOT; }; + 01FC5A0075F643D703F56555 /* juce_OpenGLContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLContext.h; path = ../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h; sourceTree = SOURCE_ROOT; }; + 0411B541BEDEC5A67ECEAA31 /* juce_MidiMessageCollector.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MidiMessageCollector.cpp; path = ../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp; sourceTree = SOURCE_ROOT; }; + 046591508FC3F71F74126E81 /* juce_LookAndFeel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LookAndFeel.cpp; path = ../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp; sourceTree = SOURCE_ROOT; }; + 04F64700F41A639DA16732BF /* juce_MidiBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiBuffer.h; path = ../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h; sourceTree = SOURCE_ROOT; }; + 0557BAAD94B3B3AFAF7607EF /* juce_MidiKeyboardState.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MidiKeyboardState.cpp; path = ../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp; sourceTree = SOURCE_ROOT; }; + 05F871A5DA3290898E2EBFBE /* juce_MathsFunctions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MathsFunctions.h; path = ../../../../modules/juce_core/maths/juce_MathsFunctions.h; sourceTree = SOURCE_ROOT; }; + 06FB32F5B510DEC2A6D2FBCD /* juce_Synthesiser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Synthesiser.cpp; path = ../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp; sourceTree = SOURCE_ROOT; }; + 0737A415932C93579574CE2D /* juce_audio_formats.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_audio_formats.h; path = ../../../../modules/juce_audio_formats/juce_audio_formats.h; sourceTree = SOURCE_ROOT; }; + 0769D44014FDF069ECA54115 /* juce_ResizableWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ResizableWindow.cpp; path = ../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp; sourceTree = SOURCE_ROOT; }; + 07A41B027C9FC2A6DAC801F3 /* juce_CharPointer_ASCII.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CharPointer_ASCII.h; path = ../../../../modules/juce_core/text/juce_CharPointer_ASCII.h; sourceTree = SOURCE_ROOT; }; + 07E89C9A0EBF5FF6A0A05EA5 /* juce_android_WebBrowserComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_WebBrowserComponent.cpp; path = ../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp; sourceTree = SOURCE_ROOT; }; + 0892B622D73826BB91C8E418 /* juce_ToolbarButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ToolbarButton.cpp; path = ../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp; sourceTree = SOURCE_ROOT; }; + 0917DAAA83C16F4D430A4961 /* juce_MidiBuffer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MidiBuffer.cpp; path = ../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp; sourceTree = SOURCE_ROOT; }; + 0950F9F7698F791C6BC7626A /* juce_IIRFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_IIRFilter.h; path = ../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h; sourceTree = SOURCE_ROOT; }; + 097B8DA5C29B16C544CEA626 /* juce_SpinLock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SpinLock.h; path = ../../../../modules/juce_core/threads/juce_SpinLock.h; sourceTree = SOURCE_ROOT; }; + 0B26EC9D2A47B858246A76EF /* juce_mac_AudioCDBurner.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_AudioCDBurner.mm; path = ../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm; sourceTree = SOURCE_ROOT; }; + 0C2B705429E7587EB29AAD6A /* juce_HashMap.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_HashMap.h; path = ../../../../modules/juce_core/containers/juce_HashMap.h; sourceTree = SOURCE_ROOT; }; + 0C5D36923235127BEC48777C /* juce_BufferingAudioSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BufferingAudioSource.h; path = ../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h; sourceTree = SOURCE_ROOT; }; + 0C76BB6E3BA98DEED44473E7 /* juce_ScopedValueSetter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ScopedValueSetter.h; path = ../../../../modules/juce_core/containers/juce_ScopedValueSetter.h; sourceTree = SOURCE_ROOT; }; + 0CB9B8098AB7F4CFF3991565 /* juce_UndoManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_UndoManager.cpp; path = ../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp; sourceTree = SOURCE_ROOT; }; + 0CD440EC6D9EF66E117E3EBD /* juce_android_Network.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_Network.cpp; path = ../../../../modules/juce_core/native/juce_android_Network.cpp; sourceTree = SOURCE_ROOT; }; + 0D158239399CB7487C663168 /* juce_JSON.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_JSON.h; path = ../../../../modules/juce_core/javascript/juce_JSON.h; sourceTree = SOURCE_ROOT; }; + 0D5008DFFC00B074A9970585 /* juce_FillType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FillType.h; path = ../../../../modules/juce_graphics/colour/juce_FillType.h; sourceTree = SOURCE_ROOT; }; + 0D79BD52315BE837BAD64A82 /* juce_DrawableComposite.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DrawableComposite.cpp; path = ../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp; sourceTree = SOURCE_ROOT; }; + 0E1CA391708ADDE3952BF147 /* juce_ConnectedChildProcess.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ConnectedChildProcess.h; path = ../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h; sourceTree = SOURCE_ROOT; }; + 0ED63C3FFD7B718988BDDAFF /* juce_OpenGLExtensions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLExtensions.h; path = ../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h; sourceTree = SOURCE_ROOT; }; + 0F0458EF50C559CFF42DDC67 /* juce_Random.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Random.h; path = ../../../../modules/juce_core/maths/juce_Random.h; sourceTree = SOURCE_ROOT; }; + 0F1752D7FC9D89588551D5C3 /* juce_module_info */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_module_info; path = ../../../../modules/juce_gui_basics/juce_module_info; sourceTree = SOURCE_ROOT; }; + 0F7BCDE5E324E86EEA86BA7A /* juce_Logger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Logger.h; path = ../../../../modules/juce_core/logging/juce_Logger.h; sourceTree = SOURCE_ROOT; }; + 0F7EB01A494A7D2D347B9167 /* juce_GZIPCompressorOutputStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_GZIPCompressorOutputStream.cpp; path = ../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp; sourceTree = SOURCE_ROOT; }; + 108D2A323EA2D7B31289AFFE /* juce_BufferingAudioFormatReader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BufferingAudioFormatReader.h; path = ../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h; sourceTree = SOURCE_ROOT; }; + 10FB75AD59E8E2AEF38167B4 /* juce_AudioProcessorGraph.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioProcessorGraph.cpp; path = ../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp; sourceTree = SOURCE_ROOT; }; + 110D8C5EEF130FB1E1F7D286 /* juce_XMLCodeTokeniser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_XMLCodeTokeniser.cpp; path = ../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp; sourceTree = SOURCE_ROOT; }; + 11614D602849B43F5ED92934 /* juce_AudioDataConverters.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioDataConverters.cpp; path = ../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp; sourceTree = SOURCE_ROOT; }; + 11F77DEDB8DDE2BC9B1DAB0D /* juce_linux_Threads.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Threads.cpp; path = ../../../../modules/juce_core/native/juce_linux_Threads.cpp; sourceTree = SOURCE_ROOT; }; + 121C4D9B35F16FF170A9D4E3 /* juce_win32_HiddenMessageWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_win32_HiddenMessageWindow.h; path = ../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h; sourceTree = SOURCE_ROOT; }; + 1233B57573AB9503E0625ECB /* juce_CodeDocument.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_CodeDocument.cpp; path = ../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp; sourceTree = SOURCE_ROOT; }; + 12BD203CEA0CE311A5789BB8 /* juce_win32_Network.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Network.cpp; path = ../../../../modules/juce_core/native/juce_win32_Network.cpp; sourceTree = SOURCE_ROOT; }; + 13FC99389707E91E7EB6D000 /* juce_DynamicLibrary.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DynamicLibrary.h; path = ../../../../modules/juce_core/threads/juce_DynamicLibrary.h; sourceTree = SOURCE_ROOT; }; + 13FF137ABBAC726B7785FE0B /* juce_BufferingAudioFormatReader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_BufferingAudioFormatReader.cpp; path = ../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp; sourceTree = SOURCE_ROOT; }; + 140AFDDDAB2B88153F46692E /* juce_Thread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Thread.cpp; path = ../../../../modules/juce_core/threads/juce_Thread.cpp; sourceTree = SOURCE_ROOT; }; + 14254C2E6F168DB69F9F6494 /* juce_UndoManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_UndoManager.h; path = ../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h; sourceTree = SOURCE_ROOT; }; + 144BF62327063E0017BB7B0A /* juce_FilePreviewComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FilePreviewComponent.h; path = ../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h; sourceTree = SOURCE_ROOT; }; + 14BAD66A370FA342144C7BFC /* juce_RSAKey.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RSAKey.h; path = ../../../../modules/juce_cryptography/encryption/juce_RSAKey.h; sourceTree = SOURCE_ROOT; }; + 14BF2173D8CD3520B21E01E0 /* juce_Image.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Image.h; path = ../../../../modules/juce_graphics/images/juce_Image.h; sourceTree = SOURCE_ROOT; }; + 1542F586268CE982EE1C9607 /* juce_android_OpenSL.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_OpenSL.cpp; path = ../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp; sourceTree = SOURCE_ROOT; }; + 1565307D5DC70CAC563B579F /* juce_Image.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Image.cpp; path = ../../../../modules/juce_graphics/images/juce_Image.cpp; sourceTree = SOURCE_ROOT; }; + 160486C90F388089629BA392 /* juce_AbstractFifo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AbstractFifo.h; path = ../../../../modules/juce_core/containers/juce_AbstractFifo.h; sourceTree = SOURCE_ROOT; }; + 16094015FECE7F7A1EE6B751 /* juce_CharPointer_UTF32.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CharPointer_UTF32.h; path = ../../../../modules/juce_core/text/juce_CharPointer_UTF32.h; sourceTree = SOURCE_ROOT; }; + 1633D4A7385E8AB77FB6723E /* juce_SliderPropertyComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SliderPropertyComponent.h; path = ../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h; sourceTree = SOURCE_ROOT; }; + 16421110FEB104E290E3F13C /* juce_MouseInactivityDetector.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MouseInactivityDetector.h; path = ../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h; sourceTree = SOURCE_ROOT; }; + 168D70A9989ECA609D355DA6 /* juce_TableHeaderComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TableHeaderComponent.h; path = ../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h; sourceTree = SOURCE_ROOT; }; + 169C1D0433B29AF96A6FD27E /* juce_FileBasedDocument.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileBasedDocument.cpp; path = ../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp; sourceTree = SOURCE_ROOT; }; + 16D38AE110B44FE0D5E26F9D /* juce_WindowsMediaAudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_WindowsMediaAudioFormat.cpp; path = ../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp; sourceTree = SOURCE_ROOT; }; + 17077E8777B646C03C92D20B /* juce_BorderSize.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BorderSize.h; path = ../../../../modules/juce_graphics/geometry/juce_BorderSize.h; sourceTree = SOURCE_ROOT; }; + 1742A7C8BB2AA11AE93DA43D /* juce_WavAudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_WavAudioFormat.h; path = ../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h; sourceTree = SOURCE_ROOT; }; + 1782B7FCE431430BD11700EB /* juce_ComponentDragger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ComponentDragger.cpp; path = ../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp; sourceTree = SOURCE_ROOT; }; + 179BD4E3BB66F7CC1747ADAA /* juce_linux_SystemTrayIcon.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_SystemTrayIcon.cpp; path = ../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp; sourceTree = SOURCE_ROOT; }; + 17A033D6C28B1E76FA8BEFCF /* juce_RelativeCoordinate.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RelativeCoordinate.cpp; path = ../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp; sourceTree = SOURCE_ROOT; }; + 17AB5E83E71D5864435A011B /* juce_Slider.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Slider.cpp; path = ../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp; sourceTree = SOURCE_ROOT; }; + 18459D45EE3F7766AB932678 /* juce_PreferencesPanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PreferencesPanel.h; path = ../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h; sourceTree = SOURCE_ROOT; }; + 18E61768FC20A6C65CF73DA5 /* juce_EdgeTable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_EdgeTable.h; path = ../../../../modules/juce_graphics/geometry/juce_EdgeTable.h; sourceTree = SOURCE_ROOT; }; + 198B97A4FB9B21A3357160C0 /* juce_BlowFish.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_BlowFish.cpp; path = ../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp; sourceTree = SOURCE_ROOT; }; + 19B1556541E4426450C8397C /* juce_android_JNIHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_android_JNIHelpers.h; path = ../../../../modules/juce_core/native/juce_android_JNIHelpers.h; sourceTree = SOURCE_ROOT; }; + 1A366C1E8FF34F708C0AF994 /* juce_AudioPluginFormatManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioPluginFormatManager.cpp; path = ../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp; sourceTree = SOURCE_ROOT; }; + 1A424A0B9D68C68CD5B075E7 /* juce_MouseInputSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MouseInputSource.cpp; path = ../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp; sourceTree = SOURCE_ROOT; }; + 1AB2337020B7AA4AD329405A /* juce_TableListBox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TableListBox.cpp; path = ../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp; sourceTree = SOURCE_ROOT; }; + 1B0BEB542ED5BA84E52AEA2E /* juce_PopupMenu.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PopupMenu.cpp; path = ../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp; sourceTree = SOURCE_ROOT; }; + 1BC364DFD3A975A0CBA0AC61 /* juce_AnimatedPositionBehaviours.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AnimatedPositionBehaviours.h; path = ../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h; sourceTree = SOURCE_ROOT; }; + 1BDDC4F584BE877D4DC1ED90 /* juce_ListenerList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ListenerList.h; path = ../../../../modules/juce_events/broadcasters/juce_ListenerList.h; sourceTree = SOURCE_ROOT; }; + 1C02F9D8BEBC13937D8D9BAA /* juce_ResizableCornerComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ResizableCornerComponent.cpp; path = ../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp; sourceTree = SOURCE_ROOT; }; + 1C196D0BC6B08623601273FF /* juce_MouseListener.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MouseListener.cpp; path = ../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp; sourceTree = SOURCE_ROOT; }; + 1CC05551F14FFC0161D8E12A /* juce_AudioUnitPluginFormat.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_AudioUnitPluginFormat.mm; path = ../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm; sourceTree = SOURCE_ROOT; }; + 1CEAFFE79A9E1A1E32C2BFD6 /* juce_XMLCodeTokeniser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_XMLCodeTokeniser.h; path = ../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h; sourceTree = SOURCE_ROOT; }; + 1D6EA6E2DC8F03826454F21D /* juce_ComboBox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ComboBox.h; path = ../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h; sourceTree = SOURCE_ROOT; }; + 1DC4AC19C53D307B6007D02F /* juce_Singleton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Singleton.h; path = ../../../../modules/juce_core/memory/juce_Singleton.h; sourceTree = SOURCE_ROOT; }; + 1E07768DDE29F15BF4F32C48 /* juce_KeyPress.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_KeyPress.h; path = ../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h; sourceTree = SOURCE_ROOT; }; + 1E21F56456B1A05606B1A328 /* juce_MountedVolumeListChangeDetector.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MountedVolumeListChangeDetector.h; path = ../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h; sourceTree = SOURCE_ROOT; }; + 1E6168E98312F552A0C57E54 /* juce_GZIPCompressorOutputStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_GZIPCompressorOutputStream.h; path = ../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h; sourceTree = SOURCE_ROOT; }; + 1E7CA4A04A182412B3ECEBF6 /* juce_LowLevelGraphicsSoftwareRenderer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LowLevelGraphicsSoftwareRenderer.h; path = ../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h; sourceTree = SOURCE_ROOT; }; + 1ED3843AC8AC67374F6F5F77 /* juce_ChoicePropertyComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ChoicePropertyComponent.h; path = ../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h; sourceTree = SOURCE_ROOT; }; + 1F0F8E76A0B7D289D66C4101 /* juce_Path.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Path.cpp; path = ../../../../modules/juce_graphics/geometry/juce_Path.cpp; sourceTree = SOURCE_ROOT; }; + 1F6C3ACBB74CDDEBCBFCCA57 /* juce_AudioProcessorEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioProcessorEditor.h; path = ../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h; sourceTree = SOURCE_ROOT; }; + 201259150E2168D8B93D9C87 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = System/Library/Frameworks/QuickTime.framework; sourceTree = SDKROOT; }; + 20425A69967DA67634118166 /* DiscRecording.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; + 20A48C39E51031BF57458A55 /* juce_UnitTest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_UnitTest.h; path = ../../../../modules/juce_core/unit_tests/juce_UnitTest.h; sourceTree = SOURCE_ROOT; }; + 20F2CFC88281301E30E08682 /* juce_AudioPluginFormatManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioPluginFormatManager.h; path = ../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h; sourceTree = SOURCE_ROOT; }; + 21273C209FE7E19C59952EE3 /* juce_MultiDocumentPanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MultiDocumentPanel.h; path = ../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h; sourceTree = SOURCE_ROOT; }; + 21FAFC1D8D92872E96F56764 /* juce_Quaternion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Quaternion.h; path = ../../../../modules/juce_opengl/geometry/juce_Quaternion.h; sourceTree = SOURCE_ROOT; }; + 220732F05D2DEBC2ADF2D45C /* juce_RelativeRectangle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RelativeRectangle.h; path = ../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h; sourceTree = SOURCE_ROOT; }; + 223B9626308B07EEEDA7C89F /* juce_FillType.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FillType.cpp; path = ../../../../modules/juce_graphics/colour/juce_FillType.cpp; sourceTree = SOURCE_ROOT; }; + 22B8E3336C2DA6F5DE3CE748 /* juce_mac_SystemTrayIcon.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_mac_SystemTrayIcon.cpp; path = ../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp; sourceTree = SOURCE_ROOT; }; + 22D01A956BCD31F2C54E4E38 /* juce_CharacterFunctions.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_CharacterFunctions.cpp; path = ../../../../modules/juce_core/text/juce_CharacterFunctions.cpp; sourceTree = SOURCE_ROOT; }; + 23E996355EF7DFDCECA97B64 /* juce_DirectoryIterator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DirectoryIterator.cpp; path = ../../../../modules/juce_core/files/juce_DirectoryIterator.cpp; sourceTree = SOURCE_ROOT; }; + 23EA0178C7150CBA80E79215 /* juce_AudioUnitPluginFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioUnitPluginFormat.h; path = ../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h; sourceTree = SOURCE_ROOT; }; + 23F1F8A1566366CCFAC8A5BB /* juce_MidiMessage.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MidiMessage.cpp; path = ../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp; sourceTree = SOURCE_ROOT; }; + 24E54A22403128BA82D02B09 /* juce_Synthesiser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Synthesiser.h; path = ../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h; sourceTree = SOURCE_ROOT; }; + 2517140ED8C0697A51CF87AA /* juce_URL.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_URL.h; path = ../../../../modules/juce_core/network/juce_URL.h; sourceTree = SOURCE_ROOT; }; + 254F2F62D02E4B48191083CD /* juce_mac_SystemStats.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_SystemStats.mm; path = ../../../../modules/juce_core/native/juce_mac_SystemStats.mm; sourceTree = SOURCE_ROOT; }; + 2553F95186E2565315E012CF /* juce_OpenGL_linux.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGL_linux.h; path = ../../../../modules/juce_opengl/native/juce_OpenGL_linux.h; sourceTree = SOURCE_ROOT; }; + 25B327FEFEA517FB80B16EA1 /* juce_OwnedArray.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OwnedArray.h; path = ../../../../modules/juce_core/containers/juce_OwnedArray.h; sourceTree = SOURCE_ROOT; }; + 25D7DC711CE171A1F8DBFF05 /* RecentFilesMenuTemplate.nib */ = {isa = PBXFileReference; lastKnownFileType = file.nib; path = RecentFilesMenuTemplate.nib; sourceTree = SOURCE_ROOT; }; + 260D03D00CBF739BB3A2F604 /* juce_ApplicationProperties.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ApplicationProperties.cpp; path = ../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp; sourceTree = SOURCE_ROOT; }; + 266A60D0C3095B8F7F16751E /* juce_AudioPluginFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioPluginFormat.h; path = ../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h; sourceTree = SOURCE_ROOT; }; + 2740DD21925484E4BC243630 /* juce_MouseListener.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MouseListener.h; path = ../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h; sourceTree = SOURCE_ROOT; }; + 274546C14A985F7D454E16B7 /* juce_android_Threads.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_Threads.cpp; path = ../../../../modules/juce_core/native/juce_android_Threads.cpp; sourceTree = SOURCE_ROOT; }; + 274FB7736A16D65B40E1EA71 /* juce_android_Misc.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_Misc.cpp; path = ../../../../modules/juce_core/native/juce_android_Misc.cpp; sourceTree = SOURCE_ROOT; }; + 275CF9CA5A34E2825DB8792C /* juce_MenuBarModel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MenuBarModel.cpp; path = ../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp; sourceTree = SOURCE_ROOT; }; + 279A6546016EEB8F9264EB39 /* juce_Font.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Font.cpp; path = ../../../../modules/juce_graphics/fonts/juce_Font.cpp; sourceTree = SOURCE_ROOT; }; + 279D354D902DE91EB32B1BE6 /* juce_win32_FileChooser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_FileChooser.cpp; path = ../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp; sourceTree = SOURCE_ROOT; }; + 27AB89D8B21801C1528F53C8 /* juce_PathStrokeType.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PathStrokeType.cpp; path = ../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp; sourceTree = SOURCE_ROOT; }; + 27C1C1AD957D9955A13E3A4E /* JuceHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = SOURCE_ROOT; }; + 281ADBFFA54CFADAE46AAE79 /* juce_FileChooser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileChooser.h; path = ../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h; sourceTree = SOURCE_ROOT; }; + 2822F9B316AEF7797E0F04B4 /* juce_MemoryMappedAudioFormatReader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MemoryMappedAudioFormatReader.h; path = ../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h; sourceTree = SOURCE_ROOT; }; + 284C742F571D494237C52C2D /* juce_RectanglePlacement.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RectanglePlacement.h; path = ../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h; sourceTree = SOURCE_ROOT; }; + 28BF10B49B1D14FE05CBC5DA /* juce_ShapeButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ShapeButton.h; path = ../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h; sourceTree = SOURCE_ROOT; }; + 28DEE4AF47201ED83DFD5875 /* juce_AudioSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioSource.h; path = ../../../../modules/juce_audio_basics/sources/juce_AudioSource.h; sourceTree = SOURCE_ROOT; }; + 28ECC3EF6106E7DB0E4F256C /* juce_Reverb.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Reverb.h; path = ../../../../modules/juce_audio_basics/effects/juce_Reverb.h; sourceTree = SOURCE_ROOT; }; + 2931E23782DDD4761EA6E711 /* juce_BubbleMessageComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BubbleMessageComponent.h; path = ../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h; sourceTree = SOURCE_ROOT; }; + 293D0E58C45CE26287E99822 /* juce_ModalComponentManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ModalComponentManager.cpp; path = ../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp; sourceTree = SOURCE_ROOT; }; + 2951B1B0EE3CE714426016F1 /* juce_win32_Midi.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Midi.cpp; path = ../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp; sourceTree = SOURCE_ROOT; }; + 2A274CF384892F3968889E0C /* juce_CompilerSupport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CompilerSupport.h; path = ../../../../modules/juce_core/system/juce_CompilerSupport.h; sourceTree = SOURCE_ROOT; }; + 2A5F9649D883210E5C67CEE4 /* juce_Colour.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Colour.cpp; path = ../../../../modules/juce_graphics/colour/juce_Colour.cpp; sourceTree = SOURCE_ROOT; }; + 2A765F108608FDD8B2089BD1 /* juce_module_info */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_module_info; path = ../../../../modules/juce_cryptography/juce_module_info; sourceTree = SOURCE_ROOT; }; + 2B594B1579F4770CA36E870C /* juce_PNGLoader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PNGLoader.cpp; path = ../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp; sourceTree = SOURCE_ROOT; }; + 2BCD3C3BC90487E5B932FC98 /* juce_LinkedListPointer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LinkedListPointer.h; path = ../../../../modules/juce_core/containers/juce_LinkedListPointer.h; sourceTree = SOURCE_ROOT; }; + 2BEA66F83F12716439729EEA /* juce_ReadWriteLock.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ReadWriteLock.cpp; path = ../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp; sourceTree = SOURCE_ROOT; }; + 2BFABFBE400EBD477EEC1F7D /* juce_ios_Windowing.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_ios_Windowing.mm; path = ../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm; sourceTree = SOURCE_ROOT; }; + 2C4E26E2F6F3B5522CA9993E /* juce_android_SystemStats.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_SystemStats.cpp; path = ../../../../modules/juce_core/native/juce_android_SystemStats.cpp; sourceTree = SOURCE_ROOT; }; + 2CB561058728D0EA3A66AF4A /* juce_Typeface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Typeface.cpp; path = ../../../../modules/juce_graphics/fonts/juce_Typeface.cpp; sourceTree = SOURCE_ROOT; }; + 2CD2FBF66999807E0B86E0B0 /* juce_ApplicationCommandID.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ApplicationCommandID.h; path = ../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h; sourceTree = SOURCE_ROOT; }; + 2CE3A9187CAA637AAF93C273 /* juce_ReverbAudioSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ReverbAudioSource.h; path = ../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h; sourceTree = SOURCE_ROOT; }; + 2D23BD941B1F4B65E5A2C2F3 /* juce_InputStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_InputStream.h; path = ../../../../modules/juce_core/streams/juce_InputStream.h; sourceTree = SOURCE_ROOT; }; + 2D4DFDFFC93646E9C078865E /* juce_LAMEEncoderAudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LAMEEncoderAudioFormat.h; path = ../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h; sourceTree = SOURCE_ROOT; }; + 2D6A1D77D896FF6DDD5EC49F /* juce_Component.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Component.h; path = ../../../../modules/juce_gui_basics/components/juce_Component.h; sourceTree = SOURCE_ROOT; }; + 2DA8BDECC570B976D34D9263 /* juce_TreeView.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TreeView.cpp; path = ../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp; sourceTree = SOURCE_ROOT; }; + 2DBFFAB8701557418A4C7CA2 /* juce_AudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioFormat.h; path = ../../../../modules/juce_audio_formats/format/juce_AudioFormat.h; sourceTree = SOURCE_ROOT; }; + 2E1213ABCA6E339D156C6825 /* juce_AudioCDReader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioCDReader.cpp; path = ../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp; sourceTree = SOURCE_ROOT; }; + 2E355DED51A6E9DFBFDA84CC /* juce_InterProcessLock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_InterProcessLock.h; path = ../../../../modules/juce_core/threads/juce_InterProcessLock.h; sourceTree = SOURCE_ROOT; }; + 2E62B2A1D5FE20D7E675DC3F /* juce_freetype_Fonts.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_freetype_Fonts.cpp; path = ../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp; sourceTree = SOURCE_ROOT; }; + 2EC200E7CF8C908AC3DF4416 /* juce_AnimatedPosition.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AnimatedPosition.h; path = ../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h; sourceTree = SOURCE_ROOT; }; + 30CBDFC5F16FD990ABC2C486 /* juce_graphics.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_graphics.h; path = ../../../../modules/juce_graphics/juce_graphics.h; sourceTree = SOURCE_ROOT; }; + 3134A6BDE49CF0D3F0B12FE2 /* juce_PropertyPanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PropertyPanel.h; path = ../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h; sourceTree = SOURCE_ROOT; }; + 31416E7F36800B9ACAEA176F /* juce_AudioFormatWriter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioFormatWriter.cpp; path = ../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp; sourceTree = SOURCE_ROOT; }; + 317988D9466ECCE83B91CD24 /* juce_video.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_video.h; path = ../../../../modules/juce_video/juce_video.h; sourceTree = SOURCE_ROOT; }; + 3197F342A372898714E25F70 /* juce_TextDiff.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TextDiff.h; path = ../../../../modules/juce_core/text/juce_TextDiff.h; sourceTree = SOURCE_ROOT; }; + 31AF78DCC817DE98C01E1EEE /* juce_MidiMessage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiMessage.h; path = ../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h; sourceTree = SOURCE_ROOT; }; + 31B42F889DD1C79540881B97 /* juce_ApplicationCommandManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ApplicationCommandManager.h; path = ../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h; sourceTree = SOURCE_ROOT; }; + 31CD83018DA7BED28A70EC1C /* juce_Component.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Component.cpp; path = ../../../../modules/juce_gui_basics/components/juce_Component.cpp; sourceTree = SOURCE_ROOT; }; + 32940D3F55D43FA834DAD545 /* juce_win32_Registry.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Registry.cpp; path = ../../../../modules/juce_core/native/juce_win32_Registry.cpp; sourceTree = SOURCE_ROOT; }; + 32CFACA9C637ABD27F8A874F /* juce_OpenGL_android.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGL_android.h; path = ../../../../modules/juce_opengl/native/juce_OpenGL_android.h; sourceTree = SOURCE_ROOT; }; + 32D11E8A57FD1B5250A5E493 /* juce_ZipFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ZipFile.cpp; path = ../../../../modules/juce_core/zip/juce_ZipFile.cpp; sourceTree = SOURCE_ROOT; }; + 332346809620F9AFA7CF3D59 /* juce_win32_Threads.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Threads.cpp; path = ../../../../modules/juce_core/native/juce_win32_Threads.cpp; sourceTree = SOURCE_ROOT; }; + 338C5E41B8903F0894709201 /* juce_mac_NSViewComponentPeer.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_NSViewComponentPeer.mm; path = ../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm; sourceTree = SOURCE_ROOT; }; + 33B9E6212D92FB49C792ACE9 /* juce_RelativeParallelogram.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RelativeParallelogram.cpp; path = ../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp; sourceTree = SOURCE_ROOT; }; + 33D5910744D9482DBA614144 /* juce_ConcertinaPanel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ConcertinaPanel.h; path = ../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h; sourceTree = SOURCE_ROOT; }; + 33FDA12B0256C2A4BD51B11E /* juce_OggVorbisAudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OggVorbisAudioFormat.cpp; path = ../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp; sourceTree = SOURCE_ROOT; }; + 343BF0E7697F399B08D42CB7 /* juce_BubbleComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BubbleComponent.h; path = ../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h; sourceTree = SOURCE_ROOT; }; + 34CBE9CCD9B23B1405C76D9C /* juce_SubregionStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SubregionStream.h; path = ../../../../modules/juce_core/streams/juce_SubregionStream.h; sourceTree = SOURCE_ROOT; }; + 353C4A5B04236912332BDB1E /* juce_data_structures.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_data_structures.mm; path = ../../../../modules/juce_data_structures/juce_data_structures.mm; sourceTree = SOURCE_ROOT; }; + 3545CC1CCF501BDBFF528908 /* juce_ButtonPropertyComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ButtonPropertyComponent.h; path = ../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h; sourceTree = SOURCE_ROOT; }; + 354636C92CDB97DAF80D1E6A /* juce_ToolbarItemComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ToolbarItemComponent.h; path = ../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h; sourceTree = SOURCE_ROOT; }; + 355B143DFA326CC401844099 /* juce_ProgressBar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ProgressBar.h; path = ../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h; sourceTree = SOURCE_ROOT; }; + 355F2CA65E4117FDE2391872 /* juce_StringPool.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_StringPool.cpp; path = ../../../../modules/juce_core/text/juce_StringPool.cpp; sourceTree = SOURCE_ROOT; }; + 35641C490EE335DDFF004FEC /* juce_InterprocessConnection.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_InterprocessConnection.cpp; path = ../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp; sourceTree = SOURCE_ROOT; }; + 356A77E7E341874950015BD0 /* juce_NamedValueSet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_NamedValueSet.h; path = ../../../../modules/juce_core/containers/juce_NamedValueSet.h; sourceTree = SOURCE_ROOT; }; + 35748B2B69B3A54D19679F3A /* juce_RelativePoint.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RelativePoint.h; path = ../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h; sourceTree = SOURCE_ROOT; }; + 3594634D87002997155671C1 /* juce_module_info */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_module_info; path = ../../../../modules/juce_audio_formats/juce_module_info; sourceTree = SOURCE_ROOT; }; + 35B404161217DAE32CC143CB /* juce_OpenGLGraphicsContext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OpenGLGraphicsContext.cpp; path = ../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp; sourceTree = SOURCE_ROOT; }; + 360B3CDCB046B9D69C6F5ED4 /* juce_RelativePointPath.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RelativePointPath.h; path = ../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h; sourceTree = SOURCE_ROOT; }; + 36632604A700FC8F53169301 /* juce_Javascript.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Javascript.cpp; path = ../../../../modules/juce_core/javascript/juce_Javascript.cpp; sourceTree = SOURCE_ROOT; }; + 3693D26AD61B3B089A2B9CEC /* juce_ComponentBuilder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ComponentBuilder.h; path = ../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h; sourceTree = SOURCE_ROOT; }; + 36C81D39EEE59DF7D8AB0E0B /* juce_MidiMessageCollector.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiMessageCollector.h; path = ../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h; sourceTree = SOURCE_ROOT; }; + 37BD426B7B7DD8BB3EF562A6 /* juce_DirectoryContentsDisplayComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DirectoryContentsDisplayComponent.cpp; path = ../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp; sourceTree = SOURCE_ROOT; }; + 38043242051AD4996B081769 /* juce_Drawable.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Drawable.h; path = ../../../../modules/juce_gui_basics/drawables/juce_Drawable.h; sourceTree = SOURCE_ROOT; }; + 38A0CFC456FB82927DF8B990 /* juce_KeyListener.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_KeyListener.h; path = ../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h; sourceTree = SOURCE_ROOT; }; + 38ADFF5CB2DD15D371425F8B /* juce_FlacAudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FlacAudioFormat.cpp; path = ../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp; sourceTree = SOURCE_ROOT; }; + 3901027B107F1E3047BE9DAC /* juce_PropertySet.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PropertySet.cpp; path = ../../../../modules/juce_core/containers/juce_PropertySet.cpp; sourceTree = SOURCE_ROOT; }; + 3935FEBDBA2F8025F602042C /* juce_HyperlinkButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_HyperlinkButton.cpp; path = ../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp; sourceTree = SOURCE_ROOT; }; + 393EA74C63AFA103F5F3264B /* juce_OpenGLImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLImage.h; path = ../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h; sourceTree = SOURCE_ROOT; }; + 3948321FE783006946DC8F1F /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + 396986DB8689B7C6909777E3 /* juce_ZipFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ZipFile.h; path = ../../../../modules/juce_core/zip/juce_ZipFile.h; sourceTree = SOURCE_ROOT; }; + 39CD252C183BBF175E1C0602 /* juce_ConcertinaPanel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ConcertinaPanel.cpp; path = ../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp; sourceTree = SOURCE_ROOT; }; + 39DAB20FE9D55152EB2D224A /* juce_ImagePreviewComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ImagePreviewComponent.cpp; path = ../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp; sourceTree = SOURCE_ROOT; }; + 39E15EA7A7D5C14DC2567263 /* juce_DynamicObject.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DynamicObject.cpp; path = ../../../../modules/juce_core/containers/juce_DynamicObject.cpp; sourceTree = SOURCE_ROOT; }; + 3A52ADB8D2B72A1E6F455ABA /* juce_KeyPress.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_KeyPress.cpp; path = ../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp; sourceTree = SOURCE_ROOT; }; + 3A5C86CF6276058B0D5AC399 /* juce_android_Windowing.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_Windowing.cpp; path = ../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp; sourceTree = SOURCE_ROOT; }; + 3A8EA18FCAE5801EF1AECC06 /* juce_android_Fonts.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_Fonts.cpp; path = ../../../../modules/juce_graphics/native/juce_android_Fonts.cpp; sourceTree = SOURCE_ROOT; }; + 3AC4E835893B368AD0A3A30F /* juce_CoreAudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CoreAudioFormat.h; path = ../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h; sourceTree = SOURCE_ROOT; }; + 3AD3CC5787E119E3A1F6A55F /* juce_OutputStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OutputStream.h; path = ../../../../modules/juce_core/streams/juce_OutputStream.h; sourceTree = SOURCE_ROOT; }; + 3B172600E3C05D62F424449B /* juce_LuaCodeTokeniser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LuaCodeTokeniser.cpp; path = ../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp; sourceTree = SOURCE_ROOT; }; + 3B2C9FC5B754F29B4BFF7EA9 /* juce_DirectoryContentsDisplayComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DirectoryContentsDisplayComponent.h; path = ../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h; sourceTree = SOURCE_ROOT; }; + 3B3B1BB15DFF71215E86A175 /* juce_PropertyComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PropertyComponent.cpp; path = ../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp; sourceTree = SOURCE_ROOT; }; + 3B3FC34DE0D784314690A93C /* juce_ios_MessageManager.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_ios_MessageManager.mm; path = ../../../../modules/juce_events/native/juce_ios_MessageManager.mm; sourceTree = SOURCE_ROOT; }; + 3B719AB087869724229AF10D /* juce_LagrangeInterpolator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LagrangeInterpolator.cpp; path = ../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp; sourceTree = SOURCE_ROOT; }; + 3B883BA33260250D6C443F87 /* juce_ImageButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ImageButton.cpp; path = ../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp; sourceTree = SOURCE_ROOT; }; + 3C90895F90CF6FA4714DBF6F /* juce_CodeEditorComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_CodeEditorComponent.cpp; path = ../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp; sourceTree = SOURCE_ROOT; }; + 3CCB2447E4FA1C412FEEE551 /* juce_InterprocessConnectionServer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_InterprocessConnectionServer.h; path = ../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h; sourceTree = SOURCE_ROOT; }; + 3CF6CC164ED4826B4DF73177 /* juce_TextLayout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TextLayout.h; path = ../../../../modules/juce_graphics/fonts/juce_TextLayout.h; sourceTree = SOURCE_ROOT; }; + 3D26B83681D1E47ADFB2D8A9 /* juce_QuickTimeMovieComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_QuickTimeMovieComponent.h; path = ../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h; sourceTree = SOURCE_ROOT; }; + 3DCD8AA2FF25FBE6919E8F64 /* juce_Logger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Logger.cpp; path = ../../../../modules/juce_core/logging/juce_Logger.cpp; sourceTree = SOURCE_ROOT; }; + 3DF5CBEC136D13446079C001 /* juce_mac_MessageManager.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_MessageManager.mm; path = ../../../../modules/juce_events/native/juce_mac_MessageManager.mm; sourceTree = SOURCE_ROOT; }; + 3E157C0C9F33470C32DE6008 /* juce_AudioFormatReaderSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioFormatReaderSource.h; path = ../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h; sourceTree = SOURCE_ROOT; }; + 3E22FC06C346385E732377C5 /* juce_ResizableBorderComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ResizableBorderComponent.h; path = ../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h; sourceTree = SOURCE_ROOT; }; + 3E3D664A12153D29FC1D42ED /* juce_Expression.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Expression.h; path = ../../../../modules/juce_core/maths/juce_Expression.h; sourceTree = SOURCE_ROOT; }; + 3E5E15C429B5D8BDA6815193 /* juce_Toolbar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Toolbar.h; path = ../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h; sourceTree = SOURCE_ROOT; }; + 3E85ACEDFE88D01251E25E24 /* juce_LeakedObjectDetector.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LeakedObjectDetector.h; path = ../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h; sourceTree = SOURCE_ROOT; }; + 3EA7A5F6F6D13A68653F06E8 /* juce_File.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_File.h; path = ../../../../modules/juce_core/files/juce_File.h; sourceTree = SOURCE_ROOT; }; + 3ECBCBB5D76AD9DDE65BD81A /* juce_NamedPipe.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_NamedPipe.h; path = ../../../../modules/juce_core/network/juce_NamedPipe.h; sourceTree = SOURCE_ROOT; }; + 3ED09149246BD2CC3D114FB1 /* juce_core.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_core.mm; path = ../../../../modules/juce_core/juce_core.mm; sourceTree = SOURCE_ROOT; }; + 3F02F103D0EA0D398FA2A95D /* juce_Desktop.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Desktop.h; path = ../../../../modules/juce_gui_basics/components/juce_Desktop.h; sourceTree = SOURCE_ROOT; }; + 3F20765E456B1B8FF59C2461 /* juce_BufferedInputStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_BufferedInputStream.cpp; path = ../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp; sourceTree = SOURCE_ROOT; }; + 3F312C95E458F86E5D814AD3 /* juce_ColourSelector.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ColourSelector.cpp; path = ../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp; sourceTree = SOURCE_ROOT; }; + 3F32203D512AD417AE3548E4 /* juce_RecentlyOpenedFilesList.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RecentlyOpenedFilesList.cpp; path = ../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp; sourceTree = SOURCE_ROOT; }; + 3F57F6B58B93E88A29F90809 /* juce_DrawablePath.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DrawablePath.cpp; path = ../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp; sourceTree = SOURCE_ROOT; }; + 3FB32BF0AB8E9BD398E92361 /* juce_module_info */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_module_info; path = ../../../../modules/juce_opengl/juce_module_info; sourceTree = SOURCE_ROOT; }; + 406587D828CD424333E55C81 /* juce_RelativeCoordinatePositioner.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RelativeCoordinatePositioner.h; path = ../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h; sourceTree = SOURCE_ROOT; }; + 40ACA092AB6B933E39268DAF /* juce_linux_Midi.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Midi.cpp; path = ../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp; sourceTree = SOURCE_ROOT; }; + 40E971224B83783243521871 /* juce_DragAndDropContainer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DragAndDropContainer.cpp; path = ../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp; sourceTree = SOURCE_ROOT; }; + 410C72660348DFD81F81386C /* juce_win32_AudioCDBurner.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_AudioCDBurner.cpp; path = ../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp; sourceTree = SOURCE_ROOT; }; + 4142E8BA365FE77662B11891 /* juce_GlowEffect.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_GlowEffect.cpp; path = ../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp; sourceTree = SOURCE_ROOT; }; + 417D4A3533F8C72814441F51 /* juce_FileInputSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileInputSource.h; path = ../../../../modules/juce_core/streams/juce_FileInputSource.h; sourceTree = SOURCE_ROOT; }; + 41D42F7438B6C953A2DC5038 /* juce_Path.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Path.h; path = ../../../../modules/juce_graphics/geometry/juce_Path.h; sourceTree = SOURCE_ROOT; }; + 41F9BAD0BC589CC46CFEF495 /* juce_Random.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Random.cpp; path = ../../../../modules/juce_core/maths/juce_Random.cpp; sourceTree = SOURCE_ROOT; }; + 426B31F8A63727D575B2C782 /* juce_DirectoryContentsList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DirectoryContentsList.h; path = ../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h; sourceTree = SOURCE_ROOT; }; + 4271A817DD6497D0023C43A3 /* juce_GlyphArrangement.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_GlyphArrangement.cpp; path = ../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp; sourceTree = SOURCE_ROOT; }; + 427EF6B8A919A04D12F63829 /* juce_MessageManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MessageManager.cpp; path = ../../../../modules/juce_events/messages/juce_MessageManager.cpp; sourceTree = SOURCE_ROOT; }; + 42AE889B4D596FF23E2D77CB /* juce_SystemClipboard.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SystemClipboard.h; path = ../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h; sourceTree = SOURCE_ROOT; }; + 434AB1A1510034290ED3FBA8 /* juce_NamedPipe.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_NamedPipe.cpp; path = ../../../../modules/juce_core/network/juce_NamedPipe.cpp; sourceTree = SOURCE_ROOT; }; + 4391785C112C65C6C1F4E05A /* juce_ThreadWithProgressWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ThreadWithProgressWindow.cpp; path = ../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp; sourceTree = SOURCE_ROOT; }; + 4411214CB9D7F986DA5A92FD /* juce_PropertiesFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PropertiesFile.h; path = ../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h; sourceTree = SOURCE_ROOT; }; + 4421B5629FD22618255E5539 /* juce_DynamicObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DynamicObject.h; path = ../../../../modules/juce_core/containers/juce_DynamicObject.h; sourceTree = SOURCE_ROOT; }; + 449FC2FAA282C731A58D51E6 /* juce_ToggleButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ToggleButton.h; path = ../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h; sourceTree = SOURCE_ROOT; }; + 44EFBCE30DD206F4A55E4E81 /* juce_AlertWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AlertWindow.h; path = ../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h; sourceTree = SOURCE_ROOT; }; + 45693266645F0549AD1FEA88 /* juce_AudioTransportSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioTransportSource.h; path = ../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h; sourceTree = SOURCE_ROOT; }; + 46258D3B622AB0E2EF63F709 /* juce_SparseSet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SparseSet.h; path = ../../../../modules/juce_core/containers/juce_SparseSet.h; sourceTree = SOURCE_ROOT; }; + 4660BCF2E3BB5D499FA4A5EF /* juce_MemoryBlock.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MemoryBlock.cpp; path = ../../../../modules/juce_core/memory/juce_MemoryBlock.cpp; sourceTree = SOURCE_ROOT; }; + 4676425D91097FBD1689298C /* juce_ToolbarItemFactory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ToolbarItemFactory.h; path = ../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h; sourceTree = SOURCE_ROOT; }; + 4683DEED4D9E52F0A84FCEE2 /* juce_CodeTokeniser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CodeTokeniser.h; path = ../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h; sourceTree = SOURCE_ROOT; }; + 46F845FD963442D8748D3261 /* juce_PixelFormats.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PixelFormats.h; path = ../../../../modules/juce_graphics/colour/juce_PixelFormats.h; sourceTree = SOURCE_ROOT; }; + 4717C14F84229B39FA2FA86B /* juce_android_FileChooser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_FileChooser.cpp; path = ../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp; sourceTree = SOURCE_ROOT; }; + 473E98AA655246EECA75EDD1 /* juce_GlowEffect.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_GlowEffect.h; path = ../../../../modules/juce_graphics/effects/juce_GlowEffect.h; sourceTree = SOURCE_ROOT; }; + 47E94C2476E8A7171A484CF0 /* juce_AudioSampleBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioSampleBuffer.h; path = ../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h; sourceTree = SOURCE_ROOT; }; + 4825BC8A3502320ED671408E /* juce_mac_Fonts.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_Fonts.mm; path = ../../../../modules/juce_graphics/native/juce_mac_Fonts.mm; sourceTree = SOURCE_ROOT; }; + 48285F283B8D98122DB9D028 /* juce_PluginDescription.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PluginDescription.cpp; path = ../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp; sourceTree = SOURCE_ROOT; }; + 484ACD3191DB5BEB198EEF97 /* juce_SelectedItemSet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SelectedItemSet.h; path = ../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h; sourceTree = SOURCE_ROOT; }; + 489D9B3F2489315DBF5C552E /* juce_Application.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Application.h; path = ../../../../modules/juce_gui_basics/application/juce_Application.h; sourceTree = SOURCE_ROOT; }; + 48FCAA413FA6EC7E02B33A6E /* juce_StringPool.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StringPool.h; path = ../../../../modules/juce_core/text/juce_StringPool.h; sourceTree = SOURCE_ROOT; }; + 49837BCC6CD64D108AA3E37D /* juce_ComponentBuilder.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ComponentBuilder.cpp; path = ../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp; sourceTree = SOURCE_ROOT; }; + 4AB3D9133A3357A3FDAD3BB1 /* juce_HighResolutionTimer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_HighResolutionTimer.cpp; path = ../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp; sourceTree = SOURCE_ROOT; }; + 4AB453F1DFC4EA7AE058B0EA /* juce_win32_Fonts.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Fonts.cpp; path = ../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp; sourceTree = SOURCE_ROOT; }; + 4ADEE86E1B443E58DA6A90FC /* juce_KnownPluginList.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_KnownPluginList.cpp; path = ../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp; sourceTree = SOURCE_ROOT; }; + 4B409B90CC47BF0477D7F6E4 /* juce_TreeView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TreeView.h; path = ../../../../modules/juce_gui_basics/widgets/juce_TreeView.h; sourceTree = SOURCE_ROOT; }; + 4BF34287391AB2ED382C9CB2 /* juce_mac_MainMenu.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_MainMenu.mm; path = ../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm; sourceTree = SOURCE_ROOT; }; + 4C57FEDA7D19BB3D05326948 /* juce_SystemTrayIconComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_SystemTrayIconComponent.cpp; path = ../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp; sourceTree = SOURCE_ROOT; }; + 4C9A8BA6A094DC3490CF25B0 /* juce_StretchableObjectResizer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StretchableObjectResizer.h; path = ../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h; sourceTree = SOURCE_ROOT; }; + 4CAE848C3F30163816E921DC /* juce_MD5.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MD5.h; path = ../../../../modules/juce_cryptography/hashing/juce_MD5.h; sourceTree = SOURCE_ROOT; }; + 4D95426C0ADAF01F92462C1E /* juce_AudioProcessorListener.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioProcessorListener.h; path = ../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h; sourceTree = SOURCE_ROOT; }; + 4DDD5CACDD472784437AB83C /* juce_events.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_events.mm; path = ../../../../modules/juce_events/juce_events.mm; sourceTree = SOURCE_ROOT; }; + 4E053EF00EC72441FCC9A6ED /* juce_OpenGLPixelFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OpenGLPixelFormat.cpp; path = ../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp; sourceTree = SOURCE_ROOT; }; + 4E4A47F8BEEF90A57C0C98C5 /* juce_Sampler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Sampler.h; path = ../../../../modules/juce_audio_formats/sampler/juce_Sampler.h; sourceTree = SOURCE_ROOT; }; + 4EBBA20040624174084744DF /* juce_ValueTree.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ValueTree.cpp; path = ../../../../modules/juce_data_structures/values/juce_ValueTree.cpp; sourceTree = SOURCE_ROOT; }; + 4F70D57A0CFEEC0D7FADCB9D /* juce_BufferingAudioSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_BufferingAudioSource.cpp; path = ../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp; sourceTree = SOURCE_ROOT; }; + 4F9D0FABF1E74572460D086C /* juce_OpenGLImage.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OpenGLImage.cpp; path = ../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp; sourceTree = SOURCE_ROOT; }; + 4FBA6C32DE977B1330BAD5DD /* juce_KeyboardFocusTraverser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_KeyboardFocusTraverser.h; path = ../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h; sourceTree = SOURCE_ROOT; }; + 50151F5E1EA38C0768AD9AC8 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 502503CB0C00102976DF1023 /* juce_win32_Messaging.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Messaging.cpp; path = ../../../../modules/juce_events/native/juce_win32_Messaging.cpp; sourceTree = SOURCE_ROOT; }; + 506DE1D3A739746007E33852 /* juce_AttributedString.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AttributedString.h; path = ../../../../modules/juce_graphics/fonts/juce_AttributedString.h; sourceTree = SOURCE_ROOT; }; + 509031D02C057DCD1F713B6B /* juce_StandardHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StandardHeader.h; path = ../../../../modules/juce_core/system/juce_StandardHeader.h; sourceTree = SOURCE_ROOT; }; + 509FC03682CA45E87F7E0A67 /* juce_AudioSubsectionReader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioSubsectionReader.h; path = ../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h; sourceTree = SOURCE_ROOT; }; + 50CAEE20832DF292261BF105 /* juce_MixerAudioSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MixerAudioSource.cpp; path = ../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp; sourceTree = SOURCE_ROOT; }; + 51713BEF84B3A58844692401 /* juce_ActionListener.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ActionListener.h; path = ../../../../modules/juce_events/broadcasters/juce_ActionListener.h; sourceTree = SOURCE_ROOT; }; + 51C3B7D6330C765ADFB672FF /* juce_AudioSourcePlayer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioSourcePlayer.h; path = ../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h; sourceTree = SOURCE_ROOT; }; + 51FDDE6DD9DC3FB98747A0E7 /* juce_linux_WebBrowserComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_WebBrowserComponent.cpp; path = ../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp; sourceTree = SOURCE_ROOT; }; + 52057B317B0FC98209D5BEC9 /* juce_AudioPlayHead.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioPlayHead.h; path = ../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h; sourceTree = SOURCE_ROOT; }; + 525E733E59BB89937210A34E /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + 52B122DC1886502CCCD16ED2 /* juce_ResizableEdgeComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ResizableEdgeComponent.cpp; path = ../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp; sourceTree = SOURCE_ROOT; }; + 5375E8C69E76D1570BE36946 /* juce_MemoryOutputStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MemoryOutputStream.h; path = ../../../../modules/juce_core/streams/juce_MemoryOutputStream.h; sourceTree = SOURCE_ROOT; }; + 53890D1A9DE3751F3A19C3C3 /* juce_Decibels.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Decibels.h; path = ../../../../modules/juce_audio_basics/effects/juce_Decibels.h; sourceTree = SOURCE_ROOT; }; + 541C3E9F5E720BF6D99D94CD /* juce_DirectoryContentsList.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DirectoryContentsList.cpp; path = ../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp; sourceTree = SOURCE_ROOT; }; + 546D112DEC6A685B52E4D7AA /* juce_FileBrowserComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileBrowserComponent.cpp; path = ../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp; sourceTree = SOURCE_ROOT; }; + 54B30BCC43C6CBF57A69A654 /* juce_InterprocessConnection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_InterprocessConnection.h; path = ../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h; sourceTree = SOURCE_ROOT; }; + 54E56E35A31C662C67992C7B /* juce_win32_Direct2DGraphicsContext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Direct2DGraphicsContext.cpp; path = ../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp; sourceTree = SOURCE_ROOT; }; + 5576ADF82B58BDBBCC75477C /* juce_MessageManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MessageManager.h; path = ../../../../modules/juce_events/messages/juce_MessageManager.h; sourceTree = SOURCE_ROOT; }; + 55C1F41C94C7C8ED73FC3288 /* juce_File.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_File.cpp; path = ../../../../modules/juce_core/files/juce_File.cpp; sourceTree = SOURCE_ROOT; }; + 56B04319D227E406E44AD15D /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; + 56C0EB0C9E4089ACA44588E6 /* juce_MD5.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MD5.cpp; path = ../../../../modules/juce_cryptography/hashing/juce_MD5.cpp; sourceTree = SOURCE_ROOT; }; + 56C2444E299E030DE7243C7D /* juce_RelativeRectangle.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RelativeRectangle.cpp; path = ../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp; sourceTree = SOURCE_ROOT; }; + 56CAE507F1D59D551C26B998 /* juce_Time.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Time.cpp; path = ../../../../modules/juce_core/time/juce_Time.cpp; sourceTree = SOURCE_ROOT; }; + 575F4E371F82188902F74A96 /* juce_FileSearchPath.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileSearchPath.h; path = ../../../../modules/juce_core/files/juce_FileSearchPath.h; sourceTree = SOURCE_ROOT; }; + 5784477EFEEAAD041BDF34D4 /* juce_FileLogger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileLogger.h; path = ../../../../modules/juce_core/logging/juce_FileLogger.h; sourceTree = SOURCE_ROOT; }; + 5789E773C615D393363707C8 /* juce_Primes.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Primes.cpp; path = ../../../../modules/juce_cryptography/encryption/juce_Primes.cpp; sourceTree = SOURCE_ROOT; }; + 57FE8CC6D36C0376D4065444 /* juce_android_Files.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_Files.cpp; path = ../../../../modules/juce_core/native/juce_android_Files.cpp; sourceTree = SOURCE_ROOT; }; + 5802E3490BEAFD892C837E2A /* OpenGLAppExample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OpenGLAppExample.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 58301731C17BEF7BF07541AF /* juce_ChangeListener.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ChangeListener.h; path = ../../../../modules/juce_events/broadcasters/juce_ChangeListener.h; sourceTree = SOURCE_ROOT; }; + 5848A09E20AA6FE9EF1E6898 /* juce_ShapeButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ShapeButton.cpp; path = ../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp; sourceTree = SOURCE_ROOT; }; + 58C9B8F93CF63036CA33A6C3 /* juce_VST3PluginFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_VST3PluginFormat.cpp; path = ../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp; sourceTree = SOURCE_ROOT; }; + 5989B7979A4446D163FD7E13 /* juce_ByteOrder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ByteOrder.h; path = ../../../../modules/juce_core/memory/juce_ByteOrder.h; sourceTree = SOURCE_ROOT; }; + 59B2E8822B445FDD2BC590B2 /* juce_android_Audio.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_Audio.cpp; path = ../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp; sourceTree = SOURCE_ROOT; }; + 59C461E6BF35CEC17FB2C9DC /* juce_Primes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Primes.h; path = ../../../../modules/juce_cryptography/encryption/juce_Primes.h; sourceTree = SOURCE_ROOT; }; + 5AFAF9A5651C30F1FF28A76A /* juce_OpenGL_osx.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGL_osx.h; path = ../../../../modules/juce_opengl/native/juce_OpenGL_osx.h; sourceTree = SOURCE_ROOT; }; + 5B546C6ED44CAF4197788BC0 /* juce_BooleanPropertyComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BooleanPropertyComponent.h; path = ../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h; sourceTree = SOURCE_ROOT; }; + 5B5D589850B147BE94D01D42 /* juce_TooltipClient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TooltipClient.h; path = ../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h; sourceTree = SOURCE_ROOT; }; + 5BB4A463E17E9C4AD5F43FFE /* juce_BufferedInputStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BufferedInputStream.h; path = ../../../../modules/juce_core/streams/juce_BufferedInputStream.h; sourceTree = SOURCE_ROOT; }; + 5BD5301D9DFF3CEA10C32DBB /* juce_BlowFish.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BlowFish.h; path = ../../../../modules/juce_cryptography/encryption/juce_BlowFish.h; sourceTree = SOURCE_ROOT; }; + 5BF81A5EBE596AB3F3E4C222 /* juce_mac_Windowing.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_Windowing.mm; path = ../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm; sourceTree = SOURCE_ROOT; }; + 5C51BB323073B2AD0320825A /* juce_Time.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Time.h; path = ../../../../modules/juce_core/time/juce_Time.h; sourceTree = SOURCE_ROOT; }; + 5CD7B0F647F366AC5510A13E /* juce_XmlElement.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_XmlElement.h; path = ../../../../modules/juce_core/xml/juce_XmlElement.h; sourceTree = SOURCE_ROOT; }; + 5CE4484E6BAB76C9B49E6ADE /* juce_HyperlinkButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_HyperlinkButton.h; path = ../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h; sourceTree = SOURCE_ROOT; }; + 5CF8CAB948FAAB9164F206B0 /* juce_mac_CoreAudio.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_mac_CoreAudio.cpp; path = ../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp; sourceTree = SOURCE_ROOT; }; + 5D998A4BC436D82C3A6E8606 /* juce_NormalisableRange.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_NormalisableRange.h; path = ../../../../modules/juce_core/maths/juce_NormalisableRange.h; sourceTree = SOURCE_ROOT; }; + 5F43D23FA8A72E66792AE5C7 /* juce_linux_AudioCDReader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_AudioCDReader.cpp; path = ../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp; sourceTree = SOURCE_ROOT; }; + 5F49099628EF3662332FDB0D /* juce_AiffAudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AiffAudioFormat.cpp; path = ../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp; sourceTree = SOURCE_ROOT; }; + 5F6BDD2491C4086940AAE045 /* juce_TextPropertyComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TextPropertyComponent.cpp; path = ../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp; sourceTree = SOURCE_ROOT; }; + 60359F3EE85F679C1D118136 /* juce_StretchableLayoutManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StretchableLayoutManager.h; path = ../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h; sourceTree = SOURCE_ROOT; }; + 60B2BAA3043C667FE98E94CC /* juce_String.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_String.h; path = ../../../../modules/juce_core/text/juce_String.h; sourceTree = SOURCE_ROOT; }; + 60F110007A8248E4318D9B0D /* juce_DropShadower.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DropShadower.cpp; path = ../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp; sourceTree = SOURCE_ROOT; }; + 61448959C09144CC093AA715 /* juce_ThreadPool.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ThreadPool.cpp; path = ../../../../modules/juce_core/threads/juce_ThreadPool.cpp; sourceTree = SOURCE_ROOT; }; + 61596F68A47C4BEA8F9A4D68 /* juce_DrawableText.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DrawableText.h; path = ../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h; sourceTree = SOURCE_ROOT; }; + 619377E030188B909977D85B /* juce_AudioCDReader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioCDReader.h; path = ../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h; sourceTree = SOURCE_ROOT; }; + 61C1B6B3336D774EAE4994F9 /* juce_DocumentWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DocumentWindow.cpp; path = ../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp; sourceTree = SOURCE_ROOT; }; + 623C7B6BD0B564F60F1F4012 /* juce_ApplicationProperties.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ApplicationProperties.h; path = ../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h; sourceTree = SOURCE_ROOT; }; + 62935FD655DDDCE70536555F /* juce_ApplicationCommandTarget.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ApplicationCommandTarget.cpp; path = ../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp; sourceTree = SOURCE_ROOT; }; + 62ABA7CF7D0CE2D7B3F7BFCD /* juce_MidiOutput.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MidiOutput.cpp; path = ../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp; sourceTree = SOURCE_ROOT; }; + 62F8069EE12495D7BDF5BCCB /* juce_ComponentMovementWatcher.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ComponentMovementWatcher.cpp; path = ../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp; sourceTree = SOURCE_ROOT; }; + 6364C602FBB1C4D7915DF708 /* juce_Uuid.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Uuid.h; path = ../../../../modules/juce_core/misc/juce_Uuid.h; sourceTree = SOURCE_ROOT; }; + 6436F4F5D143E72BD77EE053 /* juce_ToolbarButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ToolbarButton.h; path = ../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h; sourceTree = SOURCE_ROOT; }; + 6536E6457A8B77FDCC506401 /* juce_Button.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Button.cpp; path = ../../../../modules/juce_gui_basics/buttons/juce_Button.cpp; sourceTree = SOURCE_ROOT; }; + 6549876733A874A58F78CE78 /* juce_UnitTest.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_UnitTest.cpp; path = ../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp; sourceTree = SOURCE_ROOT; }; + 6555D39D3BE572E611DCA8EB /* juce_ButtonPropertyComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ButtonPropertyComponent.cpp; path = ../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp; sourceTree = SOURCE_ROOT; }; + 656CA5CB0EF44C76ACFFDCEA /* juce_linux_Messaging.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Messaging.cpp; path = ../../../../modules/juce_events/native/juce_linux_Messaging.cpp; sourceTree = SOURCE_ROOT; }; + 661DA0426C81D826ADA90BAC /* juce_ResamplingAudioSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ResamplingAudioSource.cpp; path = ../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp; sourceTree = SOURCE_ROOT; }; + 663F74D8282001BEA5E93096 /* juce_QuickTimeAudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_QuickTimeAudioFormat.cpp; path = ../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp; sourceTree = SOURCE_ROOT; }; + 665600E48FF051CFE90C698D /* juce_ModifierKeys.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ModifierKeys.cpp; path = ../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp; sourceTree = SOURCE_ROOT; }; + 66634B351B20F6B1F16ED9D2 /* juce_audio_basics.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_audio_basics.h; path = ../../../../modules/juce_audio_basics/juce_audio_basics.h; sourceTree = SOURCE_ROOT; }; + 66B35673D58EF4ABC6C50824 /* juce_MidiDataConcatenator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiDataConcatenator.h; path = ../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h; sourceTree = SOURCE_ROOT; }; + 66CFF6B31868957CCF9A1C68 /* juce_PluginDirectoryScanner.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PluginDirectoryScanner.h; path = ../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h; sourceTree = SOURCE_ROOT; }; + 67066EE59E69BCD634D38ABA /* juce_TableListBox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TableListBox.h; path = ../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h; sourceTree = SOURCE_ROOT; }; + 671B91E2FBEFF3E1A411B28A /* juce_OptionalScopedPointer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OptionalScopedPointer.h; path = ../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h; sourceTree = SOURCE_ROOT; }; + 67239C8DF5524A278253F181 /* juce_FileInputStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileInputStream.h; path = ../../../../modules/juce_core/files/juce_FileInputStream.h; sourceTree = SOURCE_ROOT; }; + 673396F4BEBFE86BF911DBB6 /* juce_SortedSet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SortedSet.h; path = ../../../../modules/juce_core/containers/juce_SortedSet.h; sourceTree = SOURCE_ROOT; }; + 6741B65B42E9858C7B580A36 /* juce_win32_DirectWriteTypeface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_DirectWriteTypeface.cpp; path = ../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp; sourceTree = SOURCE_ROOT; }; + 67B47838D621A526D8148308 /* juce_RecentlyOpenedFilesList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RecentlyOpenedFilesList.h; path = ../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h; sourceTree = SOURCE_ROOT; }; + 6894AE00A49D15E9C4A31355 /* juce_mac_CameraDevice.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_CameraDevice.mm; path = ../../../../modules/juce_video/native/juce_mac_CameraDevice.mm; sourceTree = SOURCE_ROOT; }; + 68C292BF84E3387285884015 /* juce_QuickTimeAudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_QuickTimeAudioFormat.h; path = ../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h; sourceTree = SOURCE_ROOT; }; + 68E2ACE653CDFA7D1EFBCB37 /* juce_MixerAudioSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MixerAudioSource.h; path = ../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h; sourceTree = SOURCE_ROOT; }; + 694EB6B22E35E09B6AB43EE2 /* juce_LookAndFeel_V2.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LookAndFeel_V2.cpp; path = ../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp; sourceTree = SOURCE_ROOT; }; + 6960FFB28F8600D605CEBEBD /* juce_ChannelRemappingAudioSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ChannelRemappingAudioSource.cpp; path = ../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp; sourceTree = SOURCE_ROOT; }; + 69AE98AB9502B4B4E7EBCD60 /* WavefrontObjParser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WavefrontObjParser.h; path = ../../Source/Resources/WavefrontObjParser.h; sourceTree = SOURCE_ROOT; }; + 69CA413A66B0EA204C1AFF4A /* juce_ModifierKeys.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ModifierKeys.h; path = ../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h; sourceTree = SOURCE_ROOT; }; + 69F89AFBA54B48038B47DDED /* juce_FileListComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileListComponent.cpp; path = ../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp; sourceTree = SOURCE_ROOT; }; + 6A972E2430F4B2D9A07D44D2 /* juce_NotificationType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_NotificationType.h; path = ../../../../modules/juce_events/messages/juce_NotificationType.h; sourceTree = SOURCE_ROOT; }; + 6AA216A8B8EF4E181BCD96A4 /* juce_ScrollBar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ScrollBar.cpp; path = ../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp; sourceTree = SOURCE_ROOT; }; + 6AC21250C86C558A82EE3B25 /* juce_String.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_String.cpp; path = ../../../../modules/juce_core/text/juce_String.cpp; sourceTree = SOURCE_ROOT; }; + 6B107438F2E31C0BF985A733 /* juce_Identifier.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Identifier.h; path = ../../../../modules/juce_core/text/juce_Identifier.h; sourceTree = SOURCE_ROOT; }; + 6B43A5B75AB87FC3CA8D05D3 /* juce_MP3AudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MP3AudioFormat.h; path = ../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h; sourceTree = SOURCE_ROOT; }; + 6B5BE388D982E05CD2C7BE10 /* juce_WindowsRegistry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_WindowsRegistry.h; path = ../../../../modules/juce_core/misc/juce_WindowsRegistry.h; sourceTree = SOURCE_ROOT; }; + 6B5D185CB49DC6746B357183 /* juce_AudioDataConverters.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioDataConverters.h; path = ../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h; sourceTree = SOURCE_ROOT; }; + 6BC5C181AD876196213378C2 /* juce_ImageCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ImageCache.h; path = ../../../../modules/juce_graphics/images/juce_ImageCache.h; sourceTree = SOURCE_ROOT; }; + 6C3B851F65AB406E5B6CAF7B /* juce_FileTreeComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileTreeComponent.h; path = ../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h; sourceTree = SOURCE_ROOT; }; + 6C4A5B3781D999AFA15F1016 /* juce_Viewport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Viewport.h; path = ../../../../modules/juce_gui_basics/layout/juce_Viewport.h; sourceTree = SOURCE_ROOT; }; + 6C5F536D935CF788C07424CC /* juce_win32_Windowing.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Windowing.cpp; path = ../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp; sourceTree = SOURCE_ROOT; }; + 6C8C142D26BAD246C4ECC102 /* juce_module_info */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_module_info; path = ../../../../modules/juce_video/juce_module_info; sourceTree = SOURCE_ROOT; }; + 6C91F33E01BD39630B255C47 /* juce_StringArray.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_StringArray.cpp; path = ../../../../modules/juce_core/text/juce_StringArray.cpp; sourceTree = SOURCE_ROOT; }; + 6CDDF198D9632DA763449E05 /* CoreMIDI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + 6CE60A4F64042BC1A2391987 /* juce_MultiTouchMapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MultiTouchMapper.h; path = ../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h; sourceTree = SOURCE_ROOT; }; + 6CF6624AD370E4716D42CEDF /* juce_RectanglePlacement.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RectanglePlacement.cpp; path = ../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp; sourceTree = SOURCE_ROOT; }; + 6D1D3AFCBD704E2E3A9AB0D9 /* juce_CaretComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_CaretComponent.cpp; path = ../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp; sourceTree = SOURCE_ROOT; }; + 6D3191834A1567C5C18A13AA /* juce_PropertiesFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PropertiesFile.cpp; path = ../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp; sourceTree = SOURCE_ROOT; }; + 6D36D69499FD940CAD1E7484 /* juce_ReadWriteLock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ReadWriteLock.h; path = ../../../../modules/juce_core/threads/juce_ReadWriteLock.h; sourceTree = SOURCE_ROOT; }; + 6D9EBBDDFD2AF922A6947057 /* juce_PluginDirectoryScanner.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PluginDirectoryScanner.cpp; path = ../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp; sourceTree = SOURCE_ROOT; }; + 6DC6E88C0FC0045CD52064F1 /* juce_ThreadPool.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ThreadPool.h; path = ../../../../modules/juce_core/threads/juce_ThreadPool.h; sourceTree = SOURCE_ROOT; }; + 6DEF5E5D162E4F32631FE2D7 /* juce_Message.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Message.h; path = ../../../../modules/juce_events/messages/juce_Message.h; sourceTree = SOURCE_ROOT; }; + 6E35055BA3436FC2F9B77365 /* juce_ImageConvolutionKernel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ImageConvolutionKernel.h; path = ../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h; sourceTree = SOURCE_ROOT; }; + 6EAF92417BE40684D0FAA797 /* juce_TextDiff.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TextDiff.cpp; path = ../../../../modules/juce_core/text/juce_TextDiff.cpp; sourceTree = SOURCE_ROOT; }; + 6F0A25914D95D4F547F91C79 /* juce_OpenGLTexture.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OpenGLTexture.cpp; path = ../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp; sourceTree = SOURCE_ROOT; }; + 6F974A4B1AC400251425C8CA /* juce_ToolbarItemPalette.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ToolbarItemPalette.cpp; path = ../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp; sourceTree = SOURCE_ROOT; }; + 6FA9A28DB80D43E87900A1B1 /* juce_mac_FileChooser.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_FileChooser.mm; path = ../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm; sourceTree = SOURCE_ROOT; }; + 70407DF33563B729D4758A17 /* juce_PropertyPanel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PropertyPanel.cpp; path = ../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp; sourceTree = SOURCE_ROOT; }; + 7049C408D43D64C1504F6505 /* juce_ScrollBar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ScrollBar.h; path = ../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h; sourceTree = SOURCE_ROOT; }; + 7063B929C5E98B803E0464EE /* juce_DeletedAtShutdown.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DeletedAtShutdown.h; path = ../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h; sourceTree = SOURCE_ROOT; }; + 70687CABD6ABBC69E717B73D /* juce_AudioIODevice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioIODevice.cpp; path = ../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp; sourceTree = SOURCE_ROOT; }; + 7069BF224A795890367AB809 /* juce_Label.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Label.cpp; path = ../../../../modules/juce_gui_basics/widgets/juce_Label.cpp; sourceTree = SOURCE_ROOT; }; + 70C9E5BB2C3C4F1314DD8F4B /* juce_MACAddress.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MACAddress.h; path = ../../../../modules/juce_core/network/juce_MACAddress.h; sourceTree = SOURCE_ROOT; }; + 7109E1D6A2AD7A013453C922 /* juce_AnimatedAppComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AnimatedAppComponent.h; path = ../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h; sourceTree = SOURCE_ROOT; }; + 71159E965AD35ED1496B5866 /* juce_PluginListComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PluginListComponent.h; path = ../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h; sourceTree = SOURCE_ROOT; }; + 7156B58188258F7EBE617E15 /* juce_CPlusPlusCodeTokeniser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_CPlusPlusCodeTokeniser.cpp; path = ../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp; sourceTree = SOURCE_ROOT; }; + 71F494877324567960FC3F84 /* juce_StringArray.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StringArray.h; path = ../../../../modules/juce_core/text/juce_StringArray.h; sourceTree = SOURCE_ROOT; }; + 7207669F41206DC961E08FD2 /* juce_linux_Windowing.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Windowing.cpp; path = ../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp; sourceTree = SOURCE_ROOT; }; + 7246A65F3B8646D764F3A355 /* juce_DragAndDropContainer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DragAndDropContainer.h; path = ../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h; sourceTree = SOURCE_ROOT; }; + 72694B9BC870AF124976586F /* juce_AudioProcessorParameter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioProcessorParameter.h; path = ../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h; sourceTree = SOURCE_ROOT; }; + 72723038519B5AB5FFB52EB9 /* juce_win32_DirectShowComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_DirectShowComponent.cpp; path = ../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp; sourceTree = SOURCE_ROOT; }; + 72B3FF3E4E9060A4F06F89F9 /* juce_IIRFilterAudioSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_IIRFilterAudioSource.cpp; path = ../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp; sourceTree = SOURCE_ROOT; }; + 72E1B34915000641B7AD80EF /* juce_linux_CommonFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_CommonFile.cpp; path = ../../../../modules/juce_core/native/juce_linux_CommonFile.cpp; sourceTree = SOURCE_ROOT; }; + 73636C4935CD275E66A85104 /* juce_CoreAudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_CoreAudioFormat.cpp; path = ../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp; sourceTree = SOURCE_ROOT; }; + 73861DEE4EEBFF77B6293F90 /* juce_RenderingHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RenderingHelpers.h; path = ../../../../modules/juce_graphics/native/juce_RenderingHelpers.h; sourceTree = SOURCE_ROOT; }; + 7392F4B60E4E28A340E465BE /* juce_TextPropertyComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TextPropertyComponent.h; path = ../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h; sourceTree = SOURCE_ROOT; }; + 73B62E5AA67F4B0483ED680F /* juce_UndoableAction.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_UndoableAction.h; path = ../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h; sourceTree = SOURCE_ROOT; }; + 74E1A5ECBC09930A520D1A98 /* juce_MouseInputSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MouseInputSource.h; path = ../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h; sourceTree = SOURCE_ROOT; }; + 74E37866C31A35A559E1E80D /* juce_win32_WebBrowserComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_WebBrowserComponent.cpp; path = ../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp; sourceTree = SOURCE_ROOT; }; + 757D9E8B34634C0E899922F9 /* juce_video.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_video.mm; path = ../../../../modules/juce_video/juce_video.mm; sourceTree = SOURCE_ROOT; }; + 7581EDAFA0B1746EC8139077 /* juce_ResizableWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ResizableWindow.h; path = ../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h; sourceTree = SOURCE_ROOT; }; + 759899A48CDE9705331F456E /* juce_ImageComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ImageComponent.h; path = ../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h; sourceTree = SOURCE_ROOT; }; + 75A8F56B635DA7158E472382 /* MainComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = SOURCE_ROOT; }; + 75CD7766A1ACC3BA17C8B73B /* juce_OpenGLFrameBuffer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLFrameBuffer.h; path = ../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h; sourceTree = SOURCE_ROOT; }; + 7609867A9F36324EA1C9F228 /* juce_RelativeTime.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RelativeTime.h; path = ../../../../modules/juce_core/time/juce_RelativeTime.h; sourceTree = SOURCE_ROOT; }; + 76372445FC076FB8D26CEEC4 /* juce_CallOutBox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CallOutBox.h; path = ../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h; sourceTree = SOURCE_ROOT; }; + 7703A0B63AFF2C5FE9587CBF /* juce_AudioCDBurner.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioCDBurner.h; path = ../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h; sourceTree = SOURCE_ROOT; }; + 7712C8260E9F4A7C2BD9FD63 /* juce_FileSearchPath.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileSearchPath.cpp; path = ../../../../modules/juce_core/files/juce_FileSearchPath.cpp; sourceTree = SOURCE_ROOT; }; + 773BD1E9176FB073B71705A0 /* juce_ScopedPointer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ScopedPointer.h; path = ../../../../modules/juce_core/memory/juce_ScopedPointer.h; sourceTree = SOURCE_ROOT; }; + 774B3CFCF0748FE9E5EA4597 /* juce_WavAudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_WavAudioFormat.cpp; path = ../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp; sourceTree = SOURCE_ROOT; }; + 776FC3A674D9CCD21CB2D7A0 /* juce_CaretComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CaretComponent.h; path = ../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h; sourceTree = SOURCE_ROOT; }; + 77802A78E9D43C940C14B0BF /* juce_ComponentAnimator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ComponentAnimator.cpp; path = ../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp; sourceTree = SOURCE_ROOT; }; + 77A353D0E709D31E3BE00A8C /* juce_WaitableEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_WaitableEvent.h; path = ../../../../modules/juce_core/threads/juce_WaitableEvent.h; sourceTree = SOURCE_ROOT; }; + 77BAA6C13A52BE0F0A42FD0E /* juce_ios_UIViewComponent.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_ios_UIViewComponent.mm; path = ../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm; sourceTree = SOURCE_ROOT; }; + 783C910D9B34E33F4C7D270F /* juce_BasicNativeHeaders.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BasicNativeHeaders.h; path = ../../../../modules/juce_core/native/juce_BasicNativeHeaders.h; sourceTree = SOURCE_ROOT; }; + 78C9531A81D34333AEF14019 /* juce_ChoicePropertyComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ChoicePropertyComponent.cpp; path = ../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp; sourceTree = SOURCE_ROOT; }; + 791D605377E089529EA264D0 /* juce_FileLogger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileLogger.cpp; path = ../../../../modules/juce_core/logging/juce_FileLogger.cpp; sourceTree = SOURCE_ROOT; }; + 793E09206EDE78138AB56CC5 /* juce_GIFLoader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_GIFLoader.cpp; path = ../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp; sourceTree = SOURCE_ROOT; }; + 794DEE7E5CC51940507F676F /* juce_VSTPluginFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_VSTPluginFormat.h; path = ../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h; sourceTree = SOURCE_ROOT; }; + 795DBB9CDC6751C052A03827 /* juce_ProgressBar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ProgressBar.cpp; path = ../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp; sourceTree = SOURCE_ROOT; }; + 79728934D091CBA959AD2B20 /* juce_mac_AppleRemote.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_AppleRemote.mm; path = ../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm; sourceTree = SOURCE_ROOT; }; + 7987CDDDE250EA56F0B26A0F /* juce_FileChooserDialogBox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileChooserDialogBox.h; path = ../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h; sourceTree = SOURCE_ROOT; }; + 79A01A9B8A17C9419EBC5F73 /* juce_StretchableLayoutResizerBar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StretchableLayoutResizerBar.h; path = ../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h; sourceTree = SOURCE_ROOT; }; + 79F7E702E92F8B23B6BCA74E /* juce_FileOutputStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileOutputStream.cpp; path = ../../../../modules/juce_core/files/juce_FileOutputStream.cpp; sourceTree = SOURCE_ROOT; }; + 7A76BF61E569CCC96B9E16DE /* juce_Socket.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Socket.h; path = ../../../../modules/juce_core/network/juce_Socket.h; sourceTree = SOURCE_ROOT; }; + 7A9C6994055A82AFC438626A /* juce_MidiMessageSequence.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiMessageSequence.h; path = ../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h; sourceTree = SOURCE_ROOT; }; + 7B1C3855706B615C704556DD /* juce_ToneGeneratorAudioSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ToneGeneratorAudioSource.h; path = ../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h; sourceTree = SOURCE_ROOT; }; + 7B751B8BF3344D7C0980DAD0 /* juce_linux_JackAudio.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_JackAudio.cpp; path = ../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp; sourceTree = SOURCE_ROOT; }; + 7B7B6659C2DD68F2373F9D3C /* juce_MACAddress.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MACAddress.cpp; path = ../../../../modules/juce_core/network/juce_MACAddress.cpp; sourceTree = SOURCE_ROOT; }; + 7BAEC8D30E310460FB3FC406 /* juce_Expression.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Expression.cpp; path = ../../../../modules/juce_core/maths/juce_Expression.cpp; sourceTree = SOURCE_ROOT; }; + 7BD85F5BFF691F3E548BC8B3 /* juce_FileFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileFilter.h; path = ../../../../modules/juce_core/files/juce_FileFilter.h; sourceTree = SOURCE_ROOT; }; + 7BE9659292437455B77D53F1 /* juce_cryptography.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_cryptography.mm; path = ../../../../modules/juce_cryptography/juce_cryptography.mm; sourceTree = SOURCE_ROOT; }; + 7C2A56B41F84CF25DC4D7C7F /* juce_BubbleMessageComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_BubbleMessageComponent.cpp; path = ../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp; sourceTree = SOURCE_ROOT; }; + 7C2C344C1697462278777A3C /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; }; + 7C388E6394CB0A8C4C919751 /* juce_TabbedButtonBar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TabbedButtonBar.cpp; path = ../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp; sourceTree = SOURCE_ROOT; }; + 7CD48F7A63EA97AF58ED7C5F /* juce_OpenGLAppComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLAppComponent.h; path = ../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h; sourceTree = SOURCE_ROOT; }; + 7D15374142A01E2760AC4818 /* juce_GroupComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_GroupComponent.cpp; path = ../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp; sourceTree = SOURCE_ROOT; }; + 7D21460B496E5E03FA58654B /* teapot.obj */ = {isa = PBXFileReference; lastKnownFileType = file.obj; name = teapot.obj; path = ../../Source/Resources/teapot.obj; sourceTree = SOURCE_ROOT; }; + 7DDF23FA0DDE4FCFB121CA68 /* BinaryData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = SOURCE_ROOT; }; + 7E278ACE0E80F59FBEB3122F /* juce_FileTreeComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileTreeComponent.cpp; path = ../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp; sourceTree = SOURCE_ROOT; }; + 7E5D04471A75DF9057A4D73E /* juce_Justification.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Justification.h; path = ../../../../modules/juce_graphics/placement/juce_Justification.h; sourceTree = SOURCE_ROOT; }; + 7EEFCCCD23C883F6B797834E /* juce_Point.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Point.h; path = ../../../../modules/juce_graphics/geometry/juce_Point.h; sourceTree = SOURCE_ROOT; }; + 80465B70BFD2A13EDB18B702 /* juce_CodeEditorComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CodeEditorComponent.h; path = ../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h; sourceTree = SOURCE_ROOT; }; + 80648C9ABD2B763398568A0B /* juce_GenericAudioProcessorEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_GenericAudioProcessorEditor.h; path = ../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h; sourceTree = SOURCE_ROOT; }; + 80A6B9266A11D6977AD84546 /* juce_ImageButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ImageButton.h; path = ../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h; sourceTree = SOURCE_ROOT; }; + 80BE3657BDC9B08AB3570055 /* juce_Identifier.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Identifier.cpp; path = ../../../../modules/juce_core/text/juce_Identifier.cpp; sourceTree = SOURCE_ROOT; }; + 80C983055BC197AE9FEF51D0 /* AppConfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = SOURCE_ROOT; }; + 81556F6E103D6843193EA1EC /* juce_DragAndDropTarget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DragAndDropTarget.h; path = ../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h; sourceTree = SOURCE_ROOT; }; + 816CA082336A8BC8A9AA61BD /* juce_RelativeCoordinate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RelativeCoordinate.h; path = ../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h; sourceTree = SOURCE_ROOT; }; + 819B5DAEB3840F04881F7CBD /* juce_AudioFormatReader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioFormatReader.h; path = ../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h; sourceTree = SOURCE_ROOT; }; + 82327EBDDBDE6104A0FFE08D /* juce_IPAddress.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_IPAddress.h; path = ../../../../modules/juce_core/network/juce_IPAddress.h; sourceTree = SOURCE_ROOT; }; + 82443CD4F42884B9D33A85EA /* Main.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = SOURCE_ROOT; }; + 83619BFC8B92A2B5F17F596C /* juce_CameraDevice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_CameraDevice.cpp; path = ../../../../modules/juce_video/capture/juce_CameraDevice.cpp; sourceTree = SOURCE_ROOT; }; + 838BB45D693ED0AAD43B93C3 /* juce_Draggable3DOrientation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Draggable3DOrientation.h; path = ../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h; sourceTree = SOURCE_ROOT; }; + 83C4DBF3382367051A65FF4D /* juce_SystemStats.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_SystemStats.cpp; path = ../../../../modules/juce_core/system/juce_SystemStats.cpp; sourceTree = SOURCE_ROOT; }; + 83ED74D05C2699811929138C /* juce_SHA256.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_SHA256.cpp; path = ../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp; sourceTree = SOURCE_ROOT; }; + 842FF0D158A48BD9C1651800 /* juce_StringPairArray.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StringPairArray.h; path = ../../../../modules/juce_core/text/juce_StringPairArray.h; sourceTree = SOURCE_ROOT; }; + 84E689978B0D7D84B1A39C77 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; + 850622AD96A6D025EC1E832D /* juce_LassoComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LassoComponent.h; path = ../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h; sourceTree = SOURCE_ROOT; }; + 850E016A9EA33CDCF888D7AC /* juce_ResamplingAudioSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ResamplingAudioSource.h; path = ../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h; sourceTree = SOURCE_ROOT; }; + 85379D9BB0BA7D60CFF83DC6 /* juce_LowLevelGraphicsPostScriptRenderer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LowLevelGraphicsPostScriptRenderer.cpp; path = ../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp; sourceTree = SOURCE_ROOT; }; + 853E685A7CBF56CB4A532768 /* juce_LAMEEncoderAudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LAMEEncoderAudioFormat.cpp; path = ../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp; sourceTree = SOURCE_ROOT; }; + 856F3C72739BD34C8CA40F3A /* juce_ThreadWithProgressWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ThreadWithProgressWindow.h; path = ../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h; sourceTree = SOURCE_ROOT; }; + 8594A236A434383AA96AEB53 /* juce_LookAndFeel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LookAndFeel.h; path = ../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h; sourceTree = SOURCE_ROOT; }; + 8768714C4890B02A1719AC89 /* juce_AudioIODevice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioIODevice.h; path = ../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h; sourceTree = SOURCE_ROOT; }; + 876EE7E42127474428BE3BFF /* juce_CallOutBox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_CallOutBox.cpp; path = ../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp; sourceTree = SOURCE_ROOT; }; + 87C173B4D57F00E5523D3395 /* juce_BooleanPropertyComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_BooleanPropertyComponent.cpp; path = ../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp; sourceTree = SOURCE_ROOT; }; + 87EBB9223B9943D09D0ABA97 /* juce_mac_CoreGraphicsContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_mac_CoreGraphicsContext.h; path = ../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h; sourceTree = SOURCE_ROOT; }; + 88060C7661160C61E794D2B1 /* juce_TabbedButtonBar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TabbedButtonBar.h; path = ../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h; sourceTree = SOURCE_ROOT; }; + 880A65D7F29BF8701826BF81 /* juce_mac_CoreMidi.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_mac_CoreMidi.cpp; path = ../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp; sourceTree = SOURCE_ROOT; }; + 887EE77979249B8A3E7C2C49 /* juce_events.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_events.h; path = ../../../../modules/juce_events/juce_events.h; sourceTree = SOURCE_ROOT; }; + 88B4E2B52BB5B6B622243FDC /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; + 88EB915831B819EC3B7B124E /* juce_OpenGLGraphicsContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLGraphicsContext.h; path = ../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h; sourceTree = SOURCE_ROOT; }; + 89CC7514E6F2628CE82591BD /* juce_CodeDocument.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CodeDocument.h; path = ../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h; sourceTree = SOURCE_ROOT; }; + 8A011075C19F974A22685EAA /* juce_TimeSliceThread.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TimeSliceThread.cpp; path = ../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp; sourceTree = SOURCE_ROOT; }; + 8A67491E410C9DB6523DABF6 /* juce_ArrayAllocationBase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ArrayAllocationBase.h; path = ../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h; sourceTree = SOURCE_ROOT; }; + 8B1374A21A81C82233EBC523 /* juce_cryptography.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_cryptography.h; path = ../../../../modules/juce_cryptography/juce_cryptography.h; sourceTree = SOURCE_ROOT; }; + 8B743E5BA29E435BACFE17BB /* juce_Colours.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Colours.cpp; path = ../../../../modules/juce_graphics/colour/juce_Colours.cpp; sourceTree = SOURCE_ROOT; }; + 8B8CEF7A6937C76CA7642C8F /* juce_data_structures.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_data_structures.h; path = ../../../../modules/juce_data_structures/juce_data_structures.h; sourceTree = SOURCE_ROOT; }; + 8BA590FF6DD42B77C70BA092 /* juce_ListBox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ListBox.h; path = ../../../../modules/juce_gui_basics/widgets/juce_ListBox.h; sourceTree = SOURCE_ROOT; }; + 8BD7E643486B7C1968E68D51 /* juce_MidiMessageSequence.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MidiMessageSequence.cpp; path = ../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp; sourceTree = SOURCE_ROOT; }; + 8C4045D24297D10F0EC9348F /* juce_KeyMappingEditorComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_KeyMappingEditorComponent.cpp; path = ../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp; sourceTree = SOURCE_ROOT; }; + 8C69B0700CBEF4AAD6F41B08 /* juce_FloatVectorOperations.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FloatVectorOperations.cpp; path = ../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp; sourceTree = SOURCE_ROOT; }; + 8D11B58353EBDC8EBE9C641D /* juce_MarkerList.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MarkerList.cpp; path = ../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp; sourceTree = SOURCE_ROOT; }; + 8D330180BEC5572287AB158A /* juce_ComponentMovementWatcher.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ComponentMovementWatcher.h; path = ../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h; sourceTree = SOURCE_ROOT; }; + 8D57423CD5A1B516B5374499 /* juce_Viewport.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Viewport.cpp; path = ../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp; sourceTree = SOURCE_ROOT; }; + 8DBDCF6753B9AE327FC8E382 /* juce_ApplicationCommandInfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ApplicationCommandInfo.h; path = ../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h; sourceTree = SOURCE_ROOT; }; + 8DFA760FAD9756305F9C7515 /* juce_LookAndFeel_V3.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LookAndFeel_V3.h; path = ../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h; sourceTree = SOURCE_ROOT; }; + 8E06EBA4362C66A9040A2EC6 /* juce_TimeSliceThread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TimeSliceThread.h; path = ../../../../modules/juce_core/threads/juce_TimeSliceThread.h; sourceTree = SOURCE_ROOT; }; + 8E0D42B79853ED7FC60F931B /* juce_VSTMidiEventList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_VSTMidiEventList.h; path = ../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h; sourceTree = SOURCE_ROOT; }; + 8E5DB762FF5447085518EB85 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; + 8F5EC320CBE18D8923C7D3EF /* juce_ColourGradient.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ColourGradient.cpp; path = ../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp; sourceTree = SOURCE_ROOT; }; + 8F81943FE96DB8DD0ABB9DF7 /* juce_JSON.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_JSON.cpp; path = ../../../../modules/juce_core/javascript/juce_JSON.cpp; sourceTree = SOURCE_ROOT; }; + 8F9A2F59A71422296C56C8A5 /* juce_ChangeBroadcaster.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ChangeBroadcaster.cpp; path = ../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp; sourceTree = SOURCE_ROOT; }; + 8FA29927B18439A066241F38 /* juce_PerformanceCounter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PerformanceCounter.cpp; path = ../../../../modules/juce_core/time/juce_PerformanceCounter.cpp; sourceTree = SOURCE_ROOT; }; + 8FAA47BE39D087684520C15F /* juce_CallbackMessage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CallbackMessage.h; path = ../../../../modules/juce_events/messages/juce_CallbackMessage.h; sourceTree = SOURCE_ROOT; }; + 8FFF7C1572807209B9A8A08D /* juce_ComboBox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ComboBox.cpp; path = ../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp; sourceTree = SOURCE_ROOT; }; + 907D08843439A347B3E2A869 /* juce_Initialisation.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Initialisation.h; path = ../../../../modules/juce_events/messages/juce_Initialisation.h; sourceTree = SOURCE_ROOT; }; + 91A5A6A217FA091F2ADBE3C5 /* juce_ImageFileFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ImageFileFormat.h; path = ../../../../modules/juce_graphics/images/juce_ImageFileFormat.h; sourceTree = SOURCE_ROOT; }; + 92655A59F40624CBDA9194B5 /* juce_OpenGLPixelFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLPixelFormat.h; path = ../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h; sourceTree = SOURCE_ROOT; }; + 92C99A9D9E9BCABE2AE26B9C /* juce_TopLevelWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TopLevelWindow.cpp; path = ../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp; sourceTree = SOURCE_ROOT; }; + 92E26ABEFD096B05F99EE036 /* juce_ResizableEdgeComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ResizableEdgeComponent.h; path = ../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h; sourceTree = SOURCE_ROOT; }; + 942393EC874CEC183B67641C /* juce_ComponentListener.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ComponentListener.cpp; path = ../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp; sourceTree = SOURCE_ROOT; }; + 94D011BBB3D330AEDAC86D11 /* juce_NativeMessageBox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_NativeMessageBox.h; path = ../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h; sourceTree = SOURCE_ROOT; }; + 966F24941F855EA74A2A8914 /* juce_LADSPAPluginFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LADSPAPluginFormat.cpp; path = ../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp; sourceTree = SOURCE_ROOT; }; + 972D271918F957FB6FCD6CFB /* juce_InputSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_InputSource.h; path = ../../../../modules/juce_core/streams/juce_InputSource.h; sourceTree = SOURCE_ROOT; }; + 975BBC01D0C62E087E6246ED /* juce_CharPointer_UTF8.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CharPointer_UTF8.h; path = ../../../../modules/juce_core/text/juce_CharPointer_UTF8.h; sourceTree = SOURCE_ROOT; }; + 976CA25A81DCEEA8E07D2508 /* juce_PluginListComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PluginListComponent.cpp; path = ../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp; sourceTree = SOURCE_ROOT; }; + 976E37CE9482096F8A82A8CE /* juce_StringPairArray.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_StringPairArray.cpp; path = ../../../../modules/juce_core/text/juce_StringPairArray.cpp; sourceTree = SOURCE_ROOT; }; + 97C71C2DD318EDB304FC1CEB /* juce_module_info */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_module_info; path = ../../../../modules/juce_gui_extra/juce_module_info; sourceTree = SOURCE_ROOT; }; + 983FBC7E850263512E41D13D /* juce_AudioFormatReaderSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioFormatReaderSource.cpp; path = ../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp; sourceTree = SOURCE_ROOT; }; + 985C549EBDB26AF7BFD6E8A4 /* juce_CameraDevice.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CameraDevice.h; path = ../../../../modules/juce_video/capture/juce_CameraDevice.h; sourceTree = SOURCE_ROOT; }; + 9954A5B8424CE9ABC802AC8C /* juce_SHA256.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SHA256.h; path = ../../../../modules/juce_cryptography/hashing/juce_SHA256.h; sourceTree = SOURCE_ROOT; }; + 9986CD0D1752D063F3DC2652 /* juce_MouseInactivityDetector.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MouseInactivityDetector.cpp; path = ../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp; sourceTree = SOURCE_ROOT; }; + 99BF73D0D5B995E84BAB52B2 /* juce_ToolbarItemPalette.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ToolbarItemPalette.h; path = ../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h; sourceTree = SOURCE_ROOT; }; + 9A67CA8503FB1E02090F5FAD /* juce_AudioIODeviceType.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioIODeviceType.cpp; path = ../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp; sourceTree = SOURCE_ROOT; }; + 9AD78BC87097481DDC1815B2 /* juce_ListBox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ListBox.cpp; path = ../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp; sourceTree = SOURCE_ROOT; }; + 9B9B8DBEBEA5051A602DA6C1 /* juce_DrawableShape.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DrawableShape.cpp; path = ../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp; sourceTree = SOURCE_ROOT; }; + 9BBC3E0155BC3F36F21F7EBB /* BinaryData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = SOURCE_ROOT; }; + 9BE0EDFED0FC2720BB3AE101 /* FragmentShader.glsl */ = {isa = PBXFileReference; lastKnownFileType = file.glsl; name = FragmentShader.glsl; path = ../../Source/FragmentShader.glsl; sourceTree = SOURCE_ROOT; }; + 9BECE88C6AB34861AF408C37 /* juce_ImageConvolutionKernel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ImageConvolutionKernel.cpp; path = ../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp; sourceTree = SOURCE_ROOT; }; + 9C0906C06A9D1558C2982BC1 /* juce_PropertySet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PropertySet.h; path = ../../../../modules/juce_core/containers/juce_PropertySet.h; sourceTree = SOURCE_ROOT; }; + 9C52165BC295637D495791C1 /* juce_KeyMappingEditorComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_KeyMappingEditorComponent.h; path = ../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h; sourceTree = SOURCE_ROOT; }; + 9C56D1AE6B7768F6E27D8F31 /* juce_module_info */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_module_info; path = ../../../../modules/juce_audio_processors/juce_module_info; sourceTree = SOURCE_ROOT; }; + 9CABACB9A2FF46A8B3059D8E /* juce_DrawableComposite.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DrawableComposite.h; path = ../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h; sourceTree = SOURCE_ROOT; }; + 9CF41B989B4516C8DB6CF7A0 /* juce_RelativePoint.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RelativePoint.cpp; path = ../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp; sourceTree = SOURCE_ROOT; }; + 9D87175DE3988B783002560D /* juce_OpenGLFrameBuffer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OpenGLFrameBuffer.cpp; path = ../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp; sourceTree = SOURCE_ROOT; }; + 9E46C8356029EC009F7A1C46 /* juce_ValueTree.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ValueTree.h; path = ../../../../modules/juce_data_structures/values/juce_ValueTree.h; sourceTree = SOURCE_ROOT; }; + 9F3DCE572188E0085FCF1956 /* juce_DrawableRectangle.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DrawableRectangle.cpp; path = ../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp; sourceTree = SOURCE_ROOT; }; + 9F8B21E7C672840ACD02251E /* juce_Variant.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Variant.cpp; path = ../../../../modules/juce_core/containers/juce_Variant.cpp; sourceTree = SOURCE_ROOT; }; + 9FBCE80E444BA9E69C3F6172 /* juce_NSViewComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_NSViewComponent.h; path = ../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h; sourceTree = SOURCE_ROOT; }; + 9FE8D5E52AC84BCDEE8B414B /* juce_AudioPluginFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioPluginFormat.cpp; path = ../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp; sourceTree = SOURCE_ROOT; }; + A021D917DFD4DD5D4703913C /* juce_RectangleList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RectangleList.h; path = ../../../../modules/juce_graphics/geometry/juce_RectangleList.h; sourceTree = SOURCE_ROOT; }; + A061F1646238A35ED0BDA32A /* juce_module_info */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_module_info; path = ../../../../modules/juce_events/juce_module_info; sourceTree = SOURCE_ROOT; }; + A07D0C5C60BE446FD41ADE51 /* juce_AudioDeviceManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioDeviceManager.h; path = ../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h; sourceTree = SOURCE_ROOT; }; + A19D3050F95BFD17129EA013 /* juce_AffineTransform.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AffineTransform.h; path = ../../../../modules/juce_graphics/geometry/juce_AffineTransform.h; sourceTree = SOURCE_ROOT; }; + A1C21D6CF6F456E34A0E7FBE /* juce_AudioFormatReader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioFormatReader.cpp; path = ../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp; sourceTree = SOURCE_ROOT; }; + A20DD4F2960264FC20095777 /* juce_Line.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Line.h; path = ../../../../modules/juce_graphics/geometry/juce_Line.h; sourceTree = SOURCE_ROOT; }; + A23A20A098747A2449C47047 /* juce_ApplicationCommandManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ApplicationCommandManager.cpp; path = ../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp; sourceTree = SOURCE_ROOT; }; + A2A8888BB2A9B1BF61955BEA /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + A2D465168084C9FFAE312E3C /* juce_StringRef.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_StringRef.h; path = ../../../../modules/juce_core/text/juce_StringRef.h; sourceTree = SOURCE_ROOT; }; + A3C0B621A37595B09825518B /* juce_AudioFormatManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioFormatManager.h; path = ../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h; sourceTree = SOURCE_ROOT; }; + A3EFD0BE919B2F7AD7295F2D /* juce_OpenGL_ios.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGL_ios.h; path = ../../../../modules/juce_opengl/native/juce_OpenGL_ios.h; sourceTree = SOURCE_ROOT; }; + A4E723D11ADD694C4A3D318C /* juce_AudioPluginInstance.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioPluginInstance.h; path = ../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h; sourceTree = SOURCE_ROOT; }; + A4F075DFF243F6BB90CD5950 /* juce_TextLayout.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TextLayout.cpp; path = ../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp; sourceTree = SOURCE_ROOT; }; + A59F49F937F6C5E6E35B8B86 /* juce_AudioProcessor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioProcessor.h; path = ../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h; sourceTree = SOURCE_ROOT; }; + A5A883D3DAD1D2BF2F044379 /* juce_RelativeTime.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RelativeTime.cpp; path = ../../../../modules/juce_core/time/juce_RelativeTime.cpp; sourceTree = SOURCE_ROOT; }; + A646D188288588F6FB9E8C53 /* juce_ChildProcess.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ChildProcess.h; path = ../../../../modules/juce_core/threads/juce_ChildProcess.h; sourceTree = SOURCE_ROOT; }; + A6B50D109A50FD28AE1D3F9A /* juce_ScopedReadLock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ScopedReadLock.h; path = ../../../../modules/juce_core/threads/juce_ScopedReadLock.h; sourceTree = SOURCE_ROOT; }; + A7EBBF2BCCB164C8F5C0423F /* juce_LiveConstantEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LiveConstantEditor.cpp; path = ../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp; sourceTree = SOURCE_ROOT; }; + A7F58281FD0F07ECE6D261A8 /* juce_FileInputStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileInputStream.cpp; path = ../../../../modules/juce_core/files/juce_FileInputStream.cpp; sourceTree = SOURCE_ROOT; }; + A80BB5CEC5BB5398B155F980 /* juce_Toolbar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Toolbar.cpp; path = ../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp; sourceTree = SOURCE_ROOT; }; + A8451C0D5D0549A7D923F2D6 /* juce_mac_Strings.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_Strings.mm; path = ../../../../modules/juce_core/native/juce_mac_Strings.mm; sourceTree = SOURCE_ROOT; }; + A85BBB0551113A7CD910AA16 /* juce_gui_basics.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_gui_basics.h; path = ../../../../modules/juce_gui_basics/juce_gui_basics.h; sourceTree = SOURCE_ROOT; }; + A878B40B811C4B83658F6A60 /* juce_android_Messaging.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_Messaging.cpp; path = ../../../../modules/juce_events/native/juce_android_Messaging.cpp; sourceTree = SOURCE_ROOT; }; + A87A60BF515078DF23E1F737 /* juce_Button.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Button.h; path = ../../../../modules/juce_gui_basics/buttons/juce_Button.h; sourceTree = SOURCE_ROOT; }; + A8A190EDD8CED5ACF3AEE2C9 /* juce_MidiInput.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiInput.h; path = ../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h; sourceTree = SOURCE_ROOT; }; + A937C45D53029A6BD6DA500B /* juce_MidiFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiFile.h; path = ../../../../modules/juce_audio_basics/midi/juce_MidiFile.h; sourceTree = SOURCE_ROOT; }; + AA54E821F947C9A9DC359693 /* juce_DrawableButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DrawableButton.cpp; path = ../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp; sourceTree = SOURCE_ROOT; }; + AA55BD139AEC1B8272ABE461 /* juce_AttributedString.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AttributedString.cpp; path = ../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp; sourceTree = SOURCE_ROOT; }; + AA6A795F8A452B980C91770B /* juce_FlacAudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FlacAudioFormat.h; path = ../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h; sourceTree = SOURCE_ROOT; }; + AA8A3E0CF7623249B2907DB1 /* juce_linux_Clipboard.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Clipboard.cpp; path = ../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp; sourceTree = SOURCE_ROOT; }; + AABFFB2D2D9F9BB39C95BA25 /* juce_AudioTransportSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioTransportSource.cpp; path = ../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp; sourceTree = SOURCE_ROOT; }; + AB3CF49071E6EEF217783B8A /* juce_WildcardFileFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_WildcardFileFilter.h; path = ../../../../modules/juce_core/files/juce_WildcardFileFilter.h; sourceTree = SOURCE_ROOT; }; + AB540AC77FB76E3B498E98A6 /* juce_PathIterator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PathIterator.h; path = ../../../../modules/juce_graphics/geometry/juce_PathIterator.h; sourceTree = SOURCE_ROOT; }; + ABCD1CB78CD58A79D0A728D0 /* juce_ScopedLock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ScopedLock.h; path = ../../../../modules/juce_core/threads/juce_ScopedLock.h; sourceTree = SOURCE_ROOT; }; + AC2A502E05BB93CB0840344D /* juce_CachedComponentImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CachedComponentImage.h; path = ../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h; sourceTree = SOURCE_ROOT; }; + AC4730773DE422AE346C6D6B /* juce_UIViewComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_UIViewComponent.h; path = ../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h; sourceTree = SOURCE_ROOT; }; + ACD7FAE9EE61A4085580912B /* juce_RelativePointPath.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RelativePointPath.cpp; path = ../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp; sourceTree = SOURCE_ROOT; }; + ACEC05FF097A56FB7F3EF6B9 /* juce_MidiOutput.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiOutput.h; path = ../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h; sourceTree = SOURCE_ROOT; }; + AD0DBF0531130EAD4DF2A8FA /* juce_VST3PluginFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_VST3PluginFormat.h; path = ../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h; sourceTree = SOURCE_ROOT; }; + AD16BF0DECF3EEFD7AE11457 /* juce_ComponentListener.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ComponentListener.h; path = ../../../../modules/juce_gui_basics/components/juce_ComponentListener.h; sourceTree = SOURCE_ROOT; }; + AD7CF8E55597C12D264E26D5 /* juce_ComponentPeer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ComponentPeer.h; path = ../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h; sourceTree = SOURCE_ROOT; }; + ADA1339F195F699D7F5369F9 /* juce_DrawableRectangle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DrawableRectangle.h; path = ../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h; sourceTree = SOURCE_ROOT; }; + ADFFCCFC47120AF338FD8C22 /* juce_ElementComparator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ElementComparator.h; path = ../../../../modules/juce_core/containers/juce_ElementComparator.h; sourceTree = SOURCE_ROOT; }; + AE86A03508278775CA9F250B /* juce_ResizableBorderComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ResizableBorderComponent.cpp; path = ../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp; sourceTree = SOURCE_ROOT; }; + AEA5E43C19B3566D5B2655E9 /* juce_ImageCache.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ImageCache.cpp; path = ../../../../modules/juce_graphics/images/juce_ImageCache.cpp; sourceTree = SOURCE_ROOT; }; + AEBF8C2FCAF972F014D43738 /* juce_AiffAudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AiffAudioFormat.h; path = ../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h; sourceTree = SOURCE_ROOT; }; + AF5C2B3C5CF657FA722F9A68 /* juce_SliderPropertyComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_SliderPropertyComponent.cpp; path = ../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp; sourceTree = SOURCE_ROOT; }; + AF6001FA947F3A7DF15CBF8B /* juce_ios_UIViewComponentPeer.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_ios_UIViewComponentPeer.mm; path = ../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm; sourceTree = SOURCE_ROOT; }; + AF80D629DF6AF8EEB11DE598 /* juce_mac_AudioCDReader.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_AudioCDReader.mm; path = ../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm; sourceTree = SOURCE_ROOT; }; + AFBCB46AC109F4982F012C0A /* juce_mac_Files.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_Files.mm; path = ../../../../modules/juce_core/native/juce_mac_Files.mm; sourceTree = SOURCE_ROOT; }; + B05257BD950E35B28F9E88CC /* juce_LuaCodeTokeniser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LuaCodeTokeniser.h; path = ../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h; sourceTree = SOURCE_ROOT; }; + B0E21FE9C68B99E4C751DF13 /* juce_win32_QuickTimeMovieComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_QuickTimeMovieComponent.cpp; path = ../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp; sourceTree = SOURCE_ROOT; }; + B0FB5996D7068C230DC6D8E0 /* juce_MouseCursor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MouseCursor.cpp; path = ../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp; sourceTree = SOURCE_ROOT; }; + B0FE76D91413C32F64610594 /* juce_CPlusPlusCodeTokeniserFunctions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CPlusPlusCodeTokeniserFunctions.h; path = ../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h; sourceTree = SOURCE_ROOT; }; + B121FF657B96C6FFEB2C2DC1 /* juce_gui_extra.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_gui_extra.h; path = ../../../../modules/juce_gui_extra/juce_gui_extra.h; sourceTree = SOURCE_ROOT; }; + B1440ED412E2277340903AB0 /* juce_ToneGeneratorAudioSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ToneGeneratorAudioSource.cpp; path = ../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp; sourceTree = SOURCE_ROOT; }; + B1B76C913B09E3F684F76824 /* juce_CriticalSection.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CriticalSection.h; path = ../../../../modules/juce_core/threads/juce_CriticalSection.h; sourceTree = SOURCE_ROOT; }; + B1C695101BE3D6A84272B6C8 /* juce_TooltipWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TooltipWindow.h; path = ../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h; sourceTree = SOURCE_ROOT; }; + B1C6C92A15E4605A40404381 /* juce_Thread.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Thread.h; path = ../../../../modules/juce_core/threads/juce_Thread.h; sourceTree = SOURCE_ROOT; }; + B1C7A541DFF31B38F0A17C16 /* juce_FileBrowserListener.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileBrowserListener.h; path = ../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h; sourceTree = SOURCE_ROOT; }; + B1E4A1F07EFCCA50D963CF4F /* juce_TextEditorKeyMapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TextEditorKeyMapper.h; path = ../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h; sourceTree = SOURCE_ROOT; }; + B25D9BF429F016963A545287 /* juce_BubbleComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_BubbleComponent.cpp; path = ../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp; sourceTree = SOURCE_ROOT; }; + B28DFE72ADE03393BE8B764C /* juce_GraphicsContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_GraphicsContext.h; path = ../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h; sourceTree = SOURCE_ROOT; }; + B2A85C1813641574E4D15BF2 /* juce_LowLevelGraphicsSoftwareRenderer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LowLevelGraphicsSoftwareRenderer.cpp; path = ../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp; sourceTree = SOURCE_ROOT; }; + B2B042F73709D0057DE8A51E /* juce_OpenGLShaderProgram.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLShaderProgram.h; path = ../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h; sourceTree = SOURCE_ROOT; }; + B2D09E29CCC80C27956BF314 /* juce_TextEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TextEditor.h; path = ../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h; sourceTree = SOURCE_ROOT; }; + B2E2A77534D9104C78E8F3E2 /* juce_Value.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Value.cpp; path = ../../../../modules/juce_data_structures/values/juce_Value.cpp; sourceTree = SOURCE_ROOT; }; + B2EE6F9509A435D69B2508AE /* juce_osx_ObjCHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_osx_ObjCHelpers.h; path = ../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h; sourceTree = SOURCE_ROOT; }; + B36AA5249B5B2242486B4153 /* juce_linux_Network.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Network.cpp; path = ../../../../modules/juce_core/native/juce_linux_Network.cpp; sourceTree = SOURCE_ROOT; }; + B49E98EF01462277526C417D /* juce_FileSearchPathListComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileSearchPathListComponent.cpp; path = ../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp; sourceTree = SOURCE_ROOT; }; + B5A8A3579F03D2CCE4894848 /* juce_AudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioFormat.cpp; path = ../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp; sourceTree = SOURCE_ROOT; }; + B607DF0E27752A1B9A863CC6 /* juce_mac_WebBrowserComponent.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_WebBrowserComponent.mm; path = ../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm; sourceTree = SOURCE_ROOT; }; + B68B3E0BE0396ACD3CA52250 /* juce_DropShadower.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DropShadower.h; path = ../../../../modules/juce_gui_basics/misc/juce_DropShadower.h; sourceTree = SOURCE_ROOT; }; + B73DF787FC51F08E279923A6 /* juce_mac_NSViewComponent.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_NSViewComponent.mm; path = ../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm; sourceTree = SOURCE_ROOT; }; + B7612EA3B34C6AC48079A447 /* juce_VST3Headers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_VST3Headers.h; path = ../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h; sourceTree = SOURCE_ROOT; }; + B77BD5847F412656109A378E /* juce_TextInputTarget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TextInputTarget.h; path = ../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h; sourceTree = SOURCE_ROOT; }; + B84BA430E8F477AB2EDC45CB /* juce_PositionableAudioSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PositionableAudioSource.h; path = ../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h; sourceTree = SOURCE_ROOT; }; + B8A6BFA35FDD1F48C1E4E688 /* juce_FileOutputStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileOutputStream.h; path = ../../../../modules/juce_core/files/juce_FileOutputStream.h; sourceTree = SOURCE_ROOT; }; + B8C996306428DFB642CBFB14 /* juce_ModalComponentManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ModalComponentManager.h; path = ../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h; sourceTree = SOURCE_ROOT; }; + B8EF2AF777B74156958B72CA /* juce_ComponentDragger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ComponentDragger.h; path = ../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h; sourceTree = SOURCE_ROOT; }; + B91A8133C3474D98AB6300CE /* juce_Desktop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Desktop.cpp; path = ../../../../modules/juce_gui_basics/components/juce_Desktop.cpp; sourceTree = SOURCE_ROOT; }; + B97C816F9CBDE00E567E3144 /* juce_AudioProcessor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioProcessor.cpp; path = ../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp; sourceTree = SOURCE_ROOT; }; + B99DD4C6D8C8F58C83ADD7CA /* juce_OpenGL_win32.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGL_win32.h; path = ../../../../modules/juce_opengl/native/juce_OpenGL_win32.h; sourceTree = SOURCE_ROOT; }; + B9B0A3004948FA2387C28829 /* juce_Matrix3D.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Matrix3D.h; path = ../../../../modules/juce_opengl/geometry/juce_Matrix3D.h; sourceTree = SOURCE_ROOT; }; + B9EB38A9A966EBB9A359DED3 /* juce_HighResolutionTimer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_HighResolutionTimer.h; path = ../../../../modules/juce_core/threads/juce_HighResolutionTimer.h; sourceTree = SOURCE_ROOT; }; + BA5A9BB00CD8BEA408371875 /* juce_LookAndFeel_V1.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LookAndFeel_V1.cpp; path = ../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp; sourceTree = SOURCE_ROOT; }; + BA5DE80E67A74A41D57E7663 /* juce_ConnectedChildProcess.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ConnectedChildProcess.cpp; path = ../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp; sourceTree = SOURCE_ROOT; }; + BA895F5D0FC2F40DA0566469 /* juce_audio_processors.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_audio_processors.mm; path = ../../../../modules/juce_audio_processors/juce_audio_processors.mm; sourceTree = SOURCE_ROOT; }; + BA99F87A1BC936C566A0DFA7 /* juce_linux_Files.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Files.cpp; path = ../../../../modules/juce_core/native/juce_linux_Files.cpp; sourceTree = SOURCE_ROOT; }; + BB4B7332B8B456297344608E /* juce_PerformanceCounter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PerformanceCounter.h; path = ../../../../modules/juce_core/time/juce_PerformanceCounter.h; sourceTree = SOURCE_ROOT; }; + BB7442FBD89AFCE6AE14E0AD /* juce_linux_ALSA.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_ALSA.cpp; path = ../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp; sourceTree = SOURCE_ROOT; }; + BB8AD6D858D518E804AFA0C7 /* juce_ArrowButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ArrowButton.h; path = ../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h; sourceTree = SOURCE_ROOT; }; + BBECF34C65D1DD35DE8C6F9B /* juce_mac_QuickTimeMovieComponent.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_QuickTimeMovieComponent.mm; path = ../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm; sourceTree = SOURCE_ROOT; }; + BC35263317084BA60132B43D /* juce_AudioSubsectionReader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioSubsectionReader.cpp; path = ../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp; sourceTree = SOURCE_ROOT; }; + BC586A21CD33D786C4472FD4 /* juce_MouseEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MouseEvent.h; path = ../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h; sourceTree = SOURCE_ROOT; }; + BC7C088D053711418A5A5698 /* juce_ChildProcess.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ChildProcess.cpp; path = ../../../../modules/juce_core/threads/juce_ChildProcess.cpp; sourceTree = SOURCE_ROOT; }; + BCD3969359F2EB2EB970C412 /* juce_AppleRemote.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AppleRemote.h; path = ../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h; sourceTree = SOURCE_ROOT; }; + BCD60A4DBAB2007ECBCAB17D /* juce_LiveConstantEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LiveConstantEditor.h; path = ../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h; sourceTree = SOURCE_ROOT; }; + BD4C015152FD7519E50C9BCA /* juce_posix_SharedCode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_posix_SharedCode.h; path = ../../../../modules/juce_core/native/juce_posix_SharedCode.h; sourceTree = SOURCE_ROOT; }; + BD69D8ABDB6741F717E0DD1C /* juce_InputStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_InputStream.cpp; path = ../../../../modules/juce_core/streams/juce_InputStream.cpp; sourceTree = SOURCE_ROOT; }; + BDB1FA875F2C8263E3D2650A /* juce_XmlDocument.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_XmlDocument.h; path = ../../../../modules/juce_core/xml/juce_XmlDocument.h; sourceTree = SOURCE_ROOT; }; + BDBC99D827A9F6C5B1B0ED5E /* juce_ios_Audio.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ios_Audio.cpp; path = ../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp; sourceTree = SOURCE_ROOT; }; + BE4CF2165544FB2D720E1DD6 /* juce_MemoryBlock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MemoryBlock.h; path = ../../../../modules/juce_core/memory/juce_MemoryBlock.h; sourceTree = SOURCE_ROOT; }; + BE635BACA572437D8DFDEEC8 /* juce_ImageComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ImageComponent.cpp; path = ../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp; sourceTree = SOURCE_ROOT; }; + BEA260469BBB48EB998AA4DB /* juce_MultiTimer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MultiTimer.h; path = ../../../../modules/juce_events/timers/juce_MultiTimer.h; sourceTree = SOURCE_ROOT; }; + BEAB03E92089D87D7D6A2353 /* juce_DrawableButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DrawableButton.h; path = ../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h; sourceTree = SOURCE_ROOT; }; + BEFB2034FC381E2DD019E372 /* juce_Memory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Memory.h; path = ../../../../modules/juce_core/memory/juce_Memory.h; sourceTree = SOURCE_ROOT; }; + C007BC3372F44746BD6E98C0 /* juce_CPlusPlusCodeTokeniser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CPlusPlusCodeTokeniser.h; path = ../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h; sourceTree = SOURCE_ROOT; }; + C02F8C844FAD835F09408406 /* juce_GZIPDecompressorInputStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_GZIPDecompressorInputStream.h; path = ../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h; sourceTree = SOURCE_ROOT; }; + C04188D62834AAE749694751 /* juce_ReferenceCountedArray.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ReferenceCountedArray.h; path = ../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h; sourceTree = SOURCE_ROOT; }; + C05E16AAF0CF0676135C0C9B /* juce_win32_DragAndDrop.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_DragAndDrop.cpp; path = ../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp; sourceTree = SOURCE_ROOT; }; + C0A37CB25E8C40792454E820 /* juce_win32_AudioCDReader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_AudioCDReader.cpp; path = ../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp; sourceTree = SOURCE_ROOT; }; + C0AC297D17FA68BBAB417A64 /* juce_Range.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Range.h; path = ../../../../modules/juce_core/maths/juce_Range.h; sourceTree = SOURCE_ROOT; }; + C0C66A94FBDE992AAD71C698 /* juce_graphics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_graphics.mm; path = ../../../../modules/juce_graphics/juce_graphics.mm; sourceTree = SOURCE_ROOT; }; + C159C35E078C5B5B9BFEFB52 /* juce_mac_MouseCursor.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_MouseCursor.mm; path = ../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm; sourceTree = SOURCE_ROOT; }; + C1A299D4A5AAEA645975EEB8 /* juce_GlyphArrangement.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_GlyphArrangement.h; path = ../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h; sourceTree = SOURCE_ROOT; }; + C24880A7007CE75B7F8BBD71 /* juce_Slider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Slider.h; path = ../../../../modules/juce_gui_basics/widgets/juce_Slider.h; sourceTree = SOURCE_ROOT; }; + C2B61447889E781465E49AC3 /* juce_MenuBarModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MenuBarModel.h; path = ../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h; sourceTree = SOURCE_ROOT; }; + C33DDF76E058D3E11E61DE63 /* juce_BigInteger.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_BigInteger.h; path = ../../../../modules/juce_core/maths/juce_BigInteger.h; sourceTree = SOURCE_ROOT; }; + C3A68B435020C80FC29DB89D /* juce_AlertWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AlertWindow.cpp; path = ../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp; sourceTree = SOURCE_ROOT; }; + C3B0CE7BC50EE3F20BB261EC /* juce_gui_basics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_gui_basics.mm; path = ../../../../modules/juce_gui_basics/juce_gui_basics.mm; sourceTree = SOURCE_ROOT; }; + C3B93391519DA8A352766580 /* juce_RelativeCoordinatePositioner.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RelativeCoordinatePositioner.cpp; path = ../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp; sourceTree = SOURCE_ROOT; }; + C3E4252156EDD0E001A10DE3 /* juce_ActionBroadcaster.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ActionBroadcaster.h; path = ../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h; sourceTree = SOURCE_ROOT; }; + C407BCC7CEC505584B25682E /* juce_LocalisedStrings.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LocalisedStrings.cpp; path = ../../../../modules/juce_core/text/juce_LocalisedStrings.cpp; sourceTree = SOURCE_ROOT; }; + C45B9350ECC13FC8096D3873 /* juce_ColourGradient.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ColourGradient.h; path = ../../../../modules/juce_graphics/colour/juce_ColourGradient.h; sourceTree = SOURCE_ROOT; }; + C48140923F2A4DEDBA063DFD /* juce_LookAndFeel_V2.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LookAndFeel_V2.h; path = ../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h; sourceTree = SOURCE_ROOT; }; + C50CE0A0485507647C78F30E /* juce_XmlElement.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_XmlElement.cpp; path = ../../../../modules/juce_core/xml/juce_XmlElement.cpp; sourceTree = SOURCE_ROOT; }; + C50DA493E57234B3820BD77A /* juce_MouseEvent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MouseEvent.cpp; path = ../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp; sourceTree = SOURCE_ROOT; }; + C52847A293D0E8958E88DFD5 /* juce_MarkerList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MarkerList.h; path = ../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h; sourceTree = SOURCE_ROOT; }; + C568E8888819EAFDCAEAF04F /* juce_ApplicationCommandInfo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ApplicationCommandInfo.cpp; path = ../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp; sourceTree = SOURCE_ROOT; }; + C57BA5F014343276128923F6 /* juce_WebBrowserComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_WebBrowserComponent.h; path = ../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h; sourceTree = SOURCE_ROOT; }; + C599A55407B6EB6AD55AE73C /* juce_ComponentAnimator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ComponentAnimator.h; path = ../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h; sourceTree = SOURCE_ROOT; }; + C62300B9478B60BCBE254256 /* juce_audio_basics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_audio_basics.mm; path = ../../../../modules/juce_audio_basics/juce_audio_basics.mm; sourceTree = SOURCE_ROOT; }; + C64D47A361026A76FC9BA9B9 /* juce_ChannelRemappingAudioSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ChannelRemappingAudioSource.h; path = ../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h; sourceTree = SOURCE_ROOT; }; + C66D4CDC39A565833178EB0D /* juce_ReferenceCountedObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ReferenceCountedObject.h; path = ../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h; sourceTree = SOURCE_ROOT; }; + C6B9F01A0AAA2A1DA8122912 /* juce_RelativeParallelogram.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_RelativeParallelogram.h; path = ../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h; sourceTree = SOURCE_ROOT; }; + C719606229204044D7C85339 /* juce_TopLevelWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TopLevelWindow.h; path = ../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h; sourceTree = SOURCE_ROOT; }; + C7BABEEA061F989A0A74F708 /* juce_WeakReference.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_WeakReference.h; path = ../../../../modules/juce_core/memory/juce_WeakReference.h; sourceTree = SOURCE_ROOT; }; + C7BB125979760AE4264BF23E /* juce_ImageEffectFilter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ImageEffectFilter.h; path = ../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h; sourceTree = SOURCE_ROOT; }; + C7F47C1BEDD7EE514BA40C27 /* juce_MemoryOutputStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MemoryOutputStream.cpp; path = ../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp; sourceTree = SOURCE_ROOT; }; + C8B71823C30A65066A852942 /* juce_DocumentWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DocumentWindow.h; path = ../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h; sourceTree = SOURCE_ROOT; }; + C8CEDA86517FE447F3A3DCF2 /* juce_WindowsMediaAudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_WindowsMediaAudioFormat.h; path = ../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h; sourceTree = SOURCE_ROOT; }; + C8FDA55A72DC4A244703C8F4 /* juce_ImagePreviewComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ImagePreviewComponent.h; path = ../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h; sourceTree = SOURCE_ROOT; }; + C936095A19665316F5B675CF /* juce_FileDragAndDropTarget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileDragAndDropTarget.h; path = ../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h; sourceTree = SOURCE_ROOT; }; + C9CD8A1AB4DAA664557DEBDC /* juce_VST3Common.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_VST3Common.h; path = ../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h; sourceTree = SOURCE_ROOT; }; + CA3D1FE94B500CF86704EB13 /* juce_CustomTypeface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CustomTypeface.h; path = ../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h; sourceTree = SOURCE_ROOT; }; + CBF3ED31F58A0874E0E9A64B /* juce_MultiDocumentPanel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MultiDocumentPanel.cpp; path = ../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp; sourceTree = SOURCE_ROOT; }; + CC0ED57DE1266CEB11001787 /* juce_MultiTimer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MultiTimer.cpp; path = ../../../../modules/juce_events/timers/juce_MultiTimer.cpp; sourceTree = SOURCE_ROOT; }; + CC1AE8EECC77B1915D24C9DA /* juce_IIRFilterAudioSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_IIRFilterAudioSource.h; path = ../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h; sourceTree = SOURCE_ROOT; }; + CC3E6F8333AA2D98AAC1235E /* juce_ThreadLocalValue.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ThreadLocalValue.h; path = ../../../../modules/juce_core/threads/juce_ThreadLocalValue.h; sourceTree = SOURCE_ROOT; }; + CC42DBFB2ABA84046DD69E1F /* juce_osx_MessageQueue.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_osx_MessageQueue.h; path = ../../../../modules/juce_events/native/juce_osx_MessageQueue.h; sourceTree = SOURCE_ROOT; }; + CC83A115FBF5C65772BBFAE3 /* juce_DirectShowComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DirectShowComponent.h; path = ../../../../modules/juce_video/playback/juce_DirectShowComponent.h; sourceTree = SOURCE_ROOT; }; + CD27B64646C58118052C3459 /* juce_AudioSourcePlayer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioSourcePlayer.cpp; path = ../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp; sourceTree = SOURCE_ROOT; }; + CD44827B5286ADE94DB0B79C /* juce_Vector3D.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Vector3D.h; path = ../../../../modules/juce_opengl/geometry/juce_Vector3D.h; sourceTree = SOURCE_ROOT; }; + CD71ED4911896207B303106F /* juce_linux_FileChooser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_FileChooser.cpp; path = ../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp; sourceTree = SOURCE_ROOT; }; + CE11BC7911220E9CFA1283D1 /* juce_DropShadowEffect.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DropShadowEffect.cpp; path = ../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp; sourceTree = SOURCE_ROOT; }; + CE28252C42BBA94C930CF460 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = SOURCE_ROOT; }; + CE5CDD52C447D5DCC7DE1259 /* juce_AudioIODeviceType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioIODeviceType.h; path = ../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h; sourceTree = SOURCE_ROOT; }; + CE9CAFB040BE90431A432537 /* juce_AffineTransform.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AffineTransform.cpp; path = ../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp; sourceTree = SOURCE_ROOT; }; + CEB259E27BB64776AF6BF076 /* juce_WildcardFileFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_WildcardFileFilter.cpp; path = ../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp; sourceTree = SOURCE_ROOT; }; + CED808C5809FF89D32131CB4 /* juce_OpenGLAppComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OpenGLAppComponent.cpp; path = ../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp; sourceTree = SOURCE_ROOT; }; + CEE5BF72C9D7E467212D8973 /* juce_win32_SystemStats.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_SystemStats.cpp; path = ../../../../modules/juce_core/native/juce_win32_SystemStats.cpp; sourceTree = SOURCE_ROOT; }; + CFA38098B5AD00F5C0DF4D4D /* juce_AudioProcessorGraph.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioProcessorGraph.h; path = ../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h; sourceTree = SOURCE_ROOT; }; + CFEF06EB93957DEAE00A0030 /* juce_mac_Network.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_Network.mm; path = ../../../../modules/juce_core/native/juce_mac_Network.mm; sourceTree = SOURCE_ROOT; }; + D01183D850457CA55516B3B2 /* juce_FileSearchPathListComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileSearchPathListComponent.h; path = ../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h; sourceTree = SOURCE_ROOT; }; + D05F7D67DD28FF1156CBED39 /* juce_MP3AudioFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MP3AudioFormat.cpp; path = ../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp; sourceTree = SOURCE_ROOT; }; + D17F209C6915C948F90F1349 /* juce_GroupComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_GroupComponent.h; path = ../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h; sourceTree = SOURCE_ROOT; }; + D1A2603E46734D31975B7540 /* juce_Value.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Value.h; path = ../../../../modules/juce_data_structures/values/juce_Value.h; sourceTree = SOURCE_ROOT; }; + D1C13988EF76674213DF92F4 /* juce_TextEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TextEditor.cpp; path = ../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp; sourceTree = SOURCE_ROOT; }; + D23A9E25612E33C0C6AAA09E /* juce_win32_SystemTrayIcon.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_SystemTrayIcon.cpp; path = ../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp; sourceTree = SOURCE_ROOT; }; + D23F862EE7BAEDAC24479902 /* juce_Result.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Result.h; path = ../../../../modules/juce_core/misc/juce_Result.h; sourceTree = SOURCE_ROOT; }; + D24F3C46F1A46422C080A0A7 /* juce_FilenameComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FilenameComponent.h; path = ../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h; sourceTree = SOURCE_ROOT; }; + D258105EC6398A3984FD8DA3 /* juce_PathStrokeType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PathStrokeType.h; path = ../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h; sourceTree = SOURCE_ROOT; }; + D276367530731B2C732C50CB /* juce_AudioDeviceManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioDeviceManager.cpp; path = ../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp; sourceTree = SOURCE_ROOT; }; + D2C557606FD68958DC545A2B /* juce_android_CameraDevice.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_CameraDevice.cpp; path = ../../../../modules/juce_video/native/juce_android_CameraDevice.cpp; sourceTree = SOURCE_ROOT; }; + D2EBB6A92000349A92809F02 /* juce_EdgeTable.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_EdgeTable.cpp; path = ../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp; sourceTree = SOURCE_ROOT; }; + D37936ED5B5A415DF1F5F2C2 /* juce_SystemStats.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SystemStats.h; path = ../../../../modules/juce_core/system/juce_SystemStats.h; sourceTree = SOURCE_ROOT; }; + D476B9FCEF30511BC736C744 /* juce_core.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_core.h; path = ../../../../modules/juce_core/juce_core.h; sourceTree = SOURCE_ROOT; }; + D4A815675983D742D87E37A5 /* juce_audio_devices.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_audio_devices.mm; path = ../../../../modules/juce_audio_devices/juce_audio_devices.mm; sourceTree = SOURCE_ROOT; }; + D4CA818D9DA2269EBCE376DE /* juce_SystemAudioVolume.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SystemAudioVolume.h; path = ../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h; sourceTree = SOURCE_ROOT; }; + D521465375DD0F179649668B /* juce_KeyListener.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_KeyListener.cpp; path = ../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp; sourceTree = SOURCE_ROOT; }; + D53FD6223C4A997E441E1F80 /* juce_SplashScreen.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_SplashScreen.cpp; path = ../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp; sourceTree = SOURCE_ROOT; }; + D54457FBB5D7B2362E69D9AF /* juce_OggVorbisAudioFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OggVorbisAudioFormat.h; path = ../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h; sourceTree = SOURCE_ROOT; }; + D677D05978DC2C67386B63AE /* juce_OpenGLShaderProgram.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OpenGLShaderProgram.cpp; path = ../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp; sourceTree = SOURCE_ROOT; }; + D67D8599E2F89D673EA36D9F /* juce_OpenGLHelpers.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OpenGLHelpers.cpp; path = ../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp; sourceTree = SOURCE_ROOT; }; + D6AC70136461C6F3FD1987F1 /* juce_CustomTypeface.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_CustomTypeface.cpp; path = ../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp; sourceTree = SOURCE_ROOT; }; + D6EDBF07E4162364DB8825D9 /* juce_SVGParser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_SVGParser.cpp; path = ../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp; sourceTree = SOURCE_ROOT; }; + D74B9C3F462333A72B889773 /* juce_Result.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Result.cpp; path = ../../../../modules/juce_core/misc/juce_Result.cpp; sourceTree = SOURCE_ROOT; }; + D782993D6DAF0AF948A62517 /* juce_gui_extra.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_gui_extra.mm; path = ../../../../modules/juce_gui_extra/juce_gui_extra.mm; sourceTree = SOURCE_ROOT; }; + D85876E3373EF8AC5F39A5A8 /* juce_PathIterator.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PathIterator.cpp; path = ../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp; sourceTree = SOURCE_ROOT; }; + D8C269D8BFE34CF33A2B243C /* juce_module_info */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_module_info; path = ../../../../modules/juce_core/juce_module_info; sourceTree = SOURCE_ROOT; }; + D8EB2E5BDF6806B37482DE70 /* juce_AudioFormatWriter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AudioFormatWriter.h; path = ../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h; sourceTree = SOURCE_ROOT; }; + D8F75466ADD0287144087C5B /* juce_VSTPluginFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_VSTPluginFormat.cpp; path = ../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp; sourceTree = SOURCE_ROOT; }; + D8FDF81708D362F909F5421B /* juce_LagrangeInterpolator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LagrangeInterpolator.h; path = ../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h; sourceTree = SOURCE_ROOT; }; + D92B6F28EF1D46625BC2A18B /* juce_FileBrowserComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileBrowserComponent.h; path = ../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h; sourceTree = SOURCE_ROOT; }; + D93861E50D66746DF070A158 /* juce_ComponentPeer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ComponentPeer.cpp; path = ../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp; sourceTree = SOURCE_ROOT; }; + D99465F417B8D56C2C9A212D /* juce_MemoryInputStream.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MemoryInputStream.h; path = ../../../../modules/juce_core/streams/juce_MemoryInputStream.h; sourceTree = SOURCE_ROOT; }; + D9E4C045A178EA678116D439 /* juce_OpenGLHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLHelpers.h; path = ../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h; sourceTree = SOURCE_ROOT; }; + D9F41579025D12F2CCF079C4 /* juce_FileChooser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileChooser.cpp; path = ../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp; sourceTree = SOURCE_ROOT; }; + D9FDDAC72C576633FD41B2E7 /* juce_win32_DirectWriteTypeLayout.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_DirectWriteTypeLayout.cpp; path = ../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp; sourceTree = SOURCE_ROOT; }; + DA12229986D485B2E2DE059B /* juce_FilenameComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FilenameComponent.cpp; path = ../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp; sourceTree = SOURCE_ROOT; }; + DA223B209C3FF00A91FAA1DD /* juce_ResizableCornerComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ResizableCornerComponent.h; path = ../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h; sourceTree = SOURCE_ROOT; }; + DA67F5A5693214A2189039D4 /* juce_SharedResourcePointer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SharedResourcePointer.h; path = ../../../../modules/juce_core/memory/juce_SharedResourcePointer.h; sourceTree = SOURCE_ROOT; }; + DB348CBC6734FFD0B7ED8A34 /* juce_MouseCursor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MouseCursor.h; path = ../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h; sourceTree = SOURCE_ROOT; }; + DB3D37600C745E6F62C5A04B /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; + DB59695708606C9604E11F0B /* juce_ToolbarItemComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ToolbarItemComponent.cpp; path = ../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp; sourceTree = SOURCE_ROOT; }; + DC209283C24A9C0B601DB860 /* juce_ChangeBroadcaster.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ChangeBroadcaster.h; path = ../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h; sourceTree = SOURCE_ROOT; }; + DC254EFF0D95657D703FA8F6 /* juce_ScopedXLock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ScopedXLock.h; path = ../../../../modules/juce_events/native/juce_ScopedXLock.h; sourceTree = SOURCE_ROOT; }; + DC3E9EDCD85270B2E9D33BF8 /* juce_linux_Fonts.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_Fonts.cpp; path = ../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp; sourceTree = SOURCE_ROOT; }; + DC9D4AE01FB7CF8D2877B198 /* juce_DropShadowEffect.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DropShadowEffect.h; path = ../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h; sourceTree = SOURCE_ROOT; }; + DCB52EFF8A9F5D9F6CF3D3FC /* juce_DrawableText.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DrawableText.cpp; path = ../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp; sourceTree = SOURCE_ROOT; }; + DD387A0509039658A5DC2AE5 /* VertexShader.glsl */ = {isa = PBXFileReference; lastKnownFileType = file.glsl; name = VertexShader.glsl; path = ../../Source/VertexShader.glsl; sourceTree = SOURCE_ROOT; }; + DD542B6F61E6C27A0D5A5F2A /* juce_win32_DirectSound.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_DirectSound.cpp; path = ../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp; sourceTree = SOURCE_ROOT; }; + DE00116B59A20E5B69367B70 /* juce_StretchableLayoutResizerBar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_StretchableLayoutResizerBar.cpp; path = ../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp; sourceTree = SOURCE_ROOT; }; + DE1A6A1C0CCC94A3E3A887E3 /* juce_DrawableShape.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DrawableShape.h; path = ../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h; sourceTree = SOURCE_ROOT; }; + DE3832516FB6969C0E3210D4 /* juce_DirectoryIterator.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DirectoryIterator.h; path = ../../../../modules/juce_core/files/juce_DirectoryIterator.h; sourceTree = SOURCE_ROOT; }; + DE8A6DAED12A99017D7341E1 /* juce_TableHeaderComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TableHeaderComponent.cpp; path = ../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp; sourceTree = SOURCE_ROOT; }; + DEE9366528ACF7F2CC0A9F73 /* juce_ContainerDeletePolicy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ContainerDeletePolicy.h; path = ../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h; sourceTree = SOURCE_ROOT; }; + DF2B90185FBA2C86DE767F46 /* juce_FileInputSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileInputSource.cpp; path = ../../../../modules/juce_core/streams/juce_FileInputSource.cpp; sourceTree = SOURCE_ROOT; }; + DF42C1B300CA66580D0AED1D /* juce_MissingGLDefinitions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MissingGLDefinitions.h; path = ../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h; sourceTree = SOURCE_ROOT; }; + DF53D8FD5DE7B15694D26E91 /* juce_OpenGLContext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OpenGLContext.cpp; path = ../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp; sourceTree = SOURCE_ROOT; }; + E041ABD2C503FCB7EB7E49F8 /* juce_android_GraphicsContext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_GraphicsContext.cpp; path = ../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp; sourceTree = SOURCE_ROOT; }; + E046CC53401A9551BDEA2D83 /* juce_OpenGLTexture.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLTexture.h; path = ../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h; sourceTree = SOURCE_ROOT; }; + E0544ED1BC8832C4D1296FAB /* juce_Font.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Font.h; path = ../../../../modules/juce_graphics/fonts/juce_Font.h; sourceTree = SOURCE_ROOT; }; + E068F61F296A52D25E329978 /* juce_TemporaryFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TemporaryFile.h; path = ../../../../modules/juce_core/files/juce_TemporaryFile.h; sourceTree = SOURCE_ROOT; }; + E0E847621EEAEEFB21B87986 /* juce_opengl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_opengl.h; path = ../../../../modules/juce_opengl/juce_opengl.h; sourceTree = SOURCE_ROOT; }; + E0FF460CC2AACA09D6C7412E /* juce_CharPointer_UTF16.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CharPointer_UTF16.h; path = ../../../../modules/juce_core/text/juce_CharPointer_UTF16.h; sourceTree = SOURCE_ROOT; }; + E10DD1F7E7994B77BFF7C8AF /* juce_FloatVectorOperations.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FloatVectorOperations.h; path = ../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h; sourceTree = SOURCE_ROOT; }; + E22C09309C11DAE1AA0AA148 /* juce_Sampler.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Sampler.cpp; path = ../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp; sourceTree = SOURCE_ROOT; }; + E273A9AEACF13BC595F82289 /* juce_MemoryMappedFile.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MemoryMappedFile.h; path = ../../../../modules/juce_core/files/juce_MemoryMappedFile.h; sourceTree = SOURCE_ROOT; }; + E2B10A7DBF2B35A4C3A1DE21 /* juce_GraphicsContext.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_GraphicsContext.cpp; path = ../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp; sourceTree = SOURCE_ROOT; }; + E2B33608E3097EE1E7801707 /* juce_IPAddress.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_IPAddress.cpp; path = ../../../../modules/juce_core/network/juce_IPAddress.cpp; sourceTree = SOURCE_ROOT; }; + E2EEB444EC638B0C72A8A7E6 /* juce_MemoryInputStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MemoryInputStream.cpp; path = ../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp; sourceTree = SOURCE_ROOT; }; + E31FDA8F23FEAB726361C8DB /* juce_InterprocessConnectionServer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_InterprocessConnectionServer.cpp; path = ../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp; sourceTree = SOURCE_ROOT; }; + E3381BC529641894F95F9AD6 /* juce_ActiveXControlComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ActiveXControlComponent.h; path = ../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h; sourceTree = SOURCE_ROOT; }; + E388DABC27B6A417CE9B7F7B /* juce_KnownPluginList.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_KnownPluginList.h; path = ../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h; sourceTree = SOURCE_ROOT; }; + E441F10A3241806474779D5A /* juce_ImageFileFormat.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ImageFileFormat.cpp; path = ../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp; sourceTree = SOURCE_ROOT; }; + E45F076842C926BA5400B70B /* juce_CharacterFunctions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_CharacterFunctions.h; path = ../../../../modules/juce_core/text/juce_CharacterFunctions.h; sourceTree = SOURCE_ROOT; }; + E47A2EEA203214804C09378D /* juce_AudioSampleBuffer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioSampleBuffer.cpp; path = ../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.cpp; sourceTree = SOURCE_ROOT; }; + E488221DF5AFED73C4518AE7 /* juce_win32_WASAPI.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_WASAPI.cpp; path = ../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp; sourceTree = SOURCE_ROOT; }; + E49C04EACE55BED74E156911 /* juce_AsyncUpdater.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_AsyncUpdater.h; path = ../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h; sourceTree = SOURCE_ROOT; }; + E4D98F92A6646FC7CE4FFA1B /* juce_mac_CoreGraphicsContext.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_CoreGraphicsContext.mm; path = ../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm; sourceTree = SOURCE_ROOT; }; + E50BADB05430CBE8BF33F8F5 /* juce_PopupMenu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PopupMenu.h; path = ../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h; sourceTree = SOURCE_ROOT; }; + E54011F26F7D9AD38D437851 /* juce_mac_Threads.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_mac_Threads.mm; path = ../../../../modules/juce_core/native/juce_mac_Threads.mm; sourceTree = SOURCE_ROOT; }; + E5D5588D0F985DB2D5A8BAF5 /* juce_XmlDocument.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_XmlDocument.cpp; path = ../../../../modules/juce_core/xml/juce_XmlDocument.cpp; sourceTree = SOURCE_ROOT; }; + E5F97C758712010CF0E6D1B5 /* juce_AbstractFifo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AbstractFifo.cpp; path = ../../../../modules/juce_core/containers/juce_AbstractFifo.cpp; sourceTree = SOURCE_ROOT; }; + E62A008F49C8FB4ECEB6CC37 /* juce_ColourSelector.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ColourSelector.h; path = ../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h; sourceTree = SOURCE_ROOT; }; + E66B64B5619AFCB389836C06 /* juce_PluginDescription.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PluginDescription.h; path = ../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h; sourceTree = SOURCE_ROOT; }; + E6AB1D98C43E9017F546D707 /* juce_mac_CoreGraphicsHelpers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_mac_CoreGraphicsHelpers.h; path = ../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h; sourceTree = SOURCE_ROOT; }; + E7D88F20FB6FEA84BFEC67D1 /* juce_TooltipWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TooltipWindow.cpp; path = ../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp; sourceTree = SOURCE_ROOT; }; + E7EF18BE4F22063894C6FF61 /* juce_Timer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Timer.cpp; path = ../../../../modules/juce_events/timers/juce_Timer.cpp; sourceTree = SOURCE_ROOT; }; + E81332E1BCBF978D86F92DFE /* juce_Socket.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Socket.cpp; path = ../../../../modules/juce_core/network/juce_Socket.cpp; sourceTree = SOURCE_ROOT; }; + E83074E632966778B10AF088 /* juce_RSAKey.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_RSAKey.cpp; path = ../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp; sourceTree = SOURCE_ROOT; }; + E8ED8CA85BE4E1BF7C5ADF53 /* juce_ActionBroadcaster.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ActionBroadcaster.cpp; path = ../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp; sourceTree = SOURCE_ROOT; }; + E90FDEEB9C536E5E1124B00D /* juce_KeyboardFocusTraverser.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_KeyboardFocusTraverser.cpp; path = ../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp; sourceTree = SOURCE_ROOT; }; + E9164448EE60F4DB5F2A14D1 /* juce_MenuBarComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MenuBarComponent.cpp; path = ../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp; sourceTree = SOURCE_ROOT; }; + E9BB6F5CCB22B9CBEA0DFAB6 /* juce_NewLine.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_NewLine.h; path = ../../../../modules/juce_core/text/juce_NewLine.h; sourceTree = SOURCE_ROOT; }; + EA19F37E2AB4C42A1ACF17CE /* juce_PropertyComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PropertyComponent.h; path = ../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h; sourceTree = SOURCE_ROOT; }; + EA2BE0B9C8E1546D25A02D67 /* juce_Drawable.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Drawable.cpp; path = ../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp; sourceTree = SOURCE_ROOT; }; + EA53B7692D5E224F0477A791 /* juce_DialogWindow.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DialogWindow.cpp; path = ../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp; sourceTree = SOURCE_ROOT; }; + EA77ADEA8100DFE7C2E0ABB6 /* juce_AudioFormatManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioFormatManager.cpp; path = ../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp; sourceTree = SOURCE_ROOT; }; + EA8B6054D2E6C204214422CE /* juce_MidiKeyboardState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MidiKeyboardState.h; path = ../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h; sourceTree = SOURCE_ROOT; }; + EAE65B593000E1AFCA63AEE8 /* juce_ReverbAudioSource.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ReverbAudioSource.cpp; path = ../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp; sourceTree = SOURCE_ROOT; }; + EBABE678E857A993B3753B83 /* juce_audio_devices.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_audio_devices.h; path = ../../../../modules/juce_audio_devices/juce_audio_devices.h; sourceTree = SOURCE_ROOT; }; + ECD6C0DDB8587984580C96B0 /* juce_TabbedComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TabbedComponent.h; path = ../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h; sourceTree = SOURCE_ROOT; }; + ECE3837512B3E620155A8432 /* juce_TextButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TextButton.h; path = ../../../../modules/juce_gui_basics/buttons/juce_TextButton.h; sourceTree = SOURCE_ROOT; }; + ED4FD41F6F5825084831A29C /* juce_android_Midi.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_android_Midi.cpp; path = ../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp; sourceTree = SOURCE_ROOT; }; + ED9CF9B1476F08D13A1E636E /* juce_Javascript.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Javascript.h; path = ../../../../modules/juce_core/javascript/juce_Javascript.h; sourceTree = SOURCE_ROOT; }; + EE49ECC80B5D7D0DEFA0EF7A /* juce_win32_ASIO.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_ASIO.cpp; path = ../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp; sourceTree = SOURCE_ROOT; }; + EEBA2A14B5473C1F19BF3D3E /* juce_LADSPAPluginFormat.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LADSPAPluginFormat.h; path = ../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h; sourceTree = SOURCE_ROOT; }; + EEDD0D3608DCB2E459F3BF24 /* juce_ApplicationCommandTarget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ApplicationCommandTarget.h; path = ../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h; sourceTree = SOURCE_ROOT; }; + EEE157CFCD553CC2F4D15CBB /* juce_module_info */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_module_info; path = ../../../../modules/juce_audio_devices/juce_module_info; sourceTree = SOURCE_ROOT; }; + EEE1F3257D7C9A527D6647E1 /* juce_FileChooserDialogBox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileChooserDialogBox.cpp; path = ../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp; sourceTree = SOURCE_ROOT; }; + EF0061905AEAC90A86145D40 /* juce_LowLevelGraphicsPostScriptRenderer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LowLevelGraphicsPostScriptRenderer.h; path = ../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h; sourceTree = SOURCE_ROOT; }; + EF073EC891B2731068542C61 /* juce_TemporaryFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TemporaryFile.cpp; path = ../../../../modules/juce_core/files/juce_TemporaryFile.cpp; sourceTree = SOURCE_ROOT; }; + EF70C0EA201D702D22D06396 /* juce_NamedValueSet.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_NamedValueSet.cpp; path = ../../../../modules/juce_core/containers/juce_NamedValueSet.cpp; sourceTree = SOURCE_ROOT; }; + EFDD05E3C006BA460761594C /* juce_KeyPressMappingSet.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_KeyPressMappingSet.cpp; path = ../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp; sourceTree = SOURCE_ROOT; }; + F0074D8C86D3265AF7889CCF /* juce_JPEGLoader.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_JPEGLoader.cpp; path = ../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp; sourceTree = SOURCE_ROOT; }; + F05511231DB8D8615D4A336C /* juce_SubregionStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_SubregionStream.cpp; path = ../../../../modules/juce_core/streams/juce_SubregionStream.cpp; sourceTree = SOURCE_ROOT; }; + F07914AFCF34610BAC0D3B0B /* juce_opengl.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_opengl.mm; path = ../../../../modules/juce_opengl/juce_opengl.mm; sourceTree = SOURCE_ROOT; }; + F0A8EA8AEA260ED20ED40247 /* juce_Typeface.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Typeface.h; path = ../../../../modules/juce_graphics/fonts/juce_Typeface.h; sourceTree = SOURCE_ROOT; }; + F0F7DE7E362D726569559501 /* juce_FileBasedDocument.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileBasedDocument.h; path = ../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h; sourceTree = SOURCE_ROOT; }; + F1830606ECDFB808597E5A8F /* juce_Variant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Variant.h; path = ../../../../modules/juce_core/containers/juce_Variant.h; sourceTree = SOURCE_ROOT; }; + F1BE04264A690B5EFA99FCA5 /* juce_DeletedAtShutdown.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DeletedAtShutdown.cpp; path = ../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp; sourceTree = SOURCE_ROOT; }; + F1EB95EC0156CE6D16280A45 /* juce_URL.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_URL.cpp; path = ../../../../modules/juce_core/network/juce_URL.cpp; sourceTree = SOURCE_ROOT; }; + F2A3916171FCB01D6A68DD87 /* juce_linux_SystemStats.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_linux_SystemStats.cpp; path = ../../../../modules/juce_core/native/juce_linux_SystemStats.cpp; sourceTree = SOURCE_ROOT; }; + F2C08F60BC16ABA3BE1F3A36 /* juce_PlatformDefs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_PlatformDefs.h; path = ../../../../modules/juce_core/system/juce_PlatformDefs.h; sourceTree = SOURCE_ROOT; }; + F2DE7A0F77BCCBCFEEC0B500 /* juce_mac_CarbonViewWrapperComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_mac_CarbonViewWrapperComponent.h; path = ../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h; sourceTree = SOURCE_ROOT; }; + F2DFFAA96667B5897702E4B6 /* juce_Atomic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Atomic.h; path = ../../../../modules/juce_core/memory/juce_Atomic.h; sourceTree = SOURCE_ROOT; }; + F2ED5A15267070B560EFFA2B /* juce_TextButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TextButton.cpp; path = ../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp; sourceTree = SOURCE_ROOT; }; + F356FC782C13333907F2EE17 /* juce_GenericAudioProcessorEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_GenericAudioProcessorEditor.cpp; path = ../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp; sourceTree = SOURCE_ROOT; }; + F3813BA8E8B9F775D0A049FF /* juce_TabbedComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_TabbedComponent.cpp; path = ../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp; sourceTree = SOURCE_ROOT; }; + F3868CB33CA2805C31829647 /* juce_Timer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Timer.h; path = ../../../../modules/juce_events/timers/juce_Timer.h; sourceTree = SOURCE_ROOT; }; + F4B9C009E75153F873F4AA25 /* juce_LookAndFeel_V1.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LookAndFeel_V1.h; path = ../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h; sourceTree = SOURCE_ROOT; }; + F4EA57711C5E9DC6746728FD /* juce_MessageListener.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MessageListener.cpp; path = ../../../../modules/juce_events/messages/juce_MessageListener.cpp; sourceTree = SOURCE_ROOT; }; + F5DBF428153938207320675F /* juce_ArrowButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ArrowButton.cpp; path = ../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp; sourceTree = SOURCE_ROOT; }; + F5EB78612A35D53F005597D4 /* juce_LowLevelGraphicsContext.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LowLevelGraphicsContext.h; path = ../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h; sourceTree = SOURCE_ROOT; }; + F6086AE27F4DEB9C75A8FFB5 /* juce_module_info */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_module_info; path = ../../../../modules/juce_audio_basics/juce_module_info; sourceTree = SOURCE_ROOT; }; + F616A5D8C022126707081DC9 /* juce_OpenGLRenderer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_OpenGLRenderer.h; path = ../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h; sourceTree = SOURCE_ROOT; }; + F6625EF536284FBD73183EA1 /* juce_ComponentBoundsConstrainer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ComponentBoundsConstrainer.cpp; path = ../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp; sourceTree = SOURCE_ROOT; }; + F67C770333721A5D9BFEFCF6 /* juce_PreferencesPanel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_PreferencesPanel.cpp; path = ../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp; sourceTree = SOURCE_ROOT; }; + F67FF8B4FA78D4E285AC0242 /* juce_TargetPlatform.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TargetPlatform.h; path = ../../../../modules/juce_core/system/juce_TargetPlatform.h; sourceTree = SOURCE_ROOT; }; + F6A4E47EA1AA7392CFA6D8AD /* juce_ScopedWriteLock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ScopedWriteLock.h; path = ../../../../modules/juce_core/threads/juce_ScopedWriteLock.h; sourceTree = SOURCE_ROOT; }; + F7487F2DEA61873B12C6CAC0 /* juce_ToggleButton.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ToggleButton.cpp; path = ../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp; sourceTree = SOURCE_ROOT; }; + F7D32C5CE1D85C542190C26C /* juce_module_info */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_module_info; path = ../../../../modules/juce_graphics/juce_module_info; sourceTree = SOURCE_ROOT; }; + F7D98798130B4AB14E4E82F2 /* juce_Colour.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Colour.h; path = ../../../../modules/juce_graphics/colour/juce_Colour.h; sourceTree = SOURCE_ROOT; }; + F7E246B8F8600787C3F10552 /* juce_audio_processors.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_audio_processors.h; path = ../../../../modules/juce_audio_processors/juce_audio_processors.h; sourceTree = SOURCE_ROOT; }; + F84732FE450246B23C813288 /* juce_Label.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Label.h; path = ../../../../modules/juce_gui_basics/widgets/juce_Label.h; sourceTree = SOURCE_ROOT; }; + F879E952E9ABC6FB12503AAC /* juce_IIRFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_IIRFilter.cpp; path = ../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp; sourceTree = SOURCE_ROOT; }; + F897C7899B56E5C6D5523353 /* juce_SplashScreen.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SplashScreen.h; path = ../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h; sourceTree = SOURCE_ROOT; }; + F8E83B5544E2379CB0B323D8 /* juce_OutputStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_OutputStream.cpp; path = ../../../../modules/juce_core/streams/juce_OutputStream.cpp; sourceTree = SOURCE_ROOT; }; + F9022636187FF444897371F1 /* juce_Colours.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Colours.h; path = ../../../../modules/juce_graphics/colour/juce_Colours.h; sourceTree = SOURCE_ROOT; }; + F937ACD8AA15A27F13F85A88 /* juce_Uuid.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Uuid.cpp; path = ../../../../modules/juce_core/misc/juce_Uuid.cpp; sourceTree = SOURCE_ROOT; }; + F93D065EB34B3E5270F5626D /* juce_AudioProcessorEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AudioProcessorEditor.cpp; path = ../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp; sourceTree = SOURCE_ROOT; }; + F9A0A82AA4D8EDB4B2305849 /* juce_AnimatedAppComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AnimatedAppComponent.cpp; path = ../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp; sourceTree = SOURCE_ROOT; }; + F9EED40DD78515ADF3189694 /* juce_ApplicationBase.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_ApplicationBase.cpp; path = ../../../../modules/juce_events/messages/juce_ApplicationBase.cpp; sourceTree = SOURCE_ROOT; }; + FA6BDA8882AAEE02FB04E36F /* juce_LookAndFeel_V3.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_LookAndFeel_V3.cpp; path = ../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp; sourceTree = SOURCE_ROOT; }; + FA9CE8D2EEF012CB74C1E8CA /* juce_ApplicationBase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ApplicationBase.h; path = ../../../../modules/juce_events/messages/juce_ApplicationBase.h; sourceTree = SOURCE_ROOT; }; + FAD5D9101D6427D96558C37F /* juce_DrawableImage.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_DrawableImage.cpp; path = ../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp; sourceTree = SOURCE_ROOT; }; + FAF22574F9AFF74820925F08 /* juce_win32_Files.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_Files.cpp; path = ../../../../modules/juce_core/native/juce_win32_Files.cpp; sourceTree = SOURCE_ROOT; }; + FB748B4E5E7E7CB38BBF07AD /* juce_BigInteger.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_BigInteger.cpp; path = ../../../../modules/juce_core/maths/juce_BigInteger.cpp; sourceTree = SOURCE_ROOT; }; + FBA60035993B1D5796D202DF /* juce_SystemTrayIconComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_SystemTrayIconComponent.h; path = ../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h; sourceTree = SOURCE_ROOT; }; + FBD1053AF6BF9575682BCAF8 /* juce_LocalisedStrings.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_LocalisedStrings.h; path = ../../../../modules/juce_core/text/juce_LocalisedStrings.h; sourceTree = SOURCE_ROOT; }; + FBDBBE33AEF062A1457DAA42 /* juce_audio_formats.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = juce_audio_formats.mm; path = ../../../../modules/juce_audio_formats/juce_audio_formats.mm; sourceTree = SOURCE_ROOT; }; + FBF25BFCF0541B78909B16C6 /* juce_TextDragAndDropTarget.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_TextDragAndDropTarget.h; path = ../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h; sourceTree = SOURCE_ROOT; }; + FBFB17CDB832B533BEF3BFAB /* juce_GZIPDecompressorInputStream.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_GZIPDecompressorInputStream.cpp; path = ../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp; sourceTree = SOURCE_ROOT; }; + FC00E5ABDD903617E7498A0B /* juce_Application.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_Application.cpp; path = ../../../../modules/juce_gui_basics/application/juce_Application.cpp; sourceTree = SOURCE_ROOT; }; + FC1E4BFBBE4B43200F8D30D4 /* juce_win32_ActiveXComponent.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_win32_ActiveXComponent.cpp; path = ../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp; sourceTree = SOURCE_ROOT; }; + FC2F6663A0086F14B8C0144E /* juce_win32_ComSmartPtr.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_win32_ComSmartPtr.h; path = ../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h; sourceTree = SOURCE_ROOT; }; + FC3CA13BBF45F16F19AE3047 /* juce_FileFilter.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_FileFilter.cpp; path = ../../../../modules/juce_core/files/juce_FileFilter.cpp; sourceTree = SOURCE_ROOT; }; + FC50C6150E60281125E69115 /* juce_DrawableImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DrawableImage.h; path = ../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h; sourceTree = SOURCE_ROOT; }; + FC5306AC9A046F7DF6CC09FD /* juce_StretchableLayoutManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_StretchableLayoutManager.cpp; path = ../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp; sourceTree = SOURCE_ROOT; }; + FC865A2B46F423E11725FFBC /* juce_Array.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Array.h; path = ../../../../modules/juce_core/containers/juce_Array.h; sourceTree = SOURCE_ROOT; }; + FCF5891DAC2887A6FE3EEA9F /* juce_posix_NamedPipe.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_posix_NamedPipe.cpp; path = ../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp; sourceTree = SOURCE_ROOT; }; + FD04FE1CA7A8937A90864D6F /* juce_MidiFile.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_MidiFile.cpp; path = ../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp; sourceTree = SOURCE_ROOT; }; + FD1A5CF76641E1CE7F29B44D /* juce_ComponentBoundsConstrainer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_ComponentBoundsConstrainer.h; path = ../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h; sourceTree = SOURCE_ROOT; }; + FD2080564407C8EFE21CBC96 /* juce_MessageListener.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_MessageListener.h; path = ../../../../modules/juce_events/messages/juce_MessageListener.h; sourceTree = SOURCE_ROOT; }; + FD36702E757F21E0C43E8907 /* juce_StretchableObjectResizer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_StretchableObjectResizer.cpp; path = ../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp; sourceTree = SOURCE_ROOT; }; + FD6A6D3E26D069707DD51652 /* juce_HeapBlock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_HeapBlock.h; path = ../../../../modules/juce_core/memory/juce_HeapBlock.h; sourceTree = SOURCE_ROOT; }; + FDB3097BE7C87FF74895E875 /* juce_FileListComponent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_FileListComponent.h; path = ../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h; sourceTree = SOURCE_ROOT; }; + FDC6858C3E455F9E8376B58B /* juce_AsyncUpdater.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = juce_AsyncUpdater.cpp; path = ../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp; sourceTree = SOURCE_ROOT; }; + FDFE40162E4F5CCAA833061C /* juce_DrawablePath.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_DrawablePath.h; path = ../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h; sourceTree = SOURCE_ROOT; }; + FE42628E4890B2FC1D85E574 /* juce_Process.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = juce_Process.h; path = ../../../../modules/juce_core/threads/juce_Process.h; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 54D4A7BDAE854DE0AE2D5E3E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + F2E327A47E10F43D6991A306 /* Accelerate.framework in Frameworks */, + 7FF434A451FC85BF1B79BC7F /* AudioToolbox.framework in Frameworks */, + 96CB0F03F9B80A334DEA2147 /* Carbon.framework in Frameworks */, + 8A6D37A2A20E92532DE4CDE6 /* Cocoa.framework in Frameworks */, + 2A954B85CEC7CB6CDDE645AF /* CoreAudio.framework in Frameworks */, + 3BFCAE441B663BD739FBCCB4 /* CoreMIDI.framework in Frameworks */, + BEC90605659632469EAEFED9 /* DiscRecording.framework in Frameworks */, + B592CCDBC97987937D3E1990 /* IOKit.framework in Frameworks */, + 86349C45A45EB863AAFB24AD /* OpenGL.framework in Frameworks */, + EA339F19B6848D97F15D2691 /* QTKit.framework in Frameworks */, + 6243594E2BFD65B88D9F9918 /* QuartzCore.framework in Frameworks */, + 70755FD2C3B5797C7BD66CF3 /* QuickTime.framework in Frameworks */, + A449C4B4D524AF85F99933DB /* WebKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 013403E10034C0DA7BEE1F39 /* fonts */ = { + isa = PBXGroup; + children = ( + AA55BD139AEC1B8272ABE461 /* juce_AttributedString.cpp */, + 506DE1D3A739746007E33852 /* juce_AttributedString.h */, + D6AC70136461C6F3FD1987F1 /* juce_CustomTypeface.cpp */, + CA3D1FE94B500CF86704EB13 /* juce_CustomTypeface.h */, + 279A6546016EEB8F9264EB39 /* juce_Font.cpp */, + E0544ED1BC8832C4D1296FAB /* juce_Font.h */, + 4271A817DD6497D0023C43A3 /* juce_GlyphArrangement.cpp */, + C1A299D4A5AAEA645975EEB8 /* juce_GlyphArrangement.h */, + A4F075DFF243F6BB90CD5950 /* juce_TextLayout.cpp */, + 3CF6CC164ED4826B4DF73177 /* juce_TextLayout.h */, + 2CB561058728D0EA3A66AF4A /* juce_Typeface.cpp */, + F0A8EA8AEA260ED20ED40247 /* juce_Typeface.h */, + ); + name = fonts; + sourceTree = ""; + }; + 01C4A7ED89A1564ED222862E /* juce_video */ = { + isa = PBXGroup; + children = ( + E1A6B922CD26B2E238FFE633 /* playback */, + B43E665356CC8841DCE56D07 /* capture */, + 9BD07AD149BE8BBE4BA6B001 /* native */, + 6C8C142D26BAD246C4ECC102 /* juce_module_info */, + 317988D9466ECCE83B91CD24 /* juce_video.h */, + ); + name = juce_video; + sourceTree = ""; + }; + 0483BF4E3FB318109FA0F8A5 /* Resources */ = { + isa = PBXGroup; + children = ( + CE28252C42BBA94C930CF460 /* Info.plist */, + 25D7DC711CE171A1F8DBFF05 /* RecentFilesMenuTemplate.nib */, + ); + name = Resources; + sourceTree = ""; + }; + 128007CA5E777E8B423777F8 /* Juce Modules */ = { + isa = PBXGroup; + children = ( + 333F7FC9E4E695D243B51D53 /* juce_audio_basics */, + EFBCC9AA9132896CF439C9BD /* juce_audio_devices */, + 8BB98CFCE02C8F888DEAD934 /* juce_audio_formats */, + B0A8A78F56D39E5C52AB1C76 /* juce_audio_processors */, + 6D357C7BC335FFE2B3877318 /* juce_core */, + 6BC6B2DDDAEB6F4F64D1A010 /* juce_cryptography */, + 1E71D5778D41DB63E6350D93 /* juce_data_structures */, + 1B0890891B764226EB568489 /* juce_events */, + B4351AB8FE980A7A843DD7EB /* juce_graphics */, + 1EFC1E01B0C1ECC1EA973E50 /* juce_gui_basics */, + 5055ACAE49BC97DD34466C48 /* juce_gui_extra */, + 8C1FC7FA6E1B36498E7EB987 /* juce_opengl */, + 01C4A7ED89A1564ED222862E /* juce_video */, + ); + name = "Juce Modules"; + sourceTree = ""; + }; + 17E7CDE6EA0A435BF5A4DC15 /* windows */ = { + isa = PBXGroup; + children = ( + C3A68B435020C80FC29DB89D /* juce_AlertWindow.cpp */, + 44EFBCE30DD206F4A55E4E81 /* juce_AlertWindow.h */, + 876EE7E42127474428BE3BFF /* juce_CallOutBox.cpp */, + 76372445FC076FB8D26CEEC4 /* juce_CallOutBox.h */, + D93861E50D66746DF070A158 /* juce_ComponentPeer.cpp */, + AD7CF8E55597C12D264E26D5 /* juce_ComponentPeer.h */, + EA53B7692D5E224F0477A791 /* juce_DialogWindow.cpp */, + 019CD85E295A7290855D0C24 /* juce_DialogWindow.h */, + 61C1B6B3336D774EAE4994F9 /* juce_DocumentWindow.cpp */, + C8B71823C30A65066A852942 /* juce_DocumentWindow.h */, + 94D011BBB3D330AEDAC86D11 /* juce_NativeMessageBox.h */, + 0769D44014FDF069ECA54115 /* juce_ResizableWindow.cpp */, + 7581EDAFA0B1746EC8139077 /* juce_ResizableWindow.h */, + 4391785C112C65C6C1F4E05A /* juce_ThreadWithProgressWindow.cpp */, + 856F3C72739BD34C8CA40F3A /* juce_ThreadWithProgressWindow.h */, + E7D88F20FB6FEA84BFEC67D1 /* juce_TooltipWindow.cpp */, + B1C695101BE3D6A84272B6C8 /* juce_TooltipWindow.h */, + 92C99A9D9E9BCABE2AE26B9C /* juce_TopLevelWindow.cpp */, + C719606229204044D7C85339 /* juce_TopLevelWindow.h */, + ); + name = windows; + sourceTree = ""; + }; + 1B0890891B764226EB568489 /* juce_events */ = { + isa = PBXGroup; + children = ( + 6B69835D713DBE0AA1335554 /* messages */, + 21AE815F08BE75F4B146FF17 /* timers */, + CFA962EE09603F3370751E99 /* broadcasters */, + C6AA6C3360946FAC6A1E4CFF /* interprocess */, + ED26DB941C1087A481ED9C8B /* native */, + A061F1646238A35ED0BDA32A /* juce_module_info */, + 887EE77979249B8A3E7C2C49 /* juce_events.h */, + ); + name = juce_events; + sourceTree = ""; + }; + 1D0C55594A9BAF09CB69ABA6 /* logging */ = { + isa = PBXGroup; + children = ( + 791D605377E089529EA264D0 /* juce_FileLogger.cpp */, + 5784477EFEEAAD041BDF34D4 /* juce_FileLogger.h */, + 3DCD8AA2FF25FBE6919E8F64 /* juce_Logger.cpp */, + 0F7BCDE5E324E86EEA86BA7A /* juce_Logger.h */, + ); + name = logging; + sourceTree = ""; + }; + 1E71D5778D41DB63E6350D93 /* juce_data_structures */ = { + isa = PBXGroup; + children = ( + A6D444FE8D85CED1C171C0EC /* values */, + FF74D4493903CDAEF7181A06 /* undomanager */, + FA2F4F69BFFFAE7A215E77CA /* app_properties */, + 014A45F4DF5D4B850A2E712D /* juce_module_info */, + 8B8CEF7A6937C76CA7642C8F /* juce_data_structures.h */, + ); + name = juce_data_structures; + sourceTree = ""; + }; + 1EB689C939940E8ABE1AD59B /* containers */ = { + isa = PBXGroup; + children = ( + E5F97C758712010CF0E6D1B5 /* juce_AbstractFifo.cpp */, + 160486C90F388089629BA392 /* juce_AbstractFifo.h */, + FC865A2B46F423E11725FFBC /* juce_Array.h */, + 8A67491E410C9DB6523DABF6 /* juce_ArrayAllocationBase.h */, + 39E15EA7A7D5C14DC2567263 /* juce_DynamicObject.cpp */, + 4421B5629FD22618255E5539 /* juce_DynamicObject.h */, + ADFFCCFC47120AF338FD8C22 /* juce_ElementComparator.h */, + 0C2B705429E7587EB29AAD6A /* juce_HashMap.h */, + 2BCD3C3BC90487E5B932FC98 /* juce_LinkedListPointer.h */, + EF70C0EA201D702D22D06396 /* juce_NamedValueSet.cpp */, + 356A77E7E341874950015BD0 /* juce_NamedValueSet.h */, + 25B327FEFEA517FB80B16EA1 /* juce_OwnedArray.h */, + 3901027B107F1E3047BE9DAC /* juce_PropertySet.cpp */, + 9C0906C06A9D1558C2982BC1 /* juce_PropertySet.h */, + C04188D62834AAE749694751 /* juce_ReferenceCountedArray.h */, + 0C76BB6E3BA98DEED44473E7 /* juce_ScopedValueSetter.h */, + 673396F4BEBFE86BF911DBB6 /* juce_SortedSet.h */, + 46258D3B622AB0E2EF63F709 /* juce_SparseSet.h */, + 9F8B21E7C672840ACD02251E /* juce_Variant.cpp */, + F1830606ECDFB808597E5A8F /* juce_Variant.h */, + ); + name = containers; + sourceTree = ""; + }; + 1EFC1E01B0C1ECC1EA973E50 /* juce_gui_basics */ = { + isa = PBXGroup; + children = ( + 5A794D6AA7ACA03DC348F94D /* components */, + 4AA38BF06A0BA16074879F26 /* mouse */, + 9AF6FBC13AA9F0C35EC524A1 /* keyboard */, + 6401A528C034A7FE4E59C5C4 /* widgets */, + 17E7CDE6EA0A435BF5A4DC15 /* windows */, + 39294ED083C056829DCC6B0C /* menus */, + 68E400580DF6F5DE436B39EB /* layout */, + 82356BA2755E3E9A105EE32C /* buttons */, + 9A1C5344E2500919F67C1907 /* positioning */, + 6373BAB4261AEB403399D2DE /* drawables */, + 4A5017F3DFD59498929C74A1 /* properties */, + 7C2B9213A4FC92A23B91DB75 /* lookandfeel */, + 42F8790BBB2D6EAC6A228F28 /* filebrowser */, + EB0838BDF3EDD2A6C56D1B10 /* commands */, + 3F09D506DAF77142944CD206 /* misc */, + 2EFA9503FCACF0651BB57D5A /* application */, + BC1C3CB4DF57CE8A1B29522F /* native */, + 0F1752D7FC9D89588551D5C3 /* juce_module_info */, + A85BBB0551113A7CD910AA16 /* juce_gui_basics.h */, + ); + name = juce_gui_basics; + sourceTree = ""; + }; + 206C4AD1A507D7D003F44AD4 /* documents */ = { + isa = PBXGroup; + children = ( + 169C1D0433B29AF96A6FD27E /* juce_FileBasedDocument.cpp */, + F0F7DE7E362D726569559501 /* juce_FileBasedDocument.h */, + ); + name = documents; + sourceTree = ""; + }; + 21AE815F08BE75F4B146FF17 /* timers */ = { + isa = PBXGroup; + children = ( + CC0ED57DE1266CEB11001787 /* juce_MultiTimer.cpp */, + BEA260469BBB48EB998AA4DB /* juce_MultiTimer.h */, + E7EF18BE4F22063894C6FF61 /* juce_Timer.cpp */, + F3868CB33CA2805C31829647 /* juce_Timer.h */, + ); + name = timers; + sourceTree = ""; + }; + 22AF4BABA7E4362DABCA3E9D /* network */ = { + isa = PBXGroup; + children = ( + E2B33608E3097EE1E7801707 /* juce_IPAddress.cpp */, + 82327EBDDBDE6104A0FFE08D /* juce_IPAddress.h */, + 7B7B6659C2DD68F2373F9D3C /* juce_MACAddress.cpp */, + 70C9E5BB2C3C4F1314DD8F4B /* juce_MACAddress.h */, + 434AB1A1510034290ED3FBA8 /* juce_NamedPipe.cpp */, + 3ECBCBB5D76AD9DDE65BD81A /* juce_NamedPipe.h */, + E81332E1BCBF978D86F92DFE /* juce_Socket.cpp */, + 7A76BF61E569CCC96B9E16DE /* juce_Socket.h */, + F1EB95EC0156CE6D16280A45 /* juce_URL.cpp */, + 2517140ED8C0697A51CF87AA /* juce_URL.h */, + ); + name = network; + sourceTree = ""; + }; + 240D1F671827DE817DDE901B /* image_formats */ = { + isa = PBXGroup; + children = ( + 793E09206EDE78138AB56CC5 /* juce_GIFLoader.cpp */, + F0074D8C86D3265AF7889CCF /* juce_JPEGLoader.cpp */, + 2B594B1579F4770CA36E870C /* juce_PNGLoader.cpp */, + ); + name = image_formats; + sourceTree = ""; + }; + 284172C32915E2B9B95F2B0A /* misc */ = { + isa = PBXGroup; + children = ( + F9A0A82AA4D8EDB4B2305849 /* juce_AnimatedAppComponent.cpp */, + 7109E1D6A2AD7A013453C922 /* juce_AnimatedAppComponent.h */, + BCD3969359F2EB2EB970C412 /* juce_AppleRemote.h */, + 7C2A56B41F84CF25DC4D7C7F /* juce_BubbleMessageComponent.cpp */, + 2931E23782DDD4761EA6E711 /* juce_BubbleMessageComponent.h */, + 3F312C95E458F86E5D814AD3 /* juce_ColourSelector.cpp */, + E62A008F49C8FB4ECEB6CC37 /* juce_ColourSelector.h */, + 8C4045D24297D10F0EC9348F /* juce_KeyMappingEditorComponent.cpp */, + 9C52165BC295637D495791C1 /* juce_KeyMappingEditorComponent.h */, + A7EBBF2BCCB164C8F5C0423F /* juce_LiveConstantEditor.cpp */, + BCD60A4DBAB2007ECBCAB17D /* juce_LiveConstantEditor.h */, + F67C770333721A5D9BFEFCF6 /* juce_PreferencesPanel.cpp */, + 18459D45EE3F7766AB932678 /* juce_PreferencesPanel.h */, + 3F32203D512AD417AE3548E4 /* juce_RecentlyOpenedFilesList.cpp */, + 67B47838D621A526D8148308 /* juce_RecentlyOpenedFilesList.h */, + D53FD6223C4A997E441E1F80 /* juce_SplashScreen.cpp */, + F897C7899B56E5C6D5523353 /* juce_SplashScreen.h */, + 4C57FEDA7D19BB3D05326948 /* juce_SystemTrayIconComponent.cpp */, + FBA60035993B1D5796D202DF /* juce_SystemTrayIconComponent.h */, + C57BA5F014343276128923F6 /* juce_WebBrowserComponent.h */, + ); + name = misc; + sourceTree = ""; + }; + 2C36774A2938F4DE66EA7B1F /* unit_tests */ = { + isa = PBXGroup; + children = ( + 6549876733A874A58F78CE78 /* juce_UnitTest.cpp */, + 20A48C39E51031BF57458A55 /* juce_UnitTest.h */, + ); + name = unit_tests; + sourceTree = ""; + }; + 2EFA9503FCACF0651BB57D5A /* application */ = { + isa = PBXGroup; + children = ( + FC00E5ABDD903617E7498A0B /* juce_Application.cpp */, + 489D9B3F2489315DBF5C552E /* juce_Application.h */, + ); + name = application; + sourceTree = ""; + }; + 2F6322433CCE78DD6DD4EADF /* Juce Library Code */ = { + isa = PBXGroup; + children = ( + 80C983055BC197AE9FEF51D0 /* AppConfig.h */, + 9BBC3E0155BC3F36F21F7EBB /* BinaryData.cpp */, + 7DDF23FA0DDE4FCFB121CA68 /* BinaryData.h */, + C62300B9478B60BCBE254256 /* juce_audio_basics.mm */, + D4A815675983D742D87E37A5 /* juce_audio_devices.mm */, + FBDBBE33AEF062A1457DAA42 /* juce_audio_formats.mm */, + BA895F5D0FC2F40DA0566469 /* juce_audio_processors.mm */, + 3ED09149246BD2CC3D114FB1 /* juce_core.mm */, + 7BE9659292437455B77D53F1 /* juce_cryptography.mm */, + 353C4A5B04236912332BDB1E /* juce_data_structures.mm */, + 4DDD5CACDD472784437AB83C /* juce_events.mm */, + C0C66A94FBDE992AAD71C698 /* juce_graphics.mm */, + C3B0CE7BC50EE3F20BB261EC /* juce_gui_basics.mm */, + D782993D6DAF0AF948A62517 /* juce_gui_extra.mm */, + F07914AFCF34610BAC0D3B0B /* juce_opengl.mm */, + 757D9E8B34634C0E899922F9 /* juce_video.mm */, + 27C1C1AD957D9955A13E3A4E /* JuceHeader.h */, + ); + name = "Juce Library Code"; + sourceTree = ""; + }; + 312A62049C445C01FDD661BD /* threads */ = { + isa = PBXGroup; + children = ( + BC7C088D053711418A5A5698 /* juce_ChildProcess.cpp */, + A646D188288588F6FB9E8C53 /* juce_ChildProcess.h */, + B1B76C913B09E3F684F76824 /* juce_CriticalSection.h */, + 13FC99389707E91E7EB6D000 /* juce_DynamicLibrary.h */, + 4AB3D9133A3357A3FDAD3BB1 /* juce_HighResolutionTimer.cpp */, + B9EB38A9A966EBB9A359DED3 /* juce_HighResolutionTimer.h */, + 2E355DED51A6E9DFBFDA84CC /* juce_InterProcessLock.h */, + FE42628E4890B2FC1D85E574 /* juce_Process.h */, + 2BEA66F83F12716439729EEA /* juce_ReadWriteLock.cpp */, + 6D36D69499FD940CAD1E7484 /* juce_ReadWriteLock.h */, + ABCD1CB78CD58A79D0A728D0 /* juce_ScopedLock.h */, + A6B50D109A50FD28AE1D3F9A /* juce_ScopedReadLock.h */, + F6A4E47EA1AA7392CFA6D8AD /* juce_ScopedWriteLock.h */, + 097B8DA5C29B16C544CEA626 /* juce_SpinLock.h */, + 140AFDDDAB2B88153F46692E /* juce_Thread.cpp */, + B1C6C92A15E4605A40404381 /* juce_Thread.h */, + CC3E6F8333AA2D98AAC1235E /* juce_ThreadLocalValue.h */, + 61448959C09144CC093AA715 /* juce_ThreadPool.cpp */, + 6DC6E88C0FC0045CD52064F1 /* juce_ThreadPool.h */, + 8A011075C19F974A22685EAA /* juce_TimeSliceThread.cpp */, + 8E06EBA4362C66A9040A2EC6 /* juce_TimeSliceThread.h */, + 77A353D0E709D31E3BE00A8C /* juce_WaitableEvent.h */, + ); + name = threads; + sourceTree = ""; + }; + 333F7FC9E4E695D243B51D53 /* juce_audio_basics */ = { + isa = PBXGroup; + children = ( + CA34E66B71A70E489DCD9028 /* buffers */, + C2F146BC4298BBB96A2A6339 /* midi */, + 4DF8616B3F357D3ECEB23246 /* effects */, + EEDD06AB62749ED2479EBFA6 /* sources */, + 3E8C1CC521C5C0085ABD5EF2 /* synthesisers */, + F6086AE27F4DEB9C75A8FFB5 /* juce_module_info */, + 66634B351B20F6B1F16ED9D2 /* juce_audio_basics.h */, + ); + name = juce_audio_basics; + sourceTree = ""; + }; + 37082FEFC588B71DD2E9F80C /* hashing */ = { + isa = PBXGroup; + children = ( + 56C0EB0C9E4089ACA44588E6 /* juce_MD5.cpp */, + 4CAE848C3F30163816E921DC /* juce_MD5.h */, + 83ED74D05C2699811929138C /* juce_SHA256.cpp */, + 9954A5B8424CE9ABC802AC8C /* juce_SHA256.h */, + ); + name = hashing; + sourceTree = ""; + }; + 39294ED083C056829DCC6B0C /* menus */ = { + isa = PBXGroup; + children = ( + E9164448EE60F4DB5F2A14D1 /* juce_MenuBarComponent.cpp */, + 01B29765150B583E2460837C /* juce_MenuBarComponent.h */, + 275CF9CA5A34E2825DB8792C /* juce_MenuBarModel.cpp */, + C2B61447889E781465E49AC3 /* juce_MenuBarModel.h */, + 1B0BEB542ED5BA84E52AEA2E /* juce_PopupMenu.cpp */, + E50BADB05430CBE8BF33F8F5 /* juce_PopupMenu.h */, + ); + name = menus; + sourceTree = ""; + }; + 3D87BE7DE866701CC5B6C485 /* format */ = { + isa = PBXGroup; + children = ( + 9FE8D5E52AC84BCDEE8B414B /* juce_AudioPluginFormat.cpp */, + 266A60D0C3095B8F7F16751E /* juce_AudioPluginFormat.h */, + 1A366C1E8FF34F708C0AF994 /* juce_AudioPluginFormatManager.cpp */, + 20F2CFC88281301E30E08682 /* juce_AudioPluginFormatManager.h */, + ); + name = format; + sourceTree = ""; + }; + 3E8C1CC521C5C0085ABD5EF2 /* synthesisers */ = { + isa = PBXGroup; + children = ( + 06FB32F5B510DEC2A6D2FBCD /* juce_Synthesiser.cpp */, + 24E54A22403128BA82D02B09 /* juce_Synthesiser.h */, + ); + name = synthesisers; + sourceTree = ""; + }; + 3F09D506DAF77142944CD206 /* misc */ = { + isa = PBXGroup; + children = ( + B25D9BF429F016963A545287 /* juce_BubbleComponent.cpp */, + 343BF0E7697F399B08D42CB7 /* juce_BubbleComponent.h */, + 60F110007A8248E4318D9B0D /* juce_DropShadower.cpp */, + B68B3E0BE0396ACD3CA52250 /* juce_DropShadower.h */, + ); + name = misc; + sourceTree = ""; + }; + 3FD01CA071C629C30000EC75 /* Source */ = { + isa = PBXGroup; + children = ( + A4D3B14A21B5F8202D2A49AE /* Resources */, + 75A8F56B635DA7158E472382 /* MainComponent.cpp */, + 82443CD4F42884B9D33A85EA /* Main.cpp */, + ); + name = Source; + sourceTree = ""; + }; + 42F8790BBB2D6EAC6A228F28 /* filebrowser */ = { + isa = PBXGroup; + children = ( + 37BD426B7B7DD8BB3EF562A6 /* juce_DirectoryContentsDisplayComponent.cpp */, + 3B2C9FC5B754F29B4BFF7EA9 /* juce_DirectoryContentsDisplayComponent.h */, + 541C3E9F5E720BF6D99D94CD /* juce_DirectoryContentsList.cpp */, + 426B31F8A63727D575B2C782 /* juce_DirectoryContentsList.h */, + 546D112DEC6A685B52E4D7AA /* juce_FileBrowserComponent.cpp */, + D92B6F28EF1D46625BC2A18B /* juce_FileBrowserComponent.h */, + B1C7A541DFF31B38F0A17C16 /* juce_FileBrowserListener.h */, + D9F41579025D12F2CCF079C4 /* juce_FileChooser.cpp */, + 281ADBFFA54CFADAE46AAE79 /* juce_FileChooser.h */, + EEE1F3257D7C9A527D6647E1 /* juce_FileChooserDialogBox.cpp */, + 7987CDDDE250EA56F0B26A0F /* juce_FileChooserDialogBox.h */, + 69F89AFBA54B48038B47DDED /* juce_FileListComponent.cpp */, + FDB3097BE7C87FF74895E875 /* juce_FileListComponent.h */, + DA12229986D485B2E2DE059B /* juce_FilenameComponent.cpp */, + D24F3C46F1A46422C080A0A7 /* juce_FilenameComponent.h */, + 144BF62327063E0017BB7B0A /* juce_FilePreviewComponent.h */, + B49E98EF01462277526C417D /* juce_FileSearchPathListComponent.cpp */, + D01183D850457CA55516B3B2 /* juce_FileSearchPathListComponent.h */, + 7E278ACE0E80F59FBEB3122F /* juce_FileTreeComponent.cpp */, + 6C3B851F65AB406E5B6CAF7B /* juce_FileTreeComponent.h */, + 39DAB20FE9D55152EB2D224A /* juce_ImagePreviewComponent.cpp */, + C8FDA55A72DC4A244703C8F4 /* juce_ImagePreviewComponent.h */, + ); + name = filebrowser; + sourceTree = ""; + }; + 447896868A39D1BBF6C215C4 /* time */ = { + isa = PBXGroup; + children = ( + 8FA29927B18439A066241F38 /* juce_PerformanceCounter.cpp */, + BB4B7332B8B456297344608E /* juce_PerformanceCounter.h */, + A5A883D3DAD1D2BF2F044379 /* juce_RelativeTime.cpp */, + 7609867A9F36324EA1C9F228 /* juce_RelativeTime.h */, + 56CAE507F1D59D551C26B998 /* juce_Time.cpp */, + 5C51BB323073B2AD0320825A /* juce_Time.h */, + ); + name = time; + sourceTree = ""; + }; + 4A5017F3DFD59498929C74A1 /* properties */ = { + isa = PBXGroup; + children = ( + 87C173B4D57F00E5523D3395 /* juce_BooleanPropertyComponent.cpp */, + 5B546C6ED44CAF4197788BC0 /* juce_BooleanPropertyComponent.h */, + 6555D39D3BE572E611DCA8EB /* juce_ButtonPropertyComponent.cpp */, + 3545CC1CCF501BDBFF528908 /* juce_ButtonPropertyComponent.h */, + 78C9531A81D34333AEF14019 /* juce_ChoicePropertyComponent.cpp */, + 1ED3843AC8AC67374F6F5F77 /* juce_ChoicePropertyComponent.h */, + 3B3B1BB15DFF71215E86A175 /* juce_PropertyComponent.cpp */, + EA19F37E2AB4C42A1ACF17CE /* juce_PropertyComponent.h */, + 70407DF33563B729D4758A17 /* juce_PropertyPanel.cpp */, + 3134A6BDE49CF0D3F0B12FE2 /* juce_PropertyPanel.h */, + AF5C2B3C5CF657FA722F9A68 /* juce_SliderPropertyComponent.cpp */, + 1633D4A7385E8AB77FB6723E /* juce_SliderPropertyComponent.h */, + 5F6BDD2491C4086940AAE045 /* juce_TextPropertyComponent.cpp */, + 7392F4B60E4E28A340E465BE /* juce_TextPropertyComponent.h */, + ); + name = properties; + sourceTree = ""; + }; + 4AA38BF06A0BA16074879F26 /* mouse */ = { + isa = PBXGroup; + children = ( + 1782B7FCE431430BD11700EB /* juce_ComponentDragger.cpp */, + B8EF2AF777B74156958B72CA /* juce_ComponentDragger.h */, + 40E971224B83783243521871 /* juce_DragAndDropContainer.cpp */, + 7246A65F3B8646D764F3A355 /* juce_DragAndDropContainer.h */, + 81556F6E103D6843193EA1EC /* juce_DragAndDropTarget.h */, + C936095A19665316F5B675CF /* juce_FileDragAndDropTarget.h */, + 850622AD96A6D025EC1E832D /* juce_LassoComponent.h */, + B0FB5996D7068C230DC6D8E0 /* juce_MouseCursor.cpp */, + DB348CBC6734FFD0B7ED8A34 /* juce_MouseCursor.h */, + C50DA493E57234B3820BD77A /* juce_MouseEvent.cpp */, + BC586A21CD33D786C4472FD4 /* juce_MouseEvent.h */, + 9986CD0D1752D063F3DC2652 /* juce_MouseInactivityDetector.cpp */, + 16421110FEB104E290E3F13C /* juce_MouseInactivityDetector.h */, + 1A424A0B9D68C68CD5B075E7 /* juce_MouseInputSource.cpp */, + 74E1A5ECBC09930A520D1A98 /* juce_MouseInputSource.h */, + 1C196D0BC6B08623601273FF /* juce_MouseListener.cpp */, + 2740DD21925484E4BC243630 /* juce_MouseListener.h */, + 484ACD3191DB5BEB198EEF97 /* juce_SelectedItemSet.h */, + FBF25BFCF0541B78909B16C6 /* juce_TextDragAndDropTarget.h */, + 5B5D589850B147BE94D01D42 /* juce_TooltipClient.h */, + ); + name = mouse; + sourceTree = ""; + }; + 4DF8616B3F357D3ECEB23246 /* effects */ = { + isa = PBXGroup; + children = ( + 53890D1A9DE3751F3A19C3C3 /* juce_Decibels.h */, + F879E952E9ABC6FB12503AAC /* juce_IIRFilter.cpp */, + 0950F9F7698F791C6BC7626A /* juce_IIRFilter.h */, + 3B719AB087869724229AF10D /* juce_LagrangeInterpolator.cpp */, + D8FDF81708D362F909F5421B /* juce_LagrangeInterpolator.h */, + 28ECC3EF6106E7DB0E4F256C /* juce_Reverb.h */, + ); + name = effects; + sourceTree = ""; + }; + 5055ACAE49BC97DD34466C48 /* juce_gui_extra */ = { + isa = PBXGroup; + children = ( + 7B917E77D4B25A14822B94CB /* code_editor */, + 206C4AD1A507D7D003F44AD4 /* documents */, + 8AB5C3D67E25D52FC85A482D /* embedding */, + 284172C32915E2B9B95F2B0A /* misc */, + 7934D8F0485905857255419D /* native */, + 97C71C2DD318EDB304FC1CEB /* juce_module_info */, + B121FF657B96C6FFEB2C2DC1 /* juce_gui_extra.h */, + ); + name = juce_gui_extra; + sourceTree = ""; + }; + 556560AAD3C29E08F7AFBCBA /* effects */ = { + isa = PBXGroup; + children = ( + CE11BC7911220E9CFA1283D1 /* juce_DropShadowEffect.cpp */, + DC9D4AE01FB7CF8D2877B198 /* juce_DropShadowEffect.h */, + 4142E8BA365FE77662B11891 /* juce_GlowEffect.cpp */, + 473E98AA655246EECA75EDD1 /* juce_GlowEffect.h */, + C7BB125979760AE4264BF23E /* juce_ImageEffectFilter.h */, + ); + name = effects; + sourceTree = ""; + }; + 5A794D6AA7ACA03DC348F94D /* components */ = { + isa = PBXGroup; + children = ( + AC2A502E05BB93CB0840344D /* juce_CachedComponentImage.h */, + 31CD83018DA7BED28A70EC1C /* juce_Component.cpp */, + 2D6A1D77D896FF6DDD5EC49F /* juce_Component.h */, + 942393EC874CEC183B67641C /* juce_ComponentListener.cpp */, + AD16BF0DECF3EEFD7AE11457 /* juce_ComponentListener.h */, + B91A8133C3474D98AB6300CE /* juce_Desktop.cpp */, + 3F02F103D0EA0D398FA2A95D /* juce_Desktop.h */, + 293D0E58C45CE26287E99822 /* juce_ModalComponentManager.cpp */, + B8C996306428DFB642CBFB14 /* juce_ModalComponentManager.h */, + ); + name = components; + sourceTree = ""; + }; + 5A97C8FA90181188140B83A0 /* xml */ = { + isa = PBXGroup; + children = ( + E5D5588D0F985DB2D5A8BAF5 /* juce_XmlDocument.cpp */, + BDB1FA875F2C8263E3D2650A /* juce_XmlDocument.h */, + C50CE0A0485507647C78F30E /* juce_XmlElement.cpp */, + 5CD7B0F647F366AC5510A13E /* juce_XmlElement.h */, + ); + name = xml; + sourceTree = ""; + }; + 5C2DC77520F6E8AB1413621E /* audio_io */ = { + isa = PBXGroup; + children = ( + D276367530731B2C732C50CB /* juce_AudioDeviceManager.cpp */, + A07D0C5C60BE446FD41ADE51 /* juce_AudioDeviceManager.h */, + 70687CABD6ABBC69E717B73D /* juce_AudioIODevice.cpp */, + 8768714C4890B02A1719AC89 /* juce_AudioIODevice.h */, + 9A67CA8503FB1E02090F5FAD /* juce_AudioIODeviceType.cpp */, + CE5CDD52C447D5DCC7DE1259 /* juce_AudioIODeviceType.h */, + D4CA818D9DA2269EBCE376DE /* juce_SystemAudioVolume.h */, + ); + name = audio_io; + sourceTree = ""; + }; + 5D365257108A916858E3947F /* Products */ = { + isa = PBXGroup; + children = ( + 5802E3490BEAFD892C837E2A /* OpenGLAppExample.app */, + ); + name = Products; + sourceTree = ""; + }; + 5EB8D0E327356FA2D5323013 /* Source */ = { + isa = PBXGroup; + children = ( + 853E25E8F0EA391EE8D4A3B8 /* OpenGLAppExample */, + 128007CA5E777E8B423777F8 /* Juce Modules */, + 2F6322433CCE78DD6DD4EADF /* Juce Library Code */, + 0483BF4E3FB318109FA0F8A5 /* Resources */, + 6F68D1090F539F5A1A041FAA /* Frameworks */, + 5D365257108A916858E3947F /* Products */, + ); + name = Source; + sourceTree = ""; + }; + 6373BAB4261AEB403399D2DE /* drawables */ = { + isa = PBXGroup; + children = ( + EA2BE0B9C8E1546D25A02D67 /* juce_Drawable.cpp */, + 38043242051AD4996B081769 /* juce_Drawable.h */, + 0D79BD52315BE837BAD64A82 /* juce_DrawableComposite.cpp */, + 9CABACB9A2FF46A8B3059D8E /* juce_DrawableComposite.h */, + FAD5D9101D6427D96558C37F /* juce_DrawableImage.cpp */, + FC50C6150E60281125E69115 /* juce_DrawableImage.h */, + 3F57F6B58B93E88A29F90809 /* juce_DrawablePath.cpp */, + FDFE40162E4F5CCAA833061C /* juce_DrawablePath.h */, + 9F3DCE572188E0085FCF1956 /* juce_DrawableRectangle.cpp */, + ADA1339F195F699D7F5369F9 /* juce_DrawableRectangle.h */, + 9B9B8DBEBEA5051A602DA6C1 /* juce_DrawableShape.cpp */, + DE1A6A1C0CCC94A3E3A887E3 /* juce_DrawableShape.h */, + DCB52EFF8A9F5D9F6CF3D3FC /* juce_DrawableText.cpp */, + 61596F68A47C4BEA8F9A4D68 /* juce_DrawableText.h */, + D6EDBF07E4162364DB8825D9 /* juce_SVGParser.cpp */, + ); + name = drawables; + sourceTree = ""; + }; + 6401A528C034A7FE4E59C5C4 /* widgets */ = { + isa = PBXGroup; + children = ( + 8FFF7C1572807209B9A8A08D /* juce_ComboBox.cpp */, + 1D6EA6E2DC8F03826454F21D /* juce_ComboBox.h */, + BE635BACA572437D8DFDEEC8 /* juce_ImageComponent.cpp */, + 759899A48CDE9705331F456E /* juce_ImageComponent.h */, + 7069BF224A795890367AB809 /* juce_Label.cpp */, + F84732FE450246B23C813288 /* juce_Label.h */, + 9AD78BC87097481DDC1815B2 /* juce_ListBox.cpp */, + 8BA590FF6DD42B77C70BA092 /* juce_ListBox.h */, + 795DBB9CDC6751C052A03827 /* juce_ProgressBar.cpp */, + 355B143DFA326CC401844099 /* juce_ProgressBar.h */, + 17AB5E83E71D5864435A011B /* juce_Slider.cpp */, + C24880A7007CE75B7F8BBD71 /* juce_Slider.h */, + DE8A6DAED12A99017D7341E1 /* juce_TableHeaderComponent.cpp */, + 168D70A9989ECA609D355DA6 /* juce_TableHeaderComponent.h */, + 1AB2337020B7AA4AD329405A /* juce_TableListBox.cpp */, + 67066EE59E69BCD634D38ABA /* juce_TableListBox.h */, + D1C13988EF76674213DF92F4 /* juce_TextEditor.cpp */, + B2D09E29CCC80C27956BF314 /* juce_TextEditor.h */, + A80BB5CEC5BB5398B155F980 /* juce_Toolbar.cpp */, + 3E5E15C429B5D8BDA6815193 /* juce_Toolbar.h */, + DB59695708606C9604E11F0B /* juce_ToolbarItemComponent.cpp */, + 354636C92CDB97DAF80D1E6A /* juce_ToolbarItemComponent.h */, + 4676425D91097FBD1689298C /* juce_ToolbarItemFactory.h */, + 6F974A4B1AC400251425C8CA /* juce_ToolbarItemPalette.cpp */, + 99BF73D0D5B995E84BAB52B2 /* juce_ToolbarItemPalette.h */, + 2DA8BDECC570B976D34D9263 /* juce_TreeView.cpp */, + 4B409B90CC47BF0477D7F6E4 /* juce_TreeView.h */, + ); + name = widgets; + sourceTree = ""; + }; + 66DC0A97992202B7629A58C7 /* native */ = { + isa = PBXGroup; + children = ( + 3A8EA18FCAE5801EF1AECC06 /* juce_android_Fonts.cpp */, + E041ABD2C503FCB7EB7E49F8 /* juce_android_GraphicsContext.cpp */, + 2E62B2A1D5FE20D7E675DC3F /* juce_freetype_Fonts.cpp */, + DC3E9EDCD85270B2E9D33BF8 /* juce_linux_Fonts.cpp */, + 87EBB9223B9943D09D0ABA97 /* juce_mac_CoreGraphicsContext.h */, + E4D98F92A6646FC7CE4FFA1B /* juce_mac_CoreGraphicsContext.mm */, + E6AB1D98C43E9017F546D707 /* juce_mac_CoreGraphicsHelpers.h */, + 4825BC8A3502320ED671408E /* juce_mac_Fonts.mm */, + 73861DEE4EEBFF77B6293F90 /* juce_RenderingHelpers.h */, + 54E56E35A31C662C67992C7B /* juce_win32_Direct2DGraphicsContext.cpp */, + 6741B65B42E9858C7B580A36 /* juce_win32_DirectWriteTypeface.cpp */, + D9FDDAC72C576633FD41B2E7 /* juce_win32_DirectWriteTypeLayout.cpp */, + 4AB453F1DFC4EA7AE058B0EA /* juce_win32_Fonts.cpp */, + ); + name = native; + sourceTree = ""; + }; + 68E400580DF6F5DE436B39EB /* layout */ = { + isa = PBXGroup; + children = ( + 2EC200E7CF8C908AC3DF4416 /* juce_AnimatedPosition.h */, + 1BC364DFD3A975A0CBA0AC61 /* juce_AnimatedPositionBehaviours.h */, + 77802A78E9D43C940C14B0BF /* juce_ComponentAnimator.cpp */, + C599A55407B6EB6AD55AE73C /* juce_ComponentAnimator.h */, + F6625EF536284FBD73183EA1 /* juce_ComponentBoundsConstrainer.cpp */, + FD1A5CF76641E1CE7F29B44D /* juce_ComponentBoundsConstrainer.h */, + 49837BCC6CD64D108AA3E37D /* juce_ComponentBuilder.cpp */, + 3693D26AD61B3B089A2B9CEC /* juce_ComponentBuilder.h */, + 62F8069EE12495D7BDF5BCCB /* juce_ComponentMovementWatcher.cpp */, + 8D330180BEC5572287AB158A /* juce_ComponentMovementWatcher.h */, + 39CD252C183BBF175E1C0602 /* juce_ConcertinaPanel.cpp */, + 33D5910744D9482DBA614144 /* juce_ConcertinaPanel.h */, + 7D15374142A01E2760AC4818 /* juce_GroupComponent.cpp */, + D17F209C6915C948F90F1349 /* juce_GroupComponent.h */, + CBF3ED31F58A0874E0E9A64B /* juce_MultiDocumentPanel.cpp */, + 21273C209FE7E19C59952EE3 /* juce_MultiDocumentPanel.h */, + AE86A03508278775CA9F250B /* juce_ResizableBorderComponent.cpp */, + 3E22FC06C346385E732377C5 /* juce_ResizableBorderComponent.h */, + 1C02F9D8BEBC13937D8D9BAA /* juce_ResizableCornerComponent.cpp */, + DA223B209C3FF00A91FAA1DD /* juce_ResizableCornerComponent.h */, + 52B122DC1886502CCCD16ED2 /* juce_ResizableEdgeComponent.cpp */, + 92E26ABEFD096B05F99EE036 /* juce_ResizableEdgeComponent.h */, + 6AA216A8B8EF4E181BCD96A4 /* juce_ScrollBar.cpp */, + 7049C408D43D64C1504F6505 /* juce_ScrollBar.h */, + FC5306AC9A046F7DF6CC09FD /* juce_StretchableLayoutManager.cpp */, + 60359F3EE85F679C1D118136 /* juce_StretchableLayoutManager.h */, + DE00116B59A20E5B69367B70 /* juce_StretchableLayoutResizerBar.cpp */, + 79A01A9B8A17C9419EBC5F73 /* juce_StretchableLayoutResizerBar.h */, + FD36702E757F21E0C43E8907 /* juce_StretchableObjectResizer.cpp */, + 4C9A8BA6A094DC3490CF25B0 /* juce_StretchableObjectResizer.h */, + 7C388E6394CB0A8C4C919751 /* juce_TabbedButtonBar.cpp */, + 88060C7661160C61E794D2B1 /* juce_TabbedButtonBar.h */, + F3813BA8E8B9F775D0A049FF /* juce_TabbedComponent.cpp */, + ECD6C0DDB8587984580C96B0 /* juce_TabbedComponent.h */, + 8D57423CD5A1B516B5374499 /* juce_Viewport.cpp */, + 6C4A5B3781D999AFA15F1016 /* juce_Viewport.h */, + ); + name = layout; + sourceTree = ""; + }; + 6B04E6A30689BE379804BC1C /* streams */ = { + isa = PBXGroup; + children = ( + 3F20765E456B1B8FF59C2461 /* juce_BufferedInputStream.cpp */, + 5BB4A463E17E9C4AD5F43FFE /* juce_BufferedInputStream.h */, + DF2B90185FBA2C86DE767F46 /* juce_FileInputSource.cpp */, + 417D4A3533F8C72814441F51 /* juce_FileInputSource.h */, + 972D271918F957FB6FCD6CFB /* juce_InputSource.h */, + BD69D8ABDB6741F717E0DD1C /* juce_InputStream.cpp */, + 2D23BD941B1F4B65E5A2C2F3 /* juce_InputStream.h */, + E2EEB444EC638B0C72A8A7E6 /* juce_MemoryInputStream.cpp */, + D99465F417B8D56C2C9A212D /* juce_MemoryInputStream.h */, + C7F47C1BEDD7EE514BA40C27 /* juce_MemoryOutputStream.cpp */, + 5375E8C69E76D1570BE36946 /* juce_MemoryOutputStream.h */, + F8E83B5544E2379CB0B323D8 /* juce_OutputStream.cpp */, + 3AD3CC5787E119E3A1F6A55F /* juce_OutputStream.h */, + F05511231DB8D8615D4A336C /* juce_SubregionStream.cpp */, + 34CBE9CCD9B23B1405C76D9C /* juce_SubregionStream.h */, + ); + name = streams; + sourceTree = ""; + }; + 6B69835D713DBE0AA1335554 /* messages */ = { + isa = PBXGroup; + children = ( + F9EED40DD78515ADF3189694 /* juce_ApplicationBase.cpp */, + FA9CE8D2EEF012CB74C1E8CA /* juce_ApplicationBase.h */, + 8FAA47BE39D087684520C15F /* juce_CallbackMessage.h */, + F1BE04264A690B5EFA99FCA5 /* juce_DeletedAtShutdown.cpp */, + 7063B929C5E98B803E0464EE /* juce_DeletedAtShutdown.h */, + 907D08843439A347B3E2A869 /* juce_Initialisation.h */, + 6DEF5E5D162E4F32631FE2D7 /* juce_Message.h */, + F4EA57711C5E9DC6746728FD /* juce_MessageListener.cpp */, + FD2080564407C8EFE21CBC96 /* juce_MessageListener.h */, + 427EF6B8A919A04D12F63829 /* juce_MessageManager.cpp */, + 5576ADF82B58BDBBCC75477C /* juce_MessageManager.h */, + 1E21F56456B1A05606B1A328 /* juce_MountedVolumeListChangeDetector.h */, + 6A972E2430F4B2D9A07D44D2 /* juce_NotificationType.h */, + ); + name = messages; + sourceTree = ""; + }; + 6BB4269ECC3477AD8A7A32A3 /* native */ = { + isa = PBXGroup; + children = ( + 59B2E8822B445FDD2BC590B2 /* juce_android_Audio.cpp */, + ED4FD41F6F5825084831A29C /* juce_android_Midi.cpp */, + 1542F586268CE982EE1C9607 /* juce_android_OpenSL.cpp */, + BDBC99D827A9F6C5B1B0ED5E /* juce_ios_Audio.cpp */, + BB7442FBD89AFCE6AE14E0AD /* juce_linux_ALSA.cpp */, + 5F43D23FA8A72E66792AE5C7 /* juce_linux_AudioCDReader.cpp */, + 7B751B8BF3344D7C0980DAD0 /* juce_linux_JackAudio.cpp */, + 40ACA092AB6B933E39268DAF /* juce_linux_Midi.cpp */, + 0B26EC9D2A47B858246A76EF /* juce_mac_AudioCDBurner.mm */, + AF80D629DF6AF8EEB11DE598 /* juce_mac_AudioCDReader.mm */, + 5CF8CAB948FAAB9164F206B0 /* juce_mac_CoreAudio.cpp */, + 880A65D7F29BF8701826BF81 /* juce_mac_CoreMidi.cpp */, + 66B35673D58EF4ABC6C50824 /* juce_MidiDataConcatenator.h */, + EE49ECC80B5D7D0DEFA0EF7A /* juce_win32_ASIO.cpp */, + 410C72660348DFD81F81386C /* juce_win32_AudioCDBurner.cpp */, + C0A37CB25E8C40792454E820 /* juce_win32_AudioCDReader.cpp */, + DD542B6F61E6C27A0D5A5F2A /* juce_win32_DirectSound.cpp */, + 2951B1B0EE3CE714426016F1 /* juce_win32_Midi.cpp */, + E488221DF5AFED73C4518AE7 /* juce_win32_WASAPI.cpp */, + ); + name = native; + sourceTree = ""; + }; + 6BC6B2DDDAEB6F4F64D1A010 /* juce_cryptography */ = { + isa = PBXGroup; + children = ( + C65F5142919A93D5CB350F76 /* encryption */, + 37082FEFC588B71DD2E9F80C /* hashing */, + 2A765F108608FDD8B2089BD1 /* juce_module_info */, + 8B1374A21A81C82233EBC523 /* juce_cryptography.h */, + ); + name = juce_cryptography; + sourceTree = ""; + }; + 6D357C7BC335FFE2B3877318 /* juce_core */ = { + isa = PBXGroup; + children = ( + 9DB85B0F2371EE26F3E89D82 /* text */, + C9A88DFF6E95D969C2A09F24 /* maths */, + EDEB768592E2E04E19CBBB39 /* memory */, + 1EB689C939940E8ABE1AD59B /* containers */, + 312A62049C445C01FDD661BD /* threads */, + 447896868A39D1BBF6C215C4 /* time */, + B2800371CE1A826ABDD312A5 /* files */, + 22AF4BABA7E4362DABCA3E9D /* network */, + 6B04E6A30689BE379804BC1C /* streams */, + 1D0C55594A9BAF09CB69ABA6 /* logging */, + 810ABDB24E2FE53C90BFDDFA /* system */, + 5A97C8FA90181188140B83A0 /* xml */, + 96DA2309744F7B1844D7EADE /* javascript */, + EAFC9A1D80CBC941C7724431 /* zip */, + 2C36774A2938F4DE66EA7B1F /* unit_tests */, + CCC10C50368A3362DAC1E895 /* misc */, + 791BA85C5C83D6BFBBF82631 /* native */, + D8C269D8BFE34CF33A2B243C /* juce_module_info */, + D476B9FCEF30511BC736C744 /* juce_core.h */, + ); + name = juce_core; + sourceTree = ""; + }; + 6F68D1090F539F5A1A041FAA /* Frameworks */ = { + isa = PBXGroup; + children = ( + 50151F5E1EA38C0768AD9AC8 /* Accelerate.framework */, + 3948321FE783006946DC8F1F /* AudioToolbox.framework */, + DB3D37600C745E6F62C5A04B /* Carbon.framework */, + A2A8888BB2A9B1BF61955BEA /* Cocoa.framework */, + 8E5DB762FF5447085518EB85 /* CoreAudio.framework */, + 6CDDF198D9632DA763449E05 /* CoreMIDI.framework */, + 20425A69967DA67634118166 /* DiscRecording.framework */, + 84E689978B0D7D84B1A39C77 /* IOKit.framework */, + 88B4E2B52BB5B6B622243FDC /* OpenGL.framework */, + 7C2C344C1697462278777A3C /* QTKit.framework */, + 525E733E59BB89937210A34E /* QuartzCore.framework */, + 201259150E2168D8B93D9C87 /* QuickTime.framework */, + 56B04319D227E406E44AD15D /* WebKit.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 729710EC0419FCEE902079EF /* audio_cd */ = { + isa = PBXGroup; + children = ( + 7703A0B63AFF2C5FE9587CBF /* juce_AudioCDBurner.h */, + 2E1213ABCA6E339D156C6825 /* juce_AudioCDReader.cpp */, + 619377E030188B909977D85B /* juce_AudioCDReader.h */, + ); + name = audio_cd; + sourceTree = ""; + }; + 76BAE43251ED78FD6BE739E9 /* colour */ = { + isa = PBXGroup; + children = ( + 2A5F9649D883210E5C67CEE4 /* juce_Colour.cpp */, + F7D98798130B4AB14E4E82F2 /* juce_Colour.h */, + 8F5EC320CBE18D8923C7D3EF /* juce_ColourGradient.cpp */, + C45B9350ECC13FC8096D3873 /* juce_ColourGradient.h */, + 8B743E5BA29E435BACFE17BB /* juce_Colours.cpp */, + F9022636187FF444897371F1 /* juce_Colours.h */, + 223B9626308B07EEEDA7C89F /* juce_FillType.cpp */, + 0D5008DFFC00B074A9970585 /* juce_FillType.h */, + 46F845FD963442D8748D3261 /* juce_PixelFormats.h */, + ); + name = colour; + sourceTree = ""; + }; + 791BA85C5C83D6BFBBF82631 /* native */ = { + isa = PBXGroup; + children = ( + 57FE8CC6D36C0376D4065444 /* juce_android_Files.cpp */, + 19B1556541E4426450C8397C /* juce_android_JNIHelpers.h */, + 274FB7736A16D65B40E1EA71 /* juce_android_Misc.cpp */, + 0CD440EC6D9EF66E117E3EBD /* juce_android_Network.cpp */, + 2C4E26E2F6F3B5522CA9993E /* juce_android_SystemStats.cpp */, + 274546C14A985F7D454E16B7 /* juce_android_Threads.cpp */, + 783C910D9B34E33F4C7D270F /* juce_BasicNativeHeaders.h */, + 72E1B34915000641B7AD80EF /* juce_linux_CommonFile.cpp */, + BA99F87A1BC936C566A0DFA7 /* juce_linux_Files.cpp */, + B36AA5249B5B2242486B4153 /* juce_linux_Network.cpp */, + F2A3916171FCB01D6A68DD87 /* juce_linux_SystemStats.cpp */, + 11F77DEDB8DDE2BC9B1DAB0D /* juce_linux_Threads.cpp */, + AFBCB46AC109F4982F012C0A /* juce_mac_Files.mm */, + CFEF06EB93957DEAE00A0030 /* juce_mac_Network.mm */, + A8451C0D5D0549A7D923F2D6 /* juce_mac_Strings.mm */, + 254F2F62D02E4B48191083CD /* juce_mac_SystemStats.mm */, + E54011F26F7D9AD38D437851 /* juce_mac_Threads.mm */, + B2EE6F9509A435D69B2508AE /* juce_osx_ObjCHelpers.h */, + FCF5891DAC2887A6FE3EEA9F /* juce_posix_NamedPipe.cpp */, + BD4C015152FD7519E50C9BCA /* juce_posix_SharedCode.h */, + FC2F6663A0086F14B8C0144E /* juce_win32_ComSmartPtr.h */, + FAF22574F9AFF74820925F08 /* juce_win32_Files.cpp */, + 12BD203CEA0CE311A5789BB8 /* juce_win32_Network.cpp */, + 32940D3F55D43FA834DAD545 /* juce_win32_Registry.cpp */, + CEE5BF72C9D7E467212D8973 /* juce_win32_SystemStats.cpp */, + 332346809620F9AFA7CF3D59 /* juce_win32_Threads.cpp */, + ); + name = native; + sourceTree = ""; + }; + 7934D8F0485905857255419D /* native */ = { + isa = PBXGroup; + children = ( + 07E89C9A0EBF5FF6A0A05EA5 /* juce_android_WebBrowserComponent.cpp */, + 77BAA6C13A52BE0F0A42FD0E /* juce_ios_UIViewComponent.mm */, + 179BD4E3BB66F7CC1747ADAA /* juce_linux_SystemTrayIcon.cpp */, + 51FDDE6DD9DC3FB98747A0E7 /* juce_linux_WebBrowserComponent.cpp */, + 79728934D091CBA959AD2B20 /* juce_mac_AppleRemote.mm */, + F2DE7A0F77BCCBCFEEC0B500 /* juce_mac_CarbonViewWrapperComponent.h */, + B73DF787FC51F08E279923A6 /* juce_mac_NSViewComponent.mm */, + 22B8E3336C2DA6F5DE3CE748 /* juce_mac_SystemTrayIcon.cpp */, + B607DF0E27752A1B9A863CC6 /* juce_mac_WebBrowserComponent.mm */, + FC1E4BFBBE4B43200F8D30D4 /* juce_win32_ActiveXComponent.cpp */, + D23A9E25612E33C0C6AAA09E /* juce_win32_SystemTrayIcon.cpp */, + 74E37866C31A35A559E1E80D /* juce_win32_WebBrowserComponent.cpp */, + ); + name = native; + sourceTree = ""; + }; + 7B917E77D4B25A14822B94CB /* code_editor */ = { + isa = PBXGroup; + children = ( + 1233B57573AB9503E0625ECB /* juce_CodeDocument.cpp */, + 89CC7514E6F2628CE82591BD /* juce_CodeDocument.h */, + 3C90895F90CF6FA4714DBF6F /* juce_CodeEditorComponent.cpp */, + 80465B70BFD2A13EDB18B702 /* juce_CodeEditorComponent.h */, + 4683DEED4D9E52F0A84FCEE2 /* juce_CodeTokeniser.h */, + 7156B58188258F7EBE617E15 /* juce_CPlusPlusCodeTokeniser.cpp */, + C007BC3372F44746BD6E98C0 /* juce_CPlusPlusCodeTokeniser.h */, + B0FE76D91413C32F64610594 /* juce_CPlusPlusCodeTokeniserFunctions.h */, + 3B172600E3C05D62F424449B /* juce_LuaCodeTokeniser.cpp */, + B05257BD950E35B28F9E88CC /* juce_LuaCodeTokeniser.h */, + 110D8C5EEF130FB1E1F7D286 /* juce_XMLCodeTokeniser.cpp */, + 1CEAFFE79A9E1A1E32C2BFD6 /* juce_XMLCodeTokeniser.h */, + ); + name = code_editor; + sourceTree = ""; + }; + 7C2B9213A4FC92A23B91DB75 /* lookandfeel */ = { + isa = PBXGroup; + children = ( + 046591508FC3F71F74126E81 /* juce_LookAndFeel.cpp */, + 8594A236A434383AA96AEB53 /* juce_LookAndFeel.h */, + BA5A9BB00CD8BEA408371875 /* juce_LookAndFeel_V1.cpp */, + F4B9C009E75153F873F4AA25 /* juce_LookAndFeel_V1.h */, + 694EB6B22E35E09B6AB43EE2 /* juce_LookAndFeel_V2.cpp */, + C48140923F2A4DEDBA063DFD /* juce_LookAndFeel_V2.h */, + FA6BDA8882AAEE02FB04E36F /* juce_LookAndFeel_V3.cpp */, + 8DFA760FAD9756305F9C7515 /* juce_LookAndFeel_V3.h */, + ); + name = lookandfeel; + sourceTree = ""; + }; + 810ABDB24E2FE53C90BFDDFA /* system */ = { + isa = PBXGroup; + children = ( + 2A274CF384892F3968889E0C /* juce_CompilerSupport.h */, + F2C08F60BC16ABA3BE1F3A36 /* juce_PlatformDefs.h */, + 509031D02C057DCD1F713B6B /* juce_StandardHeader.h */, + 83C4DBF3382367051A65FF4D /* juce_SystemStats.cpp */, + D37936ED5B5A415DF1F5F2C2 /* juce_SystemStats.h */, + F67FF8B4FA78D4E285AC0242 /* juce_TargetPlatform.h */, + ); + name = system; + sourceTree = ""; + }; + 82356BA2755E3E9A105EE32C /* buttons */ = { + isa = PBXGroup; + children = ( + F5DBF428153938207320675F /* juce_ArrowButton.cpp */, + BB8AD6D858D518E804AFA0C7 /* juce_ArrowButton.h */, + 6536E6457A8B77FDCC506401 /* juce_Button.cpp */, + A87A60BF515078DF23E1F737 /* juce_Button.h */, + AA54E821F947C9A9DC359693 /* juce_DrawableButton.cpp */, + BEAB03E92089D87D7D6A2353 /* juce_DrawableButton.h */, + 3935FEBDBA2F8025F602042C /* juce_HyperlinkButton.cpp */, + 5CE4484E6BAB76C9B49E6ADE /* juce_HyperlinkButton.h */, + 3B883BA33260250D6C443F87 /* juce_ImageButton.cpp */, + 80A6B9266A11D6977AD84546 /* juce_ImageButton.h */, + 5848A09E20AA6FE9EF1E6898 /* juce_ShapeButton.cpp */, + 28BF10B49B1D14FE05CBC5DA /* juce_ShapeButton.h */, + F2ED5A15267070B560EFFA2B /* juce_TextButton.cpp */, + ECE3837512B3E620155A8432 /* juce_TextButton.h */, + F7487F2DEA61873B12C6CAC0 /* juce_ToggleButton.cpp */, + 449FC2FAA282C731A58D51E6 /* juce_ToggleButton.h */, + 0892B622D73826BB91C8E418 /* juce_ToolbarButton.cpp */, + 6436F4F5D143E72BD77EE053 /* juce_ToolbarButton.h */, + ); + name = buttons; + sourceTree = ""; + }; + 853E25E8F0EA391EE8D4A3B8 /* OpenGLAppExample */ = { + isa = PBXGroup; + children = ( + FEADE63D967146EB972AA6A4 /* Shaders */, + 3FD01CA071C629C30000EC75 /* Source */, + ); + name = OpenGLAppExample; + sourceTree = ""; + }; + 8AB5C3D67E25D52FC85A482D /* embedding */ = { + isa = PBXGroup; + children = ( + E3381BC529641894F95F9AD6 /* juce_ActiveXControlComponent.h */, + 9FBCE80E444BA9E69C3F6172 /* juce_NSViewComponent.h */, + AC4730773DE422AE346C6D6B /* juce_UIViewComponent.h */, + ); + name = embedding; + sourceTree = ""; + }; + 8BB98CFCE02C8F888DEAD934 /* juce_audio_formats */ = { + isa = PBXGroup; + children = ( + D285EE2EABEF952CC46877BA /* format */, + F0E2F377D5961CE0CF2EEEC1 /* codecs */, + CD94C234A6AF95D63133D736 /* sampler */, + 3594634D87002997155671C1 /* juce_module_info */, + 0737A415932C93579574CE2D /* juce_audio_formats.h */, + ); + name = juce_audio_formats; + sourceTree = ""; + }; + 8C1FC7FA6E1B36498E7EB987 /* juce_opengl */ = { + isa = PBXGroup; + children = ( + B88C560247F2D57D82F21CBB /* opengl */, + FEE6ACB178D213783FF6E964 /* geometry */, + AC7F13F5542D3403D8F2ACB8 /* utils */, + B04BB024408E06CCC786C13E /* native */, + 3FB32BF0AB8E9BD398E92361 /* juce_module_info */, + E0E847621EEAEEFB21B87986 /* juce_opengl.h */, + ); + name = juce_opengl; + sourceTree = ""; + }; + 9116D006293FCD1E0A12EE16 /* sources */ = { + isa = PBXGroup; + children = ( + CD27B64646C58118052C3459 /* juce_AudioSourcePlayer.cpp */, + 51C3B7D6330C765ADFB672FF /* juce_AudioSourcePlayer.h */, + AABFFB2D2D9F9BB39C95BA25 /* juce_AudioTransportSource.cpp */, + 45693266645F0549AD1FEA88 /* juce_AudioTransportSource.h */, + ); + name = sources; + sourceTree = ""; + }; + 96DA2309744F7B1844D7EADE /* javascript */ = { + isa = PBXGroup; + children = ( + 36632604A700FC8F53169301 /* juce_Javascript.cpp */, + ED9CF9B1476F08D13A1E636E /* juce_Javascript.h */, + 8F81943FE96DB8DD0ABB9DF7 /* juce_JSON.cpp */, + 0D158239399CB7487C663168 /* juce_JSON.h */, + ); + name = javascript; + sourceTree = ""; + }; + 98BF95789FAFC50466F1A1DC /* format_types */ = { + isa = PBXGroup; + children = ( + 23EA0178C7150CBA80E79215 /* juce_AudioUnitPluginFormat.h */, + 1CC05551F14FFC0161D8E12A /* juce_AudioUnitPluginFormat.mm */, + 966F24941F855EA74A2A8914 /* juce_LADSPAPluginFormat.cpp */, + EEBA2A14B5473C1F19BF3D3E /* juce_LADSPAPluginFormat.h */, + C9CD8A1AB4DAA664557DEBDC /* juce_VST3Common.h */, + B7612EA3B34C6AC48079A447 /* juce_VST3Headers.h */, + 58C9B8F93CF63036CA33A6C3 /* juce_VST3PluginFormat.cpp */, + AD0DBF0531130EAD4DF2A8FA /* juce_VST3PluginFormat.h */, + 8E0D42B79853ED7FC60F931B /* juce_VSTMidiEventList.h */, + D8F75466ADD0287144087C5B /* juce_VSTPluginFormat.cpp */, + 794DEE7E5CC51940507F676F /* juce_VSTPluginFormat.h */, + ); + name = format_types; + sourceTree = ""; + }; + 997C7BFF828EBD6BDD06D036 /* placement */ = { + isa = PBXGroup; + children = ( + 7E5D04471A75DF9057A4D73E /* juce_Justification.h */, + 6CF6624AD370E4716D42CEDF /* juce_RectanglePlacement.cpp */, + 284C742F571D494237C52C2D /* juce_RectanglePlacement.h */, + ); + name = placement; + sourceTree = ""; + }; + 9A1C5344E2500919F67C1907 /* positioning */ = { + isa = PBXGroup; + children = ( + 8D11B58353EBDC8EBE9C641D /* juce_MarkerList.cpp */, + C52847A293D0E8958E88DFD5 /* juce_MarkerList.h */, + 17A033D6C28B1E76FA8BEFCF /* juce_RelativeCoordinate.cpp */, + 816CA082336A8BC8A9AA61BD /* juce_RelativeCoordinate.h */, + C3B93391519DA8A352766580 /* juce_RelativeCoordinatePositioner.cpp */, + 406587D828CD424333E55C81 /* juce_RelativeCoordinatePositioner.h */, + 33B9E6212D92FB49C792ACE9 /* juce_RelativeParallelogram.cpp */, + C6B9F01A0AAA2A1DA8122912 /* juce_RelativeParallelogram.h */, + 9CF41B989B4516C8DB6CF7A0 /* juce_RelativePoint.cpp */, + 35748B2B69B3A54D19679F3A /* juce_RelativePoint.h */, + ACD7FAE9EE61A4085580912B /* juce_RelativePointPath.cpp */, + 360B3CDCB046B9D69C6F5ED4 /* juce_RelativePointPath.h */, + 56C2444E299E030DE7243C7D /* juce_RelativeRectangle.cpp */, + 220732F05D2DEBC2ADF2D45C /* juce_RelativeRectangle.h */, + ); + name = positioning; + sourceTree = ""; + }; + 9AF6FBC13AA9F0C35EC524A1 /* keyboard */ = { + isa = PBXGroup; + children = ( + 6D1D3AFCBD704E2E3A9AB0D9 /* juce_CaretComponent.cpp */, + 776FC3A674D9CCD21CB2D7A0 /* juce_CaretComponent.h */, + E90FDEEB9C536E5E1124B00D /* juce_KeyboardFocusTraverser.cpp */, + 4FBA6C32DE977B1330BAD5DD /* juce_KeyboardFocusTraverser.h */, + D521465375DD0F179649668B /* juce_KeyListener.cpp */, + 38A0CFC456FB82927DF8B990 /* juce_KeyListener.h */, + 3A52ADB8D2B72A1E6F455ABA /* juce_KeyPress.cpp */, + 1E07768DDE29F15BF4F32C48 /* juce_KeyPress.h */, + 665600E48FF051CFE90C698D /* juce_ModifierKeys.cpp */, + 69CA413A66B0EA204C1AFF4A /* juce_ModifierKeys.h */, + 42AE889B4D596FF23E2D77CB /* juce_SystemClipboard.h */, + B1E4A1F07EFCCA50D963CF4F /* juce_TextEditorKeyMapper.h */, + B77BD5847F412656109A378E /* juce_TextInputTarget.h */, + ); + name = keyboard; + sourceTree = ""; + }; + 9BD07AD149BE8BBE4BA6B001 /* native */ = { + isa = PBXGroup; + children = ( + D2C557606FD68958DC545A2B /* juce_android_CameraDevice.cpp */, + 6894AE00A49D15E9C4A31355 /* juce_mac_CameraDevice.mm */, + BBECF34C65D1DD35DE8C6F9B /* juce_mac_QuickTimeMovieComponent.mm */, + 003AAB5BFC9435FA4823BA2F /* juce_win32_CameraDevice.cpp */, + 72723038519B5AB5FFB52EB9 /* juce_win32_DirectShowComponent.cpp */, + B0E21FE9C68B99E4C751DF13 /* juce_win32_QuickTimeMovieComponent.cpp */, + ); + name = native; + sourceTree = ""; + }; + 9DB85B0F2371EE26F3E89D82 /* text */ = { + isa = PBXGroup; + children = ( + 22D01A956BCD31F2C54E4E38 /* juce_CharacterFunctions.cpp */, + E45F076842C926BA5400B70B /* juce_CharacterFunctions.h */, + 07A41B027C9FC2A6DAC801F3 /* juce_CharPointer_ASCII.h */, + 975BBC01D0C62E087E6246ED /* juce_CharPointer_UTF8.h */, + E0FF460CC2AACA09D6C7412E /* juce_CharPointer_UTF16.h */, + 16094015FECE7F7A1EE6B751 /* juce_CharPointer_UTF32.h */, + 80BE3657BDC9B08AB3570055 /* juce_Identifier.cpp */, + 6B107438F2E31C0BF985A733 /* juce_Identifier.h */, + C407BCC7CEC505584B25682E /* juce_LocalisedStrings.cpp */, + FBD1053AF6BF9575682BCAF8 /* juce_LocalisedStrings.h */, + E9BB6F5CCB22B9CBEA0DFAB6 /* juce_NewLine.h */, + 6AC21250C86C558A82EE3B25 /* juce_String.cpp */, + 60B2BAA3043C667FE98E94CC /* juce_String.h */, + 6C91F33E01BD39630B255C47 /* juce_StringArray.cpp */, + 71F494877324567960FC3F84 /* juce_StringArray.h */, + 976E37CE9482096F8A82A8CE /* juce_StringPairArray.cpp */, + 842FF0D158A48BD9C1651800 /* juce_StringPairArray.h */, + 355F2CA65E4117FDE2391872 /* juce_StringPool.cpp */, + 48FCAA413FA6EC7E02B33A6E /* juce_StringPool.h */, + A2D465168084C9FFAE312E3C /* juce_StringRef.h */, + 6EAF92417BE40684D0FAA797 /* juce_TextDiff.cpp */, + 3197F342A372898714E25F70 /* juce_TextDiff.h */, + ); + name = text; + sourceTree = ""; + }; + 9F57E3145B8DE085C7435C7D /* geometry */ = { + isa = PBXGroup; + children = ( + CE9CAFB040BE90431A432537 /* juce_AffineTransform.cpp */, + A19D3050F95BFD17129EA013 /* juce_AffineTransform.h */, + 17077E8777B646C03C92D20B /* juce_BorderSize.h */, + D2EBB6A92000349A92809F02 /* juce_EdgeTable.cpp */, + 18E61768FC20A6C65CF73DA5 /* juce_EdgeTable.h */, + A20DD4F2960264FC20095777 /* juce_Line.h */, + 1F0F8E76A0B7D289D66C4101 /* juce_Path.cpp */, + 41D42F7438B6C953A2DC5038 /* juce_Path.h */, + D85876E3373EF8AC5F39A5A8 /* juce_PathIterator.cpp */, + AB540AC77FB76E3B498E98A6 /* juce_PathIterator.h */, + 27AB89D8B21801C1528F53C8 /* juce_PathStrokeType.cpp */, + D258105EC6398A3984FD8DA3 /* juce_PathStrokeType.h */, + 7EEFCCCD23C883F6B797834E /* juce_Point.h */, + 015766ED6CD9D55279FC884A /* juce_Rectangle.h */, + A021D917DFD4DD5D4703913C /* juce_RectangleList.h */, + ); + name = geometry; + sourceTree = ""; + }; + A4D3B14A21B5F8202D2A49AE /* Resources */ = { + isa = PBXGroup; + children = ( + 69AE98AB9502B4B4E7EBCD60 /* WavefrontObjParser.h */, + 7D21460B496E5E03FA58654B /* teapot.obj */, + ); + name = Resources; + sourceTree = ""; + }; + A6D444FE8D85CED1C171C0EC /* values */ = { + isa = PBXGroup; + children = ( + B2E2A77534D9104C78E8F3E2 /* juce_Value.cpp */, + D1A2603E46734D31975B7540 /* juce_Value.h */, + 4EBBA20040624174084744DF /* juce_ValueTree.cpp */, + 9E46C8356029EC009F7A1C46 /* juce_ValueTree.h */, + ); + name = values; + sourceTree = ""; + }; + AC7F13F5542D3403D8F2ACB8 /* utils */ = { + isa = PBXGroup; + children = ( + CED808C5809FF89D32131CB4 /* juce_OpenGLAppComponent.cpp */, + 7CD48F7A63EA97AF58ED7C5F /* juce_OpenGLAppComponent.h */, + ); + name = utils; + sourceTree = ""; + }; + B04BB024408E06CCC786C13E /* native */ = { + isa = PBXGroup; + children = ( + DF42C1B300CA66580D0AED1D /* juce_MissingGLDefinitions.h */, + 32CFACA9C637ABD27F8A874F /* juce_OpenGL_android.h */, + A3EFD0BE919B2F7AD7295F2D /* juce_OpenGL_ios.h */, + 2553F95186E2565315E012CF /* juce_OpenGL_linux.h */, + 5AFAF9A5651C30F1FF28A76A /* juce_OpenGL_osx.h */, + B99DD4C6D8C8F58C83ADD7CA /* juce_OpenGL_win32.h */, + 0ED63C3FFD7B718988BDDAFF /* juce_OpenGLExtensions.h */, + ); + name = native; + sourceTree = ""; + }; + B0A8A78F56D39E5C52AB1C76 /* juce_audio_processors */ = { + isa = PBXGroup; + children = ( + D7A7AC6EED05D3EFB23E0FBD /* processors */, + 3D87BE7DE866701CC5B6C485 /* format */, + 98BF95789FAFC50466F1A1DC /* format_types */, + D943062B41CDE85FA2B03472 /* scanning */, + 9C56D1AE6B7768F6E27D8F31 /* juce_module_info */, + F7E246B8F8600787C3F10552 /* juce_audio_processors.h */, + ); + name = juce_audio_processors; + sourceTree = ""; + }; + B2800371CE1A826ABDD312A5 /* files */ = { + isa = PBXGroup; + children = ( + 23E996355EF7DFDCECA97B64 /* juce_DirectoryIterator.cpp */, + DE3832516FB6969C0E3210D4 /* juce_DirectoryIterator.h */, + 55C1F41C94C7C8ED73FC3288 /* juce_File.cpp */, + 3EA7A5F6F6D13A68653F06E8 /* juce_File.h */, + FC3CA13BBF45F16F19AE3047 /* juce_FileFilter.cpp */, + 7BD85F5BFF691F3E548BC8B3 /* juce_FileFilter.h */, + A7F58281FD0F07ECE6D261A8 /* juce_FileInputStream.cpp */, + 67239C8DF5524A278253F181 /* juce_FileInputStream.h */, + 79F7E702E92F8B23B6BCA74E /* juce_FileOutputStream.cpp */, + B8A6BFA35FDD1F48C1E4E688 /* juce_FileOutputStream.h */, + 7712C8260E9F4A7C2BD9FD63 /* juce_FileSearchPath.cpp */, + 575F4E371F82188902F74A96 /* juce_FileSearchPath.h */, + E273A9AEACF13BC595F82289 /* juce_MemoryMappedFile.h */, + EF073EC891B2731068542C61 /* juce_TemporaryFile.cpp */, + E068F61F296A52D25E329978 /* juce_TemporaryFile.h */, + CEB259E27BB64776AF6BF076 /* juce_WildcardFileFilter.cpp */, + AB3CF49071E6EEF217783B8A /* juce_WildcardFileFilter.h */, + ); + name = files; + sourceTree = ""; + }; + B4351AB8FE980A7A843DD7EB /* juce_graphics */ = { + isa = PBXGroup; + children = ( + 76BAE43251ED78FD6BE739E9 /* colour */, + F0740B98E17BCB69B54B4619 /* contexts */, + DDD3EBD3493F3D8076685D09 /* images */, + 240D1F671827DE817DDE901B /* image_formats */, + 9F57E3145B8DE085C7435C7D /* geometry */, + 997C7BFF828EBD6BDD06D036 /* placement */, + 013403E10034C0DA7BEE1F39 /* fonts */, + 556560AAD3C29E08F7AFBCBA /* effects */, + 66DC0A97992202B7629A58C7 /* native */, + F7D32C5CE1D85C542190C26C /* juce_module_info */, + 30CBDFC5F16FD990ABC2C486 /* juce_graphics.h */, + ); + name = juce_graphics; + sourceTree = ""; + }; + B43E665356CC8841DCE56D07 /* capture */ = { + isa = PBXGroup; + children = ( + 83619BFC8B92A2B5F17F596C /* juce_CameraDevice.cpp */, + 985C549EBDB26AF7BFD6E8A4 /* juce_CameraDevice.h */, + ); + name = capture; + sourceTree = ""; + }; + B88C560247F2D57D82F21CBB /* opengl */ = { + isa = PBXGroup; + children = ( + DF53D8FD5DE7B15694D26E91 /* juce_OpenGLContext.cpp */, + 01FC5A0075F643D703F56555 /* juce_OpenGLContext.h */, + 9D87175DE3988B783002560D /* juce_OpenGLFrameBuffer.cpp */, + 75CD7766A1ACC3BA17C8B73B /* juce_OpenGLFrameBuffer.h */, + 35B404161217DAE32CC143CB /* juce_OpenGLGraphicsContext.cpp */, + 88EB915831B819EC3B7B124E /* juce_OpenGLGraphicsContext.h */, + D67D8599E2F89D673EA36D9F /* juce_OpenGLHelpers.cpp */, + D9E4C045A178EA678116D439 /* juce_OpenGLHelpers.h */, + 4F9D0FABF1E74572460D086C /* juce_OpenGLImage.cpp */, + 393EA74C63AFA103F5F3264B /* juce_OpenGLImage.h */, + 4E053EF00EC72441FCC9A6ED /* juce_OpenGLPixelFormat.cpp */, + 92655A59F40624CBDA9194B5 /* juce_OpenGLPixelFormat.h */, + F616A5D8C022126707081DC9 /* juce_OpenGLRenderer.h */, + D677D05978DC2C67386B63AE /* juce_OpenGLShaderProgram.cpp */, + B2B042F73709D0057DE8A51E /* juce_OpenGLShaderProgram.h */, + 6F0A25914D95D4F547F91C79 /* juce_OpenGLTexture.cpp */, + E046CC53401A9551BDEA2D83 /* juce_OpenGLTexture.h */, + ); + name = opengl; + sourceTree = ""; + }; + BC1C3CB4DF57CE8A1B29522F /* native */ = { + isa = PBXGroup; + children = ( + 4717C14F84229B39FA2FA86B /* juce_android_FileChooser.cpp */, + 3A5C86CF6276058B0D5AC399 /* juce_android_Windowing.cpp */, + AF6001FA947F3A7DF15CBF8B /* juce_ios_UIViewComponentPeer.mm */, + 2BFABFBE400EBD477EEC1F7D /* juce_ios_Windowing.mm */, + AA8A3E0CF7623249B2907DB1 /* juce_linux_Clipboard.cpp */, + CD71ED4911896207B303106F /* juce_linux_FileChooser.cpp */, + 7207669F41206DC961E08FD2 /* juce_linux_Windowing.cpp */, + 6FA9A28DB80D43E87900A1B1 /* juce_mac_FileChooser.mm */, + 4BF34287391AB2ED382C9CB2 /* juce_mac_MainMenu.mm */, + C159C35E078C5B5B9BFEFB52 /* juce_mac_MouseCursor.mm */, + 338C5E41B8903F0894709201 /* juce_mac_NSViewComponentPeer.mm */, + 5BF81A5EBE596AB3F3E4C222 /* juce_mac_Windowing.mm */, + 6CE60A4F64042BC1A2391987 /* juce_MultiTouchMapper.h */, + C05E16AAF0CF0676135C0C9B /* juce_win32_DragAndDrop.cpp */, + 279D354D902DE91EB32B1BE6 /* juce_win32_FileChooser.cpp */, + 6C5F536D935CF788C07424CC /* juce_win32_Windowing.cpp */, + ); + name = native; + sourceTree = ""; + }; + C2F146BC4298BBB96A2A6339 /* midi */ = { + isa = PBXGroup; + children = ( + 0917DAAA83C16F4D430A4961 /* juce_MidiBuffer.cpp */, + 04F64700F41A639DA16732BF /* juce_MidiBuffer.h */, + FD04FE1CA7A8937A90864D6F /* juce_MidiFile.cpp */, + A937C45D53029A6BD6DA500B /* juce_MidiFile.h */, + 0557BAAD94B3B3AFAF7607EF /* juce_MidiKeyboardState.cpp */, + EA8B6054D2E6C204214422CE /* juce_MidiKeyboardState.h */, + 23F1F8A1566366CCFAC8A5BB /* juce_MidiMessage.cpp */, + 31AF78DCC817DE98C01E1EEE /* juce_MidiMessage.h */, + 8BD7E643486B7C1968E68D51 /* juce_MidiMessageSequence.cpp */, + 7A9C6994055A82AFC438626A /* juce_MidiMessageSequence.h */, + ); + name = midi; + sourceTree = ""; + }; + C65F5142919A93D5CB350F76 /* encryption */ = { + isa = PBXGroup; + children = ( + 198B97A4FB9B21A3357160C0 /* juce_BlowFish.cpp */, + 5BD5301D9DFF3CEA10C32DBB /* juce_BlowFish.h */, + 5789E773C615D393363707C8 /* juce_Primes.cpp */, + 59C461E6BF35CEC17FB2C9DC /* juce_Primes.h */, + E83074E632966778B10AF088 /* juce_RSAKey.cpp */, + 14BAD66A370FA342144C7BFC /* juce_RSAKey.h */, + ); + name = encryption; + sourceTree = ""; + }; + C6AA6C3360946FAC6A1E4CFF /* interprocess */ = { + isa = PBXGroup; + children = ( + BA5DE80E67A74A41D57E7663 /* juce_ConnectedChildProcess.cpp */, + 0E1CA391708ADDE3952BF147 /* juce_ConnectedChildProcess.h */, + 35641C490EE335DDFF004FEC /* juce_InterprocessConnection.cpp */, + 54B30BCC43C6CBF57A69A654 /* juce_InterprocessConnection.h */, + E31FDA8F23FEAB726361C8DB /* juce_InterprocessConnectionServer.cpp */, + 3CCB2447E4FA1C412FEEE551 /* juce_InterprocessConnectionServer.h */, + ); + name = interprocess; + sourceTree = ""; + }; + C9A88DFF6E95D969C2A09F24 /* maths */ = { + isa = PBXGroup; + children = ( + FB748B4E5E7E7CB38BBF07AD /* juce_BigInteger.cpp */, + C33DDF76E058D3E11E61DE63 /* juce_BigInteger.h */, + 7BAEC8D30E310460FB3FC406 /* juce_Expression.cpp */, + 3E3D664A12153D29FC1D42ED /* juce_Expression.h */, + 05F871A5DA3290898E2EBFBE /* juce_MathsFunctions.h */, + 5D998A4BC436D82C3A6E8606 /* juce_NormalisableRange.h */, + 41F9BAD0BC589CC46CFEF495 /* juce_Random.cpp */, + 0F0458EF50C559CFF42DDC67 /* juce_Random.h */, + C0AC297D17FA68BBAB417A64 /* juce_Range.h */, + ); + name = maths; + sourceTree = ""; + }; + CA34E66B71A70E489DCD9028 /* buffers */ = { + isa = PBXGroup; + children = ( + 11614D602849B43F5ED92934 /* juce_AudioDataConverters.cpp */, + 6B5D185CB49DC6746B357183 /* juce_AudioDataConverters.h */, + E47A2EEA203214804C09378D /* juce_AudioSampleBuffer.cpp */, + 47E94C2476E8A7171A484CF0 /* juce_AudioSampleBuffer.h */, + 8C69B0700CBEF4AAD6F41B08 /* juce_FloatVectorOperations.cpp */, + E10DD1F7E7994B77BFF7C8AF /* juce_FloatVectorOperations.h */, + ); + name = buffers; + sourceTree = ""; + }; + CCC10C50368A3362DAC1E895 /* misc */ = { + isa = PBXGroup; + children = ( + D74B9C3F462333A72B889773 /* juce_Result.cpp */, + D23F862EE7BAEDAC24479902 /* juce_Result.h */, + F937ACD8AA15A27F13F85A88 /* juce_Uuid.cpp */, + 6364C602FBB1C4D7915DF708 /* juce_Uuid.h */, + 6B5BE388D982E05CD2C7BE10 /* juce_WindowsRegistry.h */, + ); + name = misc; + sourceTree = ""; + }; + CD94C234A6AF95D63133D736 /* sampler */ = { + isa = PBXGroup; + children = ( + E22C09309C11DAE1AA0AA148 /* juce_Sampler.cpp */, + 4E4A47F8BEEF90A57C0C98C5 /* juce_Sampler.h */, + ); + name = sampler; + sourceTree = ""; + }; + CFA962EE09603F3370751E99 /* broadcasters */ = { + isa = PBXGroup; + children = ( + E8ED8CA85BE4E1BF7C5ADF53 /* juce_ActionBroadcaster.cpp */, + C3E4252156EDD0E001A10DE3 /* juce_ActionBroadcaster.h */, + 51713BEF84B3A58844692401 /* juce_ActionListener.h */, + FDC6858C3E455F9E8376B58B /* juce_AsyncUpdater.cpp */, + E49C04EACE55BED74E156911 /* juce_AsyncUpdater.h */, + 8F9A2F59A71422296C56C8A5 /* juce_ChangeBroadcaster.cpp */, + DC209283C24A9C0B601DB860 /* juce_ChangeBroadcaster.h */, + 58301731C17BEF7BF07541AF /* juce_ChangeListener.h */, + 1BDDC4F584BE877D4DC1ED90 /* juce_ListenerList.h */, + ); + name = broadcasters; + sourceTree = ""; + }; + D285EE2EABEF952CC46877BA /* format */ = { + isa = PBXGroup; + children = ( + B5A8A3579F03D2CCE4894848 /* juce_AudioFormat.cpp */, + 2DBFFAB8701557418A4C7CA2 /* juce_AudioFormat.h */, + EA77ADEA8100DFE7C2E0ABB6 /* juce_AudioFormatManager.cpp */, + A3C0B621A37595B09825518B /* juce_AudioFormatManager.h */, + A1C21D6CF6F456E34A0E7FBE /* juce_AudioFormatReader.cpp */, + 819B5DAEB3840F04881F7CBD /* juce_AudioFormatReader.h */, + 983FBC7E850263512E41D13D /* juce_AudioFormatReaderSource.cpp */, + 3E157C0C9F33470C32DE6008 /* juce_AudioFormatReaderSource.h */, + 31416E7F36800B9ACAEA176F /* juce_AudioFormatWriter.cpp */, + D8EB2E5BDF6806B37482DE70 /* juce_AudioFormatWriter.h */, + BC35263317084BA60132B43D /* juce_AudioSubsectionReader.cpp */, + 509FC03682CA45E87F7E0A67 /* juce_AudioSubsectionReader.h */, + 13FF137ABBAC726B7785FE0B /* juce_BufferingAudioFormatReader.cpp */, + 108D2A323EA2D7B31289AFFE /* juce_BufferingAudioFormatReader.h */, + 2822F9B316AEF7797E0F04B4 /* juce_MemoryMappedAudioFormatReader.h */, + ); + name = format; + sourceTree = ""; + }; + D7A7AC6EED05D3EFB23E0FBD /* processors */ = { + isa = PBXGroup; + children = ( + 52057B317B0FC98209D5BEC9 /* juce_AudioPlayHead.h */, + A4E723D11ADD694C4A3D318C /* juce_AudioPluginInstance.h */, + B97C816F9CBDE00E567E3144 /* juce_AudioProcessor.cpp */, + A59F49F937F6C5E6E35B8B86 /* juce_AudioProcessor.h */, + F93D065EB34B3E5270F5626D /* juce_AudioProcessorEditor.cpp */, + 1F6C3ACBB74CDDEBCBFCCA57 /* juce_AudioProcessorEditor.h */, + 10FB75AD59E8E2AEF38167B4 /* juce_AudioProcessorGraph.cpp */, + CFA38098B5AD00F5C0DF4D4D /* juce_AudioProcessorGraph.h */, + 4D95426C0ADAF01F92462C1E /* juce_AudioProcessorListener.h */, + 72694B9BC870AF124976586F /* juce_AudioProcessorParameter.h */, + F356FC782C13333907F2EE17 /* juce_GenericAudioProcessorEditor.cpp */, + 80648C9ABD2B763398568A0B /* juce_GenericAudioProcessorEditor.h */, + 48285F283B8D98122DB9D028 /* juce_PluginDescription.cpp */, + E66B64B5619AFCB389836C06 /* juce_PluginDescription.h */, + ); + name = processors; + sourceTree = ""; + }; + D943062B41CDE85FA2B03472 /* scanning */ = { + isa = PBXGroup; + children = ( + 4ADEE86E1B443E58DA6A90FC /* juce_KnownPluginList.cpp */, + E388DABC27B6A417CE9B7F7B /* juce_KnownPluginList.h */, + 6D9EBBDDFD2AF922A6947057 /* juce_PluginDirectoryScanner.cpp */, + 66CFF6B31868957CCF9A1C68 /* juce_PluginDirectoryScanner.h */, + 976CA25A81DCEEA8E07D2508 /* juce_PluginListComponent.cpp */, + 71159E965AD35ED1496B5866 /* juce_PluginListComponent.h */, + ); + name = scanning; + sourceTree = ""; + }; + DDD3EBD3493F3D8076685D09 /* images */ = { + isa = PBXGroup; + children = ( + 1565307D5DC70CAC563B579F /* juce_Image.cpp */, + 14BF2173D8CD3520B21E01E0 /* juce_Image.h */, + AEA5E43C19B3566D5B2655E9 /* juce_ImageCache.cpp */, + 6BC5C181AD876196213378C2 /* juce_ImageCache.h */, + 9BECE88C6AB34861AF408C37 /* juce_ImageConvolutionKernel.cpp */, + 6E35055BA3436FC2F9B77365 /* juce_ImageConvolutionKernel.h */, + E441F10A3241806474779D5A /* juce_ImageFileFormat.cpp */, + 91A5A6A217FA091F2ADBE3C5 /* juce_ImageFileFormat.h */, + ); + name = images; + sourceTree = ""; + }; + E1A6B922CD26B2E238FFE633 /* playback */ = { + isa = PBXGroup; + children = ( + CC83A115FBF5C65772BBFAE3 /* juce_DirectShowComponent.h */, + 3D26B83681D1E47ADFB2D8A9 /* juce_QuickTimeMovieComponent.h */, + ); + name = playback; + sourceTree = ""; + }; + EAFC9A1D80CBC941C7724431 /* zip */ = { + isa = PBXGroup; + children = ( + 0F7EB01A494A7D2D347B9167 /* juce_GZIPCompressorOutputStream.cpp */, + 1E6168E98312F552A0C57E54 /* juce_GZIPCompressorOutputStream.h */, + FBFB17CDB832B533BEF3BFAB /* juce_GZIPDecompressorInputStream.cpp */, + C02F8C844FAD835F09408406 /* juce_GZIPDecompressorInputStream.h */, + 32D11E8A57FD1B5250A5E493 /* juce_ZipFile.cpp */, + 396986DB8689B7C6909777E3 /* juce_ZipFile.h */, + ); + name = zip; + sourceTree = ""; + }; + EB0838BDF3EDD2A6C56D1B10 /* commands */ = { + isa = PBXGroup; + children = ( + 2CD2FBF66999807E0B86E0B0 /* juce_ApplicationCommandID.h */, + C568E8888819EAFDCAEAF04F /* juce_ApplicationCommandInfo.cpp */, + 8DBDCF6753B9AE327FC8E382 /* juce_ApplicationCommandInfo.h */, + A23A20A098747A2449C47047 /* juce_ApplicationCommandManager.cpp */, + 31B42F889DD1C79540881B97 /* juce_ApplicationCommandManager.h */, + 62935FD655DDDCE70536555F /* juce_ApplicationCommandTarget.cpp */, + EEDD0D3608DCB2E459F3BF24 /* juce_ApplicationCommandTarget.h */, + EFDD05E3C006BA460761594C /* juce_KeyPressMappingSet.cpp */, + 01D4F510A1EE5495A8A419C0 /* juce_KeyPressMappingSet.h */, + ); + name = commands; + sourceTree = ""; + }; + ED26DB941C1087A481ED9C8B /* native */ = { + isa = PBXGroup; + children = ( + A878B40B811C4B83658F6A60 /* juce_android_Messaging.cpp */, + 3B3FC34DE0D784314690A93C /* juce_ios_MessageManager.mm */, + 656CA5CB0EF44C76ACFFDCEA /* juce_linux_Messaging.cpp */, + 3DF5CBEC136D13446079C001 /* juce_mac_MessageManager.mm */, + CC42DBFB2ABA84046DD69E1F /* juce_osx_MessageQueue.h */, + DC254EFF0D95657D703FA8F6 /* juce_ScopedXLock.h */, + 121C4D9B35F16FF170A9D4E3 /* juce_win32_HiddenMessageWindow.h */, + 502503CB0C00102976DF1023 /* juce_win32_Messaging.cpp */, + ); + name = native; + sourceTree = ""; + }; + ED484B85EA0EC12853FAC2A6 /* midi_io */ = { + isa = PBXGroup; + children = ( + A8A190EDD8CED5ACF3AEE2C9 /* juce_MidiInput.h */, + 0411B541BEDEC5A67ECEAA31 /* juce_MidiMessageCollector.cpp */, + 36C81D39EEE59DF7D8AB0E0B /* juce_MidiMessageCollector.h */, + 62ABA7CF7D0CE2D7B3F7BFCD /* juce_MidiOutput.cpp */, + ACEC05FF097A56FB7F3EF6B9 /* juce_MidiOutput.h */, + ); + name = midi_io; + sourceTree = ""; + }; + EDEB768592E2E04E19CBBB39 /* memory */ = { + isa = PBXGroup; + children = ( + F2DFFAA96667B5897702E4B6 /* juce_Atomic.h */, + 5989B7979A4446D163FD7E13 /* juce_ByteOrder.h */, + DEE9366528ACF7F2CC0A9F73 /* juce_ContainerDeletePolicy.h */, + FD6A6D3E26D069707DD51652 /* juce_HeapBlock.h */, + 3E85ACEDFE88D01251E25E24 /* juce_LeakedObjectDetector.h */, + BEFB2034FC381E2DD019E372 /* juce_Memory.h */, + 4660BCF2E3BB5D499FA4A5EF /* juce_MemoryBlock.cpp */, + BE4CF2165544FB2D720E1DD6 /* juce_MemoryBlock.h */, + 671B91E2FBEFF3E1A411B28A /* juce_OptionalScopedPointer.h */, + C66D4CDC39A565833178EB0D /* juce_ReferenceCountedObject.h */, + 773BD1E9176FB073B71705A0 /* juce_ScopedPointer.h */, + DA67F5A5693214A2189039D4 /* juce_SharedResourcePointer.h */, + 1DC4AC19C53D307B6007D02F /* juce_Singleton.h */, + C7BABEEA061F989A0A74F708 /* juce_WeakReference.h */, + ); + name = memory; + sourceTree = ""; + }; + EEDD06AB62749ED2479EBFA6 /* sources */ = { + isa = PBXGroup; + children = ( + 28DEE4AF47201ED83DFD5875 /* juce_AudioSource.h */, + 4F70D57A0CFEEC0D7FADCB9D /* juce_BufferingAudioSource.cpp */, + 0C5D36923235127BEC48777C /* juce_BufferingAudioSource.h */, + 6960FFB28F8600D605CEBEBD /* juce_ChannelRemappingAudioSource.cpp */, + C64D47A361026A76FC9BA9B9 /* juce_ChannelRemappingAudioSource.h */, + 72B3FF3E4E9060A4F06F89F9 /* juce_IIRFilterAudioSource.cpp */, + CC1AE8EECC77B1915D24C9DA /* juce_IIRFilterAudioSource.h */, + 50CAEE20832DF292261BF105 /* juce_MixerAudioSource.cpp */, + 68E2ACE653CDFA7D1EFBCB37 /* juce_MixerAudioSource.h */, + B84BA430E8F477AB2EDC45CB /* juce_PositionableAudioSource.h */, + 661DA0426C81D826ADA90BAC /* juce_ResamplingAudioSource.cpp */, + 850E016A9EA33CDCF888D7AC /* juce_ResamplingAudioSource.h */, + EAE65B593000E1AFCA63AEE8 /* juce_ReverbAudioSource.cpp */, + 2CE3A9187CAA637AAF93C273 /* juce_ReverbAudioSource.h */, + B1440ED412E2277340903AB0 /* juce_ToneGeneratorAudioSource.cpp */, + 7B1C3855706B615C704556DD /* juce_ToneGeneratorAudioSource.h */, + ); + name = sources; + sourceTree = ""; + }; + EFBCC9AA9132896CF439C9BD /* juce_audio_devices */ = { + isa = PBXGroup; + children = ( + 5C2DC77520F6E8AB1413621E /* audio_io */, + ED484B85EA0EC12853FAC2A6 /* midi_io */, + 9116D006293FCD1E0A12EE16 /* sources */, + 729710EC0419FCEE902079EF /* audio_cd */, + 6BB4269ECC3477AD8A7A32A3 /* native */, + EEE157CFCD553CC2F4D15CBB /* juce_module_info */, + EBABE678E857A993B3753B83 /* juce_audio_devices.h */, + ); + name = juce_audio_devices; + sourceTree = ""; + }; + F0740B98E17BCB69B54B4619 /* contexts */ = { + isa = PBXGroup; + children = ( + E2B10A7DBF2B35A4C3A1DE21 /* juce_GraphicsContext.cpp */, + B28DFE72ADE03393BE8B764C /* juce_GraphicsContext.h */, + F5EB78612A35D53F005597D4 /* juce_LowLevelGraphicsContext.h */, + 85379D9BB0BA7D60CFF83DC6 /* juce_LowLevelGraphicsPostScriptRenderer.cpp */, + EF0061905AEAC90A86145D40 /* juce_LowLevelGraphicsPostScriptRenderer.h */, + B2A85C1813641574E4D15BF2 /* juce_LowLevelGraphicsSoftwareRenderer.cpp */, + 1E7CA4A04A182412B3ECEBF6 /* juce_LowLevelGraphicsSoftwareRenderer.h */, + ); + name = contexts; + sourceTree = ""; + }; + F0E2F377D5961CE0CF2EEEC1 /* codecs */ = { + isa = PBXGroup; + children = ( + 5F49099628EF3662332FDB0D /* juce_AiffAudioFormat.cpp */, + AEBF8C2FCAF972F014D43738 /* juce_AiffAudioFormat.h */, + 73636C4935CD275E66A85104 /* juce_CoreAudioFormat.cpp */, + 3AC4E835893B368AD0A3A30F /* juce_CoreAudioFormat.h */, + 38ADFF5CB2DD15D371425F8B /* juce_FlacAudioFormat.cpp */, + AA6A795F8A452B980C91770B /* juce_FlacAudioFormat.h */, + 853E685A7CBF56CB4A532768 /* juce_LAMEEncoderAudioFormat.cpp */, + 2D4DFDFFC93646E9C078865E /* juce_LAMEEncoderAudioFormat.h */, + D05F7D67DD28FF1156CBED39 /* juce_MP3AudioFormat.cpp */, + 6B43A5B75AB87FC3CA8D05D3 /* juce_MP3AudioFormat.h */, + 33FDA12B0256C2A4BD51B11E /* juce_OggVorbisAudioFormat.cpp */, + D54457FBB5D7B2362E69D9AF /* juce_OggVorbisAudioFormat.h */, + 663F74D8282001BEA5E93096 /* juce_QuickTimeAudioFormat.cpp */, + 68C292BF84E3387285884015 /* juce_QuickTimeAudioFormat.h */, + 774B3CFCF0748FE9E5EA4597 /* juce_WavAudioFormat.cpp */, + 1742A7C8BB2AA11AE93DA43D /* juce_WavAudioFormat.h */, + 16D38AE110B44FE0D5E26F9D /* juce_WindowsMediaAudioFormat.cpp */, + C8CEDA86517FE447F3A3DCF2 /* juce_WindowsMediaAudioFormat.h */, + ); + name = codecs; + sourceTree = ""; + }; + FA2F4F69BFFFAE7A215E77CA /* app_properties */ = { + isa = PBXGroup; + children = ( + 260D03D00CBF739BB3A2F604 /* juce_ApplicationProperties.cpp */, + 623C7B6BD0B564F60F1F4012 /* juce_ApplicationProperties.h */, + 6D3191834A1567C5C18A13AA /* juce_PropertiesFile.cpp */, + 4411214CB9D7F986DA5A92FD /* juce_PropertiesFile.h */, + ); + name = app_properties; + sourceTree = ""; + }; + FEADE63D967146EB972AA6A4 /* Shaders */ = { + isa = PBXGroup; + children = ( + 9BE0EDFED0FC2720BB3AE101 /* FragmentShader.glsl */, + DD387A0509039658A5DC2AE5 /* VertexShader.glsl */, + ); + name = Shaders; + sourceTree = ""; + }; + FEE6ACB178D213783FF6E964 /* geometry */ = { + isa = PBXGroup; + children = ( + 838BB45D693ED0AAD43B93C3 /* juce_Draggable3DOrientation.h */, + B9B0A3004948FA2387C28829 /* juce_Matrix3D.h */, + 21FAFC1D8D92872E96F56764 /* juce_Quaternion.h */, + CD44827B5286ADE94DB0B79C /* juce_Vector3D.h */, + ); + name = geometry; + sourceTree = ""; + }; + FF74D4493903CDAEF7181A06 /* undomanager */ = { + isa = PBXGroup; + children = ( + 73B62E5AA67F4B0483ED680F /* juce_UndoableAction.h */, + 0CB9B8098AB7F4CFF3991565 /* juce_UndoManager.cpp */, + 14254C2E6F168DB69F9F6494 /* juce_UndoManager.h */, + ); + name = undomanager; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 7B81D348370C15990CC3A1BD /* OpenGLAppExample */ = { + isa = PBXNativeTarget; + buildConfigurationList = 72A1EE1BA283790385236C82 /* Build configuration list for PBXNativeTarget "OpenGLAppExample" */; + buildPhases = ( + 5B757FF4605862B33A33271E /* Resources */, + F1D06D2C0F24121D958BCCF0 /* Sources */, + 54D4A7BDAE854DE0AE2D5E3E /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = OpenGLAppExample; + productInstallPath = "$(HOME)/Applications"; + productName = OpenGLAppExample; + productReference = 5802E3490BEAFD892C837E2A /* OpenGLAppExample.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 92078120DD024E75D724B8AB /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0440; + }; + buildConfigurationList = 46FEBDB3E8E7421830E627F2 /* Build configuration list for PBXProject "OpenGLAppExample" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 5EB8D0E327356FA2D5323013 /* Source */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 7B81D348370C15990CC3A1BD /* OpenGLAppExample */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 5B757FF4605862B33A33271E /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 4A3B2112EAB24C18FCD790DD /* RecentFilesMenuTemplate.nib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + F1D06D2C0F24121D958BCCF0 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D0E5FADCDC70B5989BE7D147 /* FragmentShader.glsl in Sources */, + D31034CCE86D686B109ADE0F /* VertexShader.glsl in Sources */, + 5211AFD1D8E7FD62EDA703A9 /* MainComponent.cpp in Sources */, + 6A909F1AEE38A7340456EBBD /* Main.cpp in Sources */, + 1E0BAEC7950969D956E912F1 /* BinaryData.cpp in Sources */, + 4FC452CEC761FB0515E83B9C /* juce_audio_basics.mm in Sources */, + 6790BEB5EE46E3DF6332536F /* juce_audio_devices.mm in Sources */, + D4371AC9EBB0CA9B69C81C98 /* juce_audio_formats.mm in Sources */, + 5EB3C30963D75E7D43D6AD9A /* juce_audio_processors.mm in Sources */, + 238A6E94B07DB483C42E0D18 /* juce_core.mm in Sources */, + 8A7C3FEF41B5A5913396E7B1 /* juce_cryptography.mm in Sources */, + 148EA191DA9D3066A3C4EEEC /* juce_data_structures.mm in Sources */, + BEE9A8C926B45616AC4426AB /* juce_events.mm in Sources */, + 0A0FD3B4C732A965C2642CC8 /* juce_graphics.mm in Sources */, + 978A2567AA64957C61694427 /* juce_gui_basics.mm in Sources */, + 913CB51D1475C7F94739502A /* juce_gui_extra.mm in Sources */, + D54B744850AA08DC348CE8D8 /* juce_opengl.mm in Sources */, + 938FA7CCB4CD0A844BE6509F /* juce_video.mm in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 3132BF724B47EEFACACC0FF2 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = OpenGLAppExample; + WARNING_CFLAGS = "-Wreorder"; + ZERO_LINK = NO; + }; + name = Debug; + }; + 71C0F419A1E2F06DF9155ABE /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PRODUCT_NAME = OpenGLAppExample; + WARNING_CFLAGS = "-Wreorder"; + ZERO_LINK = NO; + }; + name = Release; + }; + 8DA6C115CCBD9A0699A71FA5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", + ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ( + ../../JuceLibraryCode, + ../../../../modules, + "$(inherited)", + ); + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + SDKROOT_ppc = macosx10.5; + }; + name = Debug; + }; + D10126CC8CE60E150025A42D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JUCER_XCODE_MAC_F6D2F4CF=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ( + ../../JuceLibraryCode, + ../../../../modules, + "$(inherited)", + ); + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; + MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + SDKROOT_ppc = macosx10.5; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 46FEBDB3E8E7421830E627F2 /* Build configuration list for PBXProject "OpenGLAppExample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3132BF724B47EEFACACC0FF2 /* Debug */, + 71C0F419A1E2F06DF9155ABE /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 72A1EE1BA283790385236C82 /* Build configuration list for PBXNativeTarget "OpenGLAppExample" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 8DA6C115CCBD9A0699A71FA5 /* Debug */, + D10126CC8CE60E150025A42D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 92078120DD024E75D724B8AB /* Project object */; +} diff --git a/examples/OpenGLAppExample/Builds/MacOSX/RecentFilesMenuTemplate.nib b/examples/OpenGLAppExample/Builds/MacOSX/RecentFilesMenuTemplate.nib new file mode 100644 index 0000000000..cec7f7c72b Binary files /dev/null and b/examples/OpenGLAppExample/Builds/MacOSX/RecentFilesMenuTemplate.nib differ diff --git a/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.sln b/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.sln new file mode 100644 index 0000000000..8e552fd593 --- /dev/null +++ b/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.sln @@ -0,0 +1,19 @@ +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{3AF5984B-1995-D9AA-6A48-A11A7E29B8ED}") = "OpenGLAppExample", "OpenGLAppExample.vcxproj", "{7C7408CA-ACB1-2C65-426D-235C519770A9}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7C7408CA-ACB1-2C65-426D-235C519770A9}.Debug|Win32.ActiveCfg = Debug|Win32 + {7C7408CA-ACB1-2C65-426D-235C519770A9}.Debug|Win32.Build.0 = Debug|Win32 + {7C7408CA-ACB1-2C65-426D-235C519770A9}.Release|Win32.ActiveCfg = Release|Win32 + {7C7408CA-ACB1-2C65-426D-235C519770A9}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj b/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj new file mode 100644 index 0000000000..d49093b4f3 --- /dev/null +++ b/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj @@ -0,0 +1,1703 @@ + + + + + + Debug + Win32 + + + Release + Win32 + + + + {7C7408CA-ACB1-2C65-426D-235C519770A9} + + + + Application + false + + + Application + false + true + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + .\Debug\ + OpenGLAppExample + true + .\Release\ + OpenGLAppExample + true + + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + Disabled + EditAndContinue + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) + MultiThreadedDebug + true + + $(IntDir)\ + $(IntDir)\ + $(IntDir)\ + Level4 + true + true + + + _DEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\OpenGLAppExample.exe + true + libcmt.lib; msvcrt.lib;;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)\OpenGLAppExample.pdb + Windows + MachineX86 + false + true + + + true + $(IntDir)\OpenGLAppExample.bsc + + + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + + + + MinSpace + ..\..\JuceLibraryCode;..\..\..\..\modules;%(AdditionalIncludeDirectories) + WIN32;_WINDOWS;NDEBUG;JUCER_VS2010_78A501D=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions) + MultiThreaded + true + + $(IntDir)\ + $(IntDir)\ + $(IntDir)\ + Level4 + true + true + + + NDEBUG;%(PreprocessorDefinitions) + + + $(OutDir)\OpenGLAppExample.exe + true + %(IgnoreSpecificDefaultLibraries) + false + $(IntDir)\OpenGLAppExample.pdb + Windows + MachineX86 + true + true + true + + + true + $(IntDir)\OpenGLAppExample.bsc + + + + + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj.filters b/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj.filters new file mode 100644 index 0000000000..d7911360e4 --- /dev/null +++ b/examples/OpenGLAppExample/Builds/VisualStudio2010/OpenGLAppExample.vcxproj.filters @@ -0,0 +1,2918 @@ + + + + + + {2C84AFEA-39C5-45BB-67B0-D0028AFD3304} + + + {66A1AF91-A77F-473F-6845-129C256B37A7} + + + {A8EE5285-360D-2B24-CFF2-504431E3E613} + + + {29D36204-80CF-8BBE-A910-93F40B0EF06F} + + + {422C46B7-0467-2DB0-BF3C-16DFCAFD69AC} + + + {3247ED97-A75A-F50B-8CCC-46155E895806} + + + {A33A1E1D-AC2C-6382-8681-48B0FC374C60} + + + {3FD908F5-98C8-9A61-FC03-0BAF8913CBB0} + + + {11A75801-B027-40BD-4993-023023ACCBF7} + + + {EF2CAB40-0432-429B-C517-86ADF136BB8A} + + + {8F7EC212-3168-AD81-5064-C45BA838C408} + + + {CACD7B50-4DB3-76AF-A6E8-90DF94F8F594} + + + {9D270B31-2425-8FDB-84A4-6A2288FF5B2F} + + + {0F766DD4-A277-CB86-5647-42498C8B41E1} + + + {D64942B4-6984-3623-3347-45D472AE1C61} + + + {45C2CE26-EC4B-BA52-58F3-297C408E1483} + + + {01603E05-423B-5FC3-1BEE-E15ED33B5688} + + + {65CB28F8-0422-A8F3-9A17-959E12A1F8E2} + + + {2FE25F4C-E9DF-04A5-CAED-6E4B7CF28C59} + + + {0CD9E281-DDD0-91EC-6F77-EA9D9D5E0E1A} + + + {40C5CA7C-AEBB-05B1-11CE-AE41D87B5CCB} + + + {0B0E7392-324B-088C-FBEB-5FE999D61782} + + + {77E2C34E-A4D6-EDB5-A107-7CB3CEF0E8EF} + + + {20254EFE-6CBD-31A7-2119-92B1E0E0E311} + + + {70796D73-6D30-8A1B-4732-7C021E47C05A} + + + {EB8DD942-E2CB-869F-D381-E02A65BA790B} + + + {95CA1506-2B94-0DEE-0C8D-85EDEBBC4E88} + + + {244D11B0-2D68-3C08-A0B7-0D12469BC3AA} + + + {476C69CE-0B67-6B85-E888-45D91E37A29E} + + + {7C5AD030-F8CC-6E85-0AF6-196B3ED40AC6} + + + {0608ADE9-66EF-1A19-6D57-12D07F76EB53} + + + {05F3DB8A-499C-6ACA-282F-5BF8455A0DE1} + + + {C9F6D785-BF78-5AA1-B479-111C65397864} + + + {C8F726FC-26BF-2E6B-4ED5-55A7FE316D7D} + + + {DA0DC4AC-B511-A2D4-199A-C93454D6F114} + + + {91929C6F-7902-B87D-5260-2F6CBF8ACD93} + + + {C294408A-2005-2E9E-7AC0-8D3ABE8AC175} + + + {4634FFAE-9586-A970-364C-4FDDA635F99F} + + + {F2B2F310-F30F-7166-42A9-9BF9C230DA78} + + + {1B67A7C0-86E0-53F6-6AE3-7AD93B8DC95B} + + + {F03654BC-34D8-F975-BEA3-750CC2783D23} + + + {4927C7A1-9235-4AA1-93CD-B4E67E6F1E5F} + + + {FA891A58-9FDA-9651-43C4-714A19B5D08D} + + + {C79A4D23-7866-8F3E-AC39-BD68C52A9259} + + + {3C7C8F35-6C08-9866-6663-6FEFE2EFC9FC} + + + {7703D2CE-C32A-936A-0EEF-949FE6E52EB5} + + + {8D283B6C-13BA-9EF6-1B18-B1C393786943} + + + {928D8FCC-5E00-174B-6538-93E8D75AB396} + + + {1988E68A-A964-64CA-0E0C-26FF9BC5176C} + + + {3DF036EA-3B80-553B-2494-3AAC835CAE75} + + + {358AEA11-3F96-36AE-7B32-71373B5C5396} + + + {F2A38F45-6E55-E147-2E52-64A89FDD9D59} + + + {6172822C-01A5-E824-12DA-FA43FA934D35} + + + {41DC3BE3-D629-8A17-C32B-F5B4008B5FAD} + + + {B098BC87-3298-7E6B-12DC-D26C09CDCAED} + + + {6322B88F-984A-C3CD-6263-38D7AA49B6EC} + + + {73C1E759-AD90-59A3-942E-2D10FAA29107} + + + {EE1AE8C3-0908-8F53-A4E5-D930C7C97C26} + + + {4926B3FF-E797-F586-857A-69D9703FA2D1} + + + {EBC65085-3AD5-280C-1A29-2B1683643AA1} + + + {413F481F-075C-2958-115C-D8268682FCB7} + + + {69E1179D-76EC-26DC-C3E6-6602ED26D783} + + + {C1A1A236-AB01-173E-96C3-0706BFF93B1E} + + + {1182303F-ECA3-166D-AC0C-92C5E762CB93} + + + {26ECA2AF-7368-C6CC-58EF-017ECD1862D0} + + + {E37D25CD-4350-4614-055B-7ABC55E67895} + + + {FFC6E1CC-C772-75E6-5087-FB5D4E016799} + + + {8E43579F-C185-266D-DD67-F8B95BD80F2F} + + + {2CB59E7C-D0E4-7D27-2ACF-C7ABADEE936D} + + + {796B7886-44A7-34CC-9B95-BF4FB2C7B6F4} + + + {A92719C7-70BE-57C4-CE9E-A9BC9DFEB757} + + + {75F1F352-251A-75E0-D941-8431588F5C1E} + + + {DB6E3D09-66DA-12DA-BAE8-A5BFFA7A14AC} + + + {7BCEAB87-62FD-0327-EB5D-679E54EDB9B1} + + + {E980FADB-6E3F-B93C-DE02-CE4271C9BA93} + + + {C3B2EB8A-1A2F-306F-AA78-3E9D1593788B} + + + {7A53E6F1-1343-33B8-4CA8-1D7B714A0E76} + + + {5A0AA36E-3957-E413-14C6-31CBE15271DF} + + + {D7E3D10F-3ED8-DFC5-6DB3-E4ACBF8678FB} + + + {F408DCA2-D5E2-0A3A-A064-A1D045889BC1} + + + {5FDBD6B1-9BBD-392F-4DA5-FEA40A9370C4} + + + {46535B56-3737-2BE8-E3A0-571BCBEB2DA4} + + + {C2B9505B-27B4-F650-12BD-F477D4BBCBAA} + + + {61712B09-5783-ADFA-2001-5A0C3D7764EB} + + + {8A80BA78-D3A8-C0F8-7FFD-61AA028CE852} + + + {8EC9572F-3CCA-E930-74B6-CB6139DE0E17} + + + {C60A6FCA-9462-922E-AD8D-69F10C9049AF} + + + {D56498EE-E354-1F00-5EEE-8CF7944BEAFB} + + + {61B2920C-494D-D8CB-C0C7-5DBF3D76D164} + + + {66C9B809-8739-A217-C78D-A15D6089B8E3} + + + {C413328B-5D81-89EE-F4F3-75752E700DE4} + + + {639E16C5-DA8B-ADBA-6E24-7B596378EAB2} + + + {2D8D0E19-E676-83EB-38D9-F73500DD6B79} + + + {B3141847-8F13-F67D-45B2-E3ECF6E09088} + + + {9E586194-C056-101C-5311-F2AF5191AC80} + + + {151B49D8-6102-F802-1C07-D59931BC0574} + + + {72A923E2-C729-DB92-D7BF-A9D4AFAE5896} + + + {0E43EA8A-95EE-4253-E1B7-160F38ACBB00} + + + {7F11E7D2-54C0-2A36-5F15-BEC0A5374A08} + + + {EE985DEA-CD83-8132-7219-542BB1DAD560} + + + {8B4D1BAA-6DB4-CAEC-A0FA-271F354D5C61} + + + + + OpenGLAppExample\Source + + + OpenGLAppExample\Source + + + Juce Modules\juce_audio_basics\buffers + + + Juce Modules\juce_audio_basics\buffers + + + Juce Modules\juce_audio_basics\buffers + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\synthesisers + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\midi_io + + + Juce Modules\juce_audio_devices\midi_io + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\sampler + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\scanning + + + Juce Modules\juce_audio_processors\scanning + + + Juce Modules\juce_audio_processors\scanning + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\misc + + + Juce Modules\juce_core\misc + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\hashing + + + Juce Modules\juce_cryptography\hashing + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\image_formats + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\documents + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\utils + + + Juce Modules\juce_video\capture + + + Juce Modules\juce_video\native + + + Juce Modules\juce_video\native + + + Juce Modules\juce_video\native + + + Juce Modules\juce_video\native + + + Juce Modules\juce_video\native + + + Juce Modules\juce_video\native + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + + + OpenGLAppExample\Source + + + Juce Modules\juce_audio_basics\buffers + + + Juce Modules\juce_audio_basics\buffers + + + Juce Modules\juce_audio_basics\buffers + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\midi + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\effects + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\sources + + + Juce Modules\juce_audio_basics\synthesisers + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\audio_io + + + Juce Modules\juce_audio_devices\midi_io + + + Juce Modules\juce_audio_devices\midi_io + + + Juce Modules\juce_audio_devices\midi_io + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\sources + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\audio_cd + + + Juce Modules\juce_audio_devices\native + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\format + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\codecs + + + Juce Modules\juce_audio_formats\sampler + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\processors + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\format_types + + + Juce Modules\juce_audio_processors\scanning + + + Juce Modules\juce_audio_processors\scanning + + + Juce Modules\juce_audio_processors\scanning + + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\text + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\maths + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\memory + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\containers + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\threads + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\time + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\files + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\network + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\streams + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\logging + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\system + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\xml + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\javascript + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\zip + + + Juce Modules\juce_core\unit_tests + + + Juce Modules\juce_core\misc + + + Juce Modules\juce_core\misc + + + Juce Modules\juce_core\misc + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core\native + + + Juce Modules\juce_core + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\encryption + + + Juce Modules\juce_cryptography\hashing + + + Juce Modules\juce_cryptography\hashing + + + Juce Modules\juce_cryptography + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\values + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\undomanager + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures\app_properties + + + Juce Modules\juce_data_structures + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\messages + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\timers + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\broadcasters + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\interprocess + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events\native + + + Juce Modules\juce_events + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\colour + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\contexts + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\images + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\geometry + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\placement + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\fonts + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\effects + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics\native + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\components + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\mouse + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\keyboard + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\widgets + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\windows + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\menus + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\layout + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\buttons + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\positioning + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\drawables + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\properties + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\lookandfeel + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\filebrowser + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\commands + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\misc + + + Juce Modules\juce_gui_basics\application + + + Juce Modules\juce_gui_basics\native + + + Juce Modules\juce_gui_basics + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\code_editor + + + Juce Modules\juce_gui_extra\documents + + + Juce Modules\juce_gui_extra\embedding + + + Juce Modules\juce_gui_extra\embedding + + + Juce Modules\juce_gui_extra\embedding + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\misc + + + Juce Modules\juce_gui_extra\native + + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\opengl + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\geometry + + + Juce Modules\juce_opengl\utils + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl\native + + + Juce Modules\juce_opengl + + + Juce Modules\juce_video\playback + + + Juce Modules\juce_video\playback + + + Juce Modules\juce_video\capture + + + Juce Modules\juce_video + + + Juce Library Code + + + Juce Library Code + + + Juce Library Code + + + + + OpenGLAppExample\Shaders + + + OpenGLAppExample\Shaders + + + OpenGLAppExample\Source\Resources + + + Juce Modules\juce_audio_basics + + + Juce Modules\juce_audio_devices + + + Juce Modules\juce_audio_formats + + + Juce Modules\juce_audio_processors + + + Juce Modules\juce_core + + + Juce Modules\juce_cryptography + + + Juce Modules\juce_data_structures + + + Juce Modules\juce_events + + + Juce Modules\juce_graphics + + + Juce Modules\juce_gui_basics + + + Juce Modules\juce_gui_extra + + + Juce Modules\juce_opengl + + + Juce Modules\juce_video + + + + + Juce Library Code + + + diff --git a/examples/OpenGLAppExample/Builds/VisualStudio2010/resources.rc b/examples/OpenGLAppExample/Builds/VisualStudio2010/resources.rc new file mode 100644 index 0000000000..fc6fbef4df --- /dev/null +++ b/examples/OpenGLAppExample/Builds/VisualStudio2010/resources.rc @@ -0,0 +1,29 @@ +#ifdef JUCE_USER_DEFINED_RC_FILE + #include JUCE_USER_DEFINED_RC_FILE +#else + +#undef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#include + +VS_VERSION_INFO VERSIONINFO +FILEVERSION 1,0,0,0 +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + BEGIN + VALUE "FileDescription", "OpenGLAppExample\0" + VALUE "FileVersion", "1.0.0\0" + VALUE "ProductName", "OpenGLAppExample\0" + VALUE "ProductVersion", "1.0.0\0" + END + END + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 65001 + END +END + +#endif diff --git a/examples/OpenGLAppExample/Builds/iOS/Info.plist b/examples/OpenGLAppExample/Builds/iOS/Info.plist new file mode 100644 index 0000000000..da966f1950 --- /dev/null +++ b/examples/OpenGLAppExample/Builds/iOS/Info.plist @@ -0,0 +1,29 @@ + + + + + + LSRequiresIPhoneOS + + CFBundleExecutable + ${EXECUTABLE_NAME} + CFBundleIconFile + + CFBundleIdentifier + com.yourcompany.OpenGLAppExample + CFBundleName + OpenGLAppExample + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1.0.0 + NSHumanReadableCopyright + + NSHighResolutionCapable + + + diff --git a/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample.xcodeproj/project.pbxproj b/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample.xcodeproj/project.pbxproj new file mode 100644 index 0000000000..1392efa08e --- /dev/null +++ b/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample.xcodeproj/project.pbxproj @@ -0,0 +1,2124 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + + F2E327A47E10F43D6991A306 = {isa = PBXBuildFile; fileRef = 50151F5E1EA38C0768AD9AC8; }; + 7FF434A451FC85BF1B79BC7F = {isa = PBXBuildFile; fileRef = 3948321FE783006946DC8F1F; }; + 8F43218E0AFA8FBC12C39860 = {isa = PBXBuildFile; fileRef = C3C776709CFEB52B87A9E260; }; + 3BFCAE441B663BD739FBCCB4 = {isa = PBXBuildFile; fileRef = 6CDDF198D9632DA763449E05; }; + 5AE83D61A34B2B62A0610EBB = {isa = PBXBuildFile; fileRef = 9D95CB2E713755CD61842774; }; + 3FCDCEFCE3D77BE1FC8A1E17 = {isa = PBXBuildFile; fileRef = 740AFAC150EAC7E6A6D6E6FA; }; + FF3345FBD014D97240E35C15 = {isa = PBXBuildFile; fileRef = 51626197E6CE921E472AFCA1; }; + 6243594E2BFD65B88D9F9918 = {isa = PBXBuildFile; fileRef = 525E733E59BB89937210A34E; }; + 31F4958CEE4B57FD45310A05 = {isa = PBXBuildFile; fileRef = 844820FE23753AF260B13D1D; }; + E7FB9D1F12020A9A921577AB = {isa = PBXBuildFile; fileRef = 342622E99E9622EDF376B782; }; + D0E5FADCDC70B5989BE7D147 = {isa = PBXBuildFile; fileRef = 9BE0EDFED0FC2720BB3AE101; }; + D31034CCE86D686B109ADE0F = {isa = PBXBuildFile; fileRef = DD387A0509039658A5DC2AE5; }; + 5211AFD1D8E7FD62EDA703A9 = {isa = PBXBuildFile; fileRef = 75A8F56B635DA7158E472382; }; + 6A909F1AEE38A7340456EBBD = {isa = PBXBuildFile; fileRef = 82443CD4F42884B9D33A85EA; }; + 1E0BAEC7950969D956E912F1 = {isa = PBXBuildFile; fileRef = 9BBC3E0155BC3F36F21F7EBB; }; + 4FC452CEC761FB0515E83B9C = {isa = PBXBuildFile; fileRef = C62300B9478B60BCBE254256; }; + 6790BEB5EE46E3DF6332536F = {isa = PBXBuildFile; fileRef = D4A815675983D742D87E37A5; }; + D4371AC9EBB0CA9B69C81C98 = {isa = PBXBuildFile; fileRef = FBDBBE33AEF062A1457DAA42; }; + 5EB3C30963D75E7D43D6AD9A = {isa = PBXBuildFile; fileRef = BA895F5D0FC2F40DA0566469; }; + 238A6E94B07DB483C42E0D18 = {isa = PBXBuildFile; fileRef = 3ED09149246BD2CC3D114FB1; }; + 8A7C3FEF41B5A5913396E7B1 = {isa = PBXBuildFile; fileRef = 7BE9659292437455B77D53F1; }; + 148EA191DA9D3066A3C4EEEC = {isa = PBXBuildFile; fileRef = 353C4A5B04236912332BDB1E; }; + BEE9A8C926B45616AC4426AB = {isa = PBXBuildFile; fileRef = 4DDD5CACDD472784437AB83C; }; + 0A0FD3B4C732A965C2642CC8 = {isa = PBXBuildFile; fileRef = C0C66A94FBDE992AAD71C698; }; + 978A2567AA64957C61694427 = {isa = PBXBuildFile; fileRef = C3B0CE7BC50EE3F20BB261EC; }; + 913CB51D1475C7F94739502A = {isa = PBXBuildFile; fileRef = D782993D6DAF0AF948A62517; }; + D54B744850AA08DC348CE8D8 = {isa = PBXBuildFile; fileRef = F07914AFCF34610BAC0D3B0B; }; + 938FA7CCB4CD0A844BE6509F = {isa = PBXBuildFile; fileRef = 757D9E8B34634C0E899922F9; }; + 003AAB5BFC9435FA4823BA2F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_win32_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 014A45F4DF5D4B850A2E712D = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_data_structures/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 015766ED6CD9D55279FC884A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Rectangle.h"; path = "../../../../modules/juce_graphics/geometry/juce_Rectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 019CD85E295A7290855D0C24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DialogWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 01B29765150B583E2460837C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarComponent.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 01D4F510A1EE5495A8A419C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPressMappingSet.h"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.h"; sourceTree = "SOURCE_ROOT"; }; + 01FC5A0075F643D703F56555 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.h"; sourceTree = "SOURCE_ROOT"; }; + 0411B541BEDEC5A67ECEAA31 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageCollector.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 046591508FC3F71F74126E81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 04F64700F41A639DA16732BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiBuffer.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 0557BAAD94B3B3AFAF7607EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiKeyboardState.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.cpp"; sourceTree = "SOURCE_ROOT"; }; + 05F871A5DA3290898E2EBFBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MathsFunctions.h"; path = "../../../../modules/juce_core/maths/juce_MathsFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + 06FB32F5B510DEC2A6D2FBCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Synthesiser.cpp"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0737A415932C93579574CE2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_formats.h"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.h"; sourceTree = "SOURCE_ROOT"; }; + 0769D44014FDF069ECA54115 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 07A41B027C9FC2A6DAC801F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_ASCII.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_ASCII.h"; sourceTree = "SOURCE_ROOT"; }; + 07E89C9A0EBF5FF6A0A05EA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0892B622D73826BB91C8E418 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0917DAAA83C16F4D430A4961 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiBuffer.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0950F9F7698F791C6BC7626A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilter.h"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 097B8DA5C29B16C544CEA626 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SpinLock.h"; path = "../../../../modules/juce_core/threads/juce_SpinLock.h"; sourceTree = "SOURCE_ROOT"; }; + 0B26EC9D2A47B858246A76EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDBurner.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDBurner.mm"; sourceTree = "SOURCE_ROOT"; }; + 0C2B705429E7587EB29AAD6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HashMap.h"; path = "../../../../modules/juce_core/containers/juce_HashMap.h"; sourceTree = "SOURCE_ROOT"; }; + 0C5D36923235127BEC48777C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 0C76BB6E3BA98DEED44473E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedValueSetter.h"; path = "../../../../modules/juce_core/containers/juce_ScopedValueSetter.h"; sourceTree = "SOURCE_ROOT"; }; + 0CB9B8098AB7F4CFF3991565 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UndoManager.cpp"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0CD440EC6D9EF66E117E3EBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Network.cpp"; path = "../../../../modules/juce_core/native/juce_android_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0D158239399CB7487C663168 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_JSON.h"; path = "../../../../modules/juce_core/javascript/juce_JSON.h"; sourceTree = "SOURCE_ROOT"; }; + 0D5008DFFC00B074A9970585 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FillType.h"; path = "../../../../modules/juce_graphics/colour/juce_FillType.h"; sourceTree = "SOURCE_ROOT"; }; + 0D79BD52315BE837BAD64A82 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; + 0E1CA391708ADDE3952BF147 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConnectedChildProcess.h"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + 0ED63C3FFD7B718988BDDAFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLExtensions.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGLExtensions.h"; sourceTree = "SOURCE_ROOT"; }; + 0F0458EF50C559CFF42DDC67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Random.h"; path = "../../../../modules/juce_core/maths/juce_Random.h"; sourceTree = "SOURCE_ROOT"; }; + 0F1752D7FC9D89588551D5C3 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 0F7BCDE5E324E86EEA86BA7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Logger.h"; path = "../../../../modules/juce_core/logging/juce_Logger.h"; sourceTree = "SOURCE_ROOT"; }; + 0F7EB01A494A7D2D347B9167 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPCompressorOutputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 108D2A323EA2D7B31289AFFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 10FB75AD59E8E2AEF38167B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorGraph.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.cpp"; sourceTree = "SOURCE_ROOT"; }; + 110D8C5EEF130FB1E1F7D286 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XMLCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 11614D602849B43F5ED92934 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; + 11F77DEDB8DDE2BC9B1DAB0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 121C4D9B35F16FF170A9D4E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../../../modules/juce_events/native/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 1233B57573AB9503E0625ECB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeDocument.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 12BD203CEA0CE311A5789BB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + 13FC99389707E91E7EB6D000 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicLibrary.h"; path = "../../../../modules/juce_core/threads/juce_DynamicLibrary.h"; sourceTree = "SOURCE_ROOT"; }; + 13FF137ABBAC726B7785FE0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_BufferingAudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 140AFDDDAB2B88153F46692E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Thread.cpp"; path = "../../../../modules/juce_core/threads/juce_Thread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 14254C2E6F168DB69F9F6494 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoManager.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoManager.h"; sourceTree = "SOURCE_ROOT"; }; + 144BF62327063E0017BB7B0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 14BAD66A370FA342144C7BFC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RSAKey.h"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.h"; sourceTree = "SOURCE_ROOT"; }; + 14BF2173D8CD3520B21E01E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Image.h"; path = "../../../../modules/juce_graphics/images/juce_Image.h"; sourceTree = "SOURCE_ROOT"; }; + 1542F586268CE982EE1C9607 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_OpenSL.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_OpenSL.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1565307D5DC70CAC563B579F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Image.cpp"; path = "../../../../modules/juce_graphics/images/juce_Image.cpp"; sourceTree = "SOURCE_ROOT"; }; + 160486C90F388089629BA392 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AbstractFifo.h"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.h"; sourceTree = "SOURCE_ROOT"; }; + 16094015FECE7F7A1EE6B751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF32.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF32.h"; sourceTree = "SOURCE_ROOT"; }; + 1633D4A7385E8AB77FB6723E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SliderPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 16421110FEB104E290E3F13C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInactivityDetector.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 168D70A9989ECA609D355DA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableHeaderComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 169C1D0433B29AF96A6FD27E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBasedDocument.cpp"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + 16D38AE110B44FE0D5E26F9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WindowsMediaAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 17077E8777B646C03C92D20B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BorderSize.h"; path = "../../../../modules/juce_graphics/geometry/juce_BorderSize.h"; sourceTree = "SOURCE_ROOT"; }; + 1742A7C8BB2AA11AE93DA43D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WavAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 1782B7FCE431430BD11700EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentDragger.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 179BD4E3BB66F7CC1747ADAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 17A033D6C28B1E76FA8BEFCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinate.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.cpp"; sourceTree = "SOURCE_ROOT"; }; + 17AB5E83E71D5864435A011B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Slider.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.cpp"; sourceTree = "SOURCE_ROOT"; }; + 18459D45EE3F7766AB932678 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PreferencesPanel.h"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 18E61768FC20A6C65CF73DA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_EdgeTable.h"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.h"; sourceTree = "SOURCE_ROOT"; }; + 198B97A4FB9B21A3357160C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BlowFish.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.cpp"; sourceTree = "SOURCE_ROOT"; }; + 19B1556541E4426450C8397C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_android_JNIHelpers.h"; path = "../../../../modules/juce_core/native/juce_android_JNIHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 1A366C1E8FF34F708C0AF994 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormatManager.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1A424A0B9D68C68CD5B075E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInputSource.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1AB2337020B7AA4AD329405A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1B0BEB542ED5BA84E52AEA2E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PopupMenu.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1BC364DFD3A975A0CBA0AC61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPositionBehaviours.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPositionBehaviours.h"; sourceTree = "SOURCE_ROOT"; }; + 1BDDC4F584BE877D4DC1ED90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListenerList.h"; path = "../../../../modules/juce_events/broadcasters/juce_ListenerList.h"; sourceTree = "SOURCE_ROOT"; }; + 1C02F9D8BEBC13937D8D9BAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableCornerComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1C196D0BC6B08623601273FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1CC05551F14FFC0161D8E12A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_AudioUnitPluginFormat.mm"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.mm"; sourceTree = "SOURCE_ROOT"; }; + 1CEAFFE79A9E1A1E32C2BFD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XMLCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_XMLCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 1D6EA6E2DC8F03826454F21D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComboBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.h"; sourceTree = "SOURCE_ROOT"; }; + 1DC4AC19C53D307B6007D02F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; + 1E07768DDE29F15BF4F32C48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyPress.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.h"; sourceTree = "SOURCE_ROOT"; }; + 1E21F56456B1A05606B1A328 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MountedVolumeListChangeDetector.h"; path = "../../../../modules/juce_events/messages/juce_MountedVolumeListChangeDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 1E6168E98312F552A0C57E54 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 1E7CA4A04A182412B3ECEBF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsSoftwareRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + 1ED3843AC8AC67374F6F5F77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 1F0F8E76A0B7D289D66C4101 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Path.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_Path.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1F6C3ACBB74CDDEBCBFCCA57 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 20A48C39E51031BF57458A55 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UnitTest.h"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.h"; sourceTree = "SOURCE_ROOT"; }; + 20F2CFC88281301E30E08682 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + 21273C209FE7E19C59952EE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiDocumentPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 21FAFC1D8D92872E96F56764 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Quaternion.h"; path = "../../../../modules/juce_opengl/geometry/juce_Quaternion.h"; sourceTree = "SOURCE_ROOT"; }; + 220732F05D2DEBC2ADF2D45C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeRectangle.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + 223B9626308B07EEEDA7C89F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FillType.cpp"; path = "../../../../modules/juce_graphics/colour/juce_FillType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 22B8E3336C2DA6F5DE3CE748 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_mac_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + 22D01A956BCD31F2C54E4E38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CharacterFunctions.cpp"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.cpp"; sourceTree = "SOURCE_ROOT"; }; + 23E996355EF7DFDCECA97B64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryIterator.cpp"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 23EA0178C7150CBA80E79215 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 23F1F8A1566366CCFAC8A5BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessage.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 24E54A22403128BA82D02B09 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Synthesiser.h"; path = "../../../../modules/juce_audio_basics/synthesisers/juce_Synthesiser.h"; sourceTree = "SOURCE_ROOT"; }; + 2517140ED8C0697A51CF87AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_URL.h"; path = "../../../../modules/juce_core/network/juce_URL.h"; sourceTree = "SOURCE_ROOT"; }; + 254F2F62D02E4B48191083CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_SystemStats.mm"; path = "../../../../modules/juce_core/native/juce_mac_SystemStats.mm"; sourceTree = "SOURCE_ROOT"; }; + 2553F95186E2565315E012CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; + 25B327FEFEA517FB80B16EA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OwnedArray.h"; path = "../../../../modules/juce_core/containers/juce_OwnedArray.h"; sourceTree = "SOURCE_ROOT"; }; + 260D03D00CBF739BB3A2F604 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationProperties.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.cpp"; sourceTree = "SOURCE_ROOT"; }; + 266A60D0C3095B8F7F16751E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 2740DD21925484E4BC243630 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseListener.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.h"; sourceTree = "SOURCE_ROOT"; }; + 274546C14A985F7D454E16B7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_android_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 274FB7736A16D65B40E1EA71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Misc.cpp"; path = "../../../../modules/juce_core/native/juce_android_Misc.cpp"; sourceTree = "SOURCE_ROOT"; }; + 275CF9CA5A34E2825DB8792C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarModel.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 279A6546016EEB8F9264EB39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Font.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Font.cpp"; sourceTree = "SOURCE_ROOT"; }; + 279D354D902DE91EB32B1BE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 27AB89D8B21801C1528F53C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathStrokeType.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 27C1C1AD957D9955A13E3A4E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; + 281ADBFFA54CFADAE46AAE79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooser.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.h"; sourceTree = "SOURCE_ROOT"; }; + 2822F9B316AEF7797E0F04B4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedAudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_MemoryMappedAudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 284C742F571D494237C52C2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectanglePlacement.h"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.h"; sourceTree = "SOURCE_ROOT"; }; + 28BF10B49B1D14FE05CBC5DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ShapeButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.h"; sourceTree = "SOURCE_ROOT"; }; + 28DEE4AF47201ED83DFD5875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_AudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 28ECC3EF6106E7DB0E4F256C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Reverb.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Reverb.h"; sourceTree = "SOURCE_ROOT"; }; + 2931E23782DDD4761EA6E711 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleMessageComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 293D0E58C45CE26287E99822 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModalComponentManager.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2951B1B0EE3CE714426016F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A274CF384892F3968889E0C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CompilerSupport.h"; path = "../../../../modules/juce_core/system/juce_CompilerSupport.h"; sourceTree = "SOURCE_ROOT"; }; + 2A5F9649D883210E5C67CEE4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2A765F108608FDD8B2089BD1 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_cryptography/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 2B594B1579F4770CA36E870C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PNGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_PNGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2BCD3C3BC90487E5B932FC98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LinkedListPointer.h"; path = "../../../../modules/juce_core/containers/juce_LinkedListPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 2BEA66F83F12716439729EEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReadWriteLock.cpp"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2BFABFBE400EBD477EEC1F7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + 2C4E26E2F6F3B5522CA9993E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_android_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2CB561058728D0EA3A66AF4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Typeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2CD2FBF66999807E0B86E0B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandID.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandID.h"; sourceTree = "SOURCE_ROOT"; }; + 2CE3A9187CAA637AAF93C273 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReverbAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 2D23BD941B1F4B65E5A2C2F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputStream.h"; path = "../../../../modules/juce_core/streams/juce_InputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 2D4DFDFFC93646E9C078865E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 2D6A1D77D896FF6DDD5EC49F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Component.h"; path = "../../../../modules/juce_gui_basics/components/juce_Component.h"; sourceTree = "SOURCE_ROOT"; }; + 2DA8BDECC570B976D34D9263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TreeView.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2DBFFAB8701557418A4C7CA2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormat.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 2E1213ABCA6E339D156C6825 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2E355DED51A6E9DFBFDA84CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterProcessLock.h"; path = "../../../../modules/juce_core/threads/juce_InterProcessLock.h"; sourceTree = "SOURCE_ROOT"; }; + 2E62B2A1D5FE20D7E675DC3F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_freetype_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_freetype_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 2EC200E7CF8C908AC3DF4416 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedPosition.h"; path = "../../../../modules/juce_gui_basics/layout/juce_AnimatedPosition.h"; sourceTree = "SOURCE_ROOT"; }; + 30CBDFC5F16FD990ABC2C486 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_graphics.h"; path = "../../../../modules/juce_graphics/juce_graphics.h"; sourceTree = "SOURCE_ROOT"; }; + 3134A6BDE49CF0D3F0B12FE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 31416E7F36800B9ACAEA176F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 317988D9466ECCE83B91CD24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_video.h"; path = "../../../../modules/juce_video/juce_video.h"; sourceTree = "SOURCE_ROOT"; }; + 3197F342A372898714E25F70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDiff.h"; path = "../../../../modules/juce_core/text/juce_TextDiff.h"; sourceTree = "SOURCE_ROOT"; }; + 31AF78DCC817DE98C01E1EEE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; + 31B42F889DD1C79540881B97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandManager.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.h"; sourceTree = "SOURCE_ROOT"; }; + 31CD83018DA7BED28A70EC1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Component.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Component.cpp"; sourceTree = "SOURCE_ROOT"; }; + 32940D3F55D43FA834DAD545 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Registry.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Registry.cpp"; sourceTree = "SOURCE_ROOT"; }; + 32CFACA9C637ABD27F8A874F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_android.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_android.h"; sourceTree = "SOURCE_ROOT"; }; + 32D11E8A57FD1B5250A5E493 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ZipFile.cpp"; path = "../../../../modules/juce_core/zip/juce_ZipFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 332346809620F9AFA7CF3D59 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Threads.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Threads.cpp"; sourceTree = "SOURCE_ROOT"; }; + 338C5E41B8903F0894709201 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_NSViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + 33B9E6212D92FB49C792ACE9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeParallelogram.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.cpp"; sourceTree = "SOURCE_ROOT"; }; + 33D5910744D9482DBA614144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ConcertinaPanel.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.h"; sourceTree = "SOURCE_ROOT"; }; + 33FDA12B0256C2A4BD51B11E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 342622E99E9622EDF376B782 = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Images.xcassets; path = OpenGLAppExample/Images.xcassets; sourceTree = "SOURCE_ROOT"; }; + 343BF0E7697F399B08D42CB7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BubbleComponent.h"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 34CBE9CCD9B23B1405C76D9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SubregionStream.h"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.h"; sourceTree = "SOURCE_ROOT"; }; + 353C4A5B04236912332BDB1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_data_structures.mm"; path = "../../../../modules/juce_data_structures/juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; + 3545CC1CCF501BDBFF528908 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ButtonPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 354636C92CDB97DAF80D1E6A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 355B143DFA326CC401844099 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ProgressBar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.h"; sourceTree = "SOURCE_ROOT"; }; + 355F2CA65E4117FDE2391872 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPool.cpp"; path = "../../../../modules/juce_core/text/juce_StringPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 35641C490EE335DDFF004FEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnection.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.cpp"; sourceTree = "SOURCE_ROOT"; }; + 356A77E7E341874950015BD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; + 35748B2B69B3A54D19679F3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePoint.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.h"; sourceTree = "SOURCE_ROOT"; }; + 3594634D87002997155671C1 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_formats/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 35B404161217DAE32CC143CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLGraphicsContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 360B3CDCB046B9D69C6F5ED4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativePointPath.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.h"; sourceTree = "SOURCE_ROOT"; }; + 36632604A700FC8F53169301 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Javascript.cpp"; path = "../../../../modules/juce_core/javascript/juce_Javascript.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3693D26AD61B3B089A2B9CEC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBuilder.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.h"; sourceTree = "SOURCE_ROOT"; }; + 36C81D39EEE59DF7D8AB0E0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageCollector.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiMessageCollector.h"; sourceTree = "SOURCE_ROOT"; }; + 37BD426B7B7DD8BB3EF562A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsDisplayComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 38043242051AD4996B081769 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Drawable.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.h"; sourceTree = "SOURCE_ROOT"; }; + 38A0CFC456FB82927DF8B990 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyListener.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.h"; sourceTree = "SOURCE_ROOT"; }; + 38ADFF5CB2DD15D371425F8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FlacAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3901027B107F1E3047BE9DAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertySet.cpp"; path = "../../../../modules/juce_core/containers/juce_PropertySet.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3935FEBDBA2F8025F602042C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HyperlinkButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 393EA74C63AFA103F5F3264B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLImage.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.h"; sourceTree = "SOURCE_ROOT"; }; + 3948321FE783006946DC8F1F = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + 396986DB8689B7C6909777E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ZipFile.h"; path = "../../../../modules/juce_core/zip/juce_ZipFile.h"; sourceTree = "SOURCE_ROOT"; }; + 39CD252C183BBF175E1C0602 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConcertinaPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ConcertinaPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 39DAB20FE9D55152EB2D224A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImagePreviewComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 39E15EA7A7D5C14DC2567263 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DynamicObject.cpp"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3A52ADB8D2B72A1E6F455ABA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPress.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyPress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3A5C86CF6276058B0D5AC399 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3A8EA18FCAE5801EF1AECC06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3AC4E835893B368AD0A3A30F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CoreAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 3AD3CC5787E119E3A1F6A55F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OutputStream.h"; path = "../../../../modules/juce_core/streams/juce_OutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 3B172600E3C05D62F424449B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LuaCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3B2C9FC5B754F29B4BFF7EA9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsDisplayComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsDisplayComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3B3B1BB15DFF71215E86A175 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3B3FC34DE0D784314690A93C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_ios_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + 3B719AB087869724229AF10D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LagrangeInterpolator.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3B883BA33260250D6C443F87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3C90895F90CF6FA4714DBF6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CodeEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3CCB2447E4FA1C412FEEE551 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnectionServer.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.h"; sourceTree = "SOURCE_ROOT"; }; + 3CF6CC164ED4826B4DF73177 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextLayout.h"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.h"; sourceTree = "SOURCE_ROOT"; }; + 3D26B83681D1E47ADFB2D8A9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeMovieComponent.h"; path = "../../../../modules/juce_video/playback/juce_QuickTimeMovieComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3DCD8AA2FF25FBE6919E8F64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Logger.cpp"; path = "../../../../modules/juce_core/logging/juce_Logger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3DF5CBEC136D13446079C001 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; + 3E157C0C9F33470C32DE6008 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReaderSource.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.h"; sourceTree = "SOURCE_ROOT"; }; + 3E22FC06C346385E732377C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableBorderComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 3E3D664A12153D29FC1D42ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Expression.h"; path = "../../../../modules/juce_core/maths/juce_Expression.h"; sourceTree = "SOURCE_ROOT"; }; + 3E5E15C429B5D8BDA6815193 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Toolbar.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.h"; sourceTree = "SOURCE_ROOT"; }; + 3E85ACEDFE88D01251E25E24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LeakedObjectDetector.h"; path = "../../../../modules/juce_core/memory/juce_LeakedObjectDetector.h"; sourceTree = "SOURCE_ROOT"; }; + 3EA7A5F6F6D13A68653F06E8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_File.h"; path = "../../../../modules/juce_core/files/juce_File.h"; sourceTree = "SOURCE_ROOT"; }; + 3ECBCBB5D76AD9DDE65BD81A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedPipe.h"; path = "../../../../modules/juce_core/network/juce_NamedPipe.h"; sourceTree = "SOURCE_ROOT"; }; + 3ED09149246BD2CC3D114FB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_core.mm"; path = "../../../../modules/juce_core/juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; + 3F02F103D0EA0D398FA2A95D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Desktop.h"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.h"; sourceTree = "SOURCE_ROOT"; }; + 3F20765E456B1B8FF59C2461 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F312C95E458F86E5D814AD3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourSelector.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F32203D512AD417AE3548E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3F57F6B58B93E88A29F90809 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawablePath.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 3FB32BF0AB8E9BD398E92361 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_opengl/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 406587D828CD424333E55C81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinatePositioner.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.h"; sourceTree = "SOURCE_ROOT"; }; + 40ACA092AB6B933E39268DAF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 40E971224B83783243521871 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DragAndDropContainer.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 410C72660348DFD81F81386C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDBurner.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDBurner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4142E8BA365FE77662B11891 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + 417D4A3533F8C72814441F51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputSource.h"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 41D42F7438B6C953A2DC5038 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Path.h"; path = "../../../../modules/juce_graphics/geometry/juce_Path.h"; sourceTree = "SOURCE_ROOT"; }; + 41F9BAD0BC589CC46CFEF495 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Random.cpp"; path = "../../../../modules/juce_core/maths/juce_Random.cpp"; sourceTree = "SOURCE_ROOT"; }; + 426B31F8A63727D575B2C782 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryContentsList.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.h"; sourceTree = "SOURCE_ROOT"; }; + 4271A817DD6497D0023C43A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GlyphArrangement.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 427EF6B8A919A04D12F63829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageManager.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + 42AE889B4D596FF23E2D77CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemClipboard.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_SystemClipboard.h"; sourceTree = "SOURCE_ROOT"; }; + 434AB1A1510034290ED3FBA8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4391785C112C65C6C1F4E05A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadWithProgressWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4411214CB9D7F986DA5A92FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertiesFile.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.h"; sourceTree = "SOURCE_ROOT"; }; + 4421B5629FD22618255E5539 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DynamicObject.h"; path = "../../../../modules/juce_core/containers/juce_DynamicObject.h"; sourceTree = "SOURCE_ROOT"; }; + 449FC2FAA282C731A58D51E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; + 44EFBCE30DD206F4A55E4E81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AlertWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 45693266645F0549AD1FEA88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioTransportSource.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.h"; sourceTree = "SOURCE_ROOT"; }; + 46258D3B622AB0E2EF63F709 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SparseSet.h"; path = "../../../../modules/juce_core/containers/juce_SparseSet.h"; sourceTree = "SOURCE_ROOT"; }; + 4660BCF2E3BB5D499FA4A5EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryBlock.cpp"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4676425D91097FBD1689298C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemFactory.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemFactory.h"; sourceTree = "SOURCE_ROOT"; }; + 4683DEED4D9E52F0A84FCEE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + 46F845FD963442D8748D3261 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PixelFormats.h"; path = "../../../../modules/juce_graphics/colour/juce_PixelFormats.h"; sourceTree = "SOURCE_ROOT"; }; + 4717C14F84229B39FA2FA86B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_android_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 473E98AA655246EECA75EDD1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_GlowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + 47E94C2476E8A7171A484CF0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSampleBuffer.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 4825BC8A3502320ED671408E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; }; + 48285F283B8D98122DB9D028 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDescription.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.cpp"; sourceTree = "SOURCE_ROOT"; }; + 484ACD3191DB5BEB198EEF97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SelectedItemSet.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_SelectedItemSet.h"; sourceTree = "SOURCE_ROOT"; }; + 489D9B3F2489315DBF5C552E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Application.h"; path = "../../../../modules/juce_gui_basics/application/juce_Application.h"; sourceTree = "SOURCE_ROOT"; }; + 48FCAA413FA6EC7E02B33A6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPool.h"; path = "../../../../modules/juce_core/text/juce_StringPool.h"; sourceTree = "SOURCE_ROOT"; }; + 49837BCC6CD64D108AA3E37D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBuilder.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBuilder.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4AB3D9133A3357A3FDAD3BB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_HighResolutionTimer.cpp"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4AB453F1DFC4EA7AE058B0EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4ADEE86E1B443E58DA6A90FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KnownPluginList.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4B409B90CC47BF0477D7F6E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TreeView.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TreeView.h"; sourceTree = "SOURCE_ROOT"; }; + 4BF34287391AB2ED382C9CB2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MainMenu.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MainMenu.mm"; sourceTree = "SOURCE_ROOT"; }; + 4C57FEDA7D19BB3D05326948 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemTrayIconComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4C9A8BA6A094DC3490CF25B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableObjectResizer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.h"; sourceTree = "SOURCE_ROOT"; }; + 4CAE848C3F30163816E921DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MD5.h"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.h"; sourceTree = "SOURCE_ROOT"; }; + 4D95426C0ADAF01F92462C1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorListener.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorListener.h"; sourceTree = "SOURCE_ROOT"; }; + 4DDD5CACDD472784437AB83C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; + 4E053EF00EC72441FCC9A6ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLPixelFormat.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4E4A47F8BEEF90A57C0C98C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Sampler.h"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.h"; sourceTree = "SOURCE_ROOT"; }; + 4EBBA20040624174084744DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ValueTree.cpp"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F70D57A0CFEEC0D7FADCB9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4F9D0FABF1E74572460D086C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLImage.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4FBA6C32DE977B1330BAD5DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyboardFocusTraverser.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.h"; sourceTree = "SOURCE_ROOT"; }; + 50151F5E1EA38C0768AD9AC8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + 502503CB0C00102976DF1023 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 506DE1D3A739746007E33852 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AttributedString.h"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.h"; sourceTree = "SOURCE_ROOT"; }; + 509031D02C057DCD1F713B6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StandardHeader.h"; path = "../../../../modules/juce_core/system/juce_StandardHeader.h"; sourceTree = "SOURCE_ROOT"; }; + 509FC03682CA45E87F7E0A67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSubsectionReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.h"; sourceTree = "SOURCE_ROOT"; }; + 50CAEE20832DF292261BF105 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MixerAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 51626197E6CE921E472AFCA1 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; + 51713BEF84B3A58844692401 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionListener.h"; sourceTree = "SOURCE_ROOT"; }; + 51C3B7D6330C765ADFB672FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioSourcePlayer.h"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.h"; sourceTree = "SOURCE_ROOT"; }; + 51FDDE6DD9DC3FB98747A0E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_linux_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 52057B317B0FC98209D5BEC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPlayHead.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPlayHead.h"; sourceTree = "SOURCE_ROOT"; }; + 525E733E59BB89937210A34E = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + 52B122DC1886502CCCD16ED2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableEdgeComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5375E8C69E76D1570BE36946 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryOutputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 53890D1A9DE3751F3A19C3C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; + 541C3E9F5E720BF6D99D94CD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DirectoryContentsList.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_DirectoryContentsList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 546D112DEC6A685B52E4D7AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileBrowserComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 54B30BCC43C6CBF57A69A654 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InterprocessConnection.h"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnection.h"; sourceTree = "SOURCE_ROOT"; }; + 54E56E35A31C662C67992C7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Direct2DGraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_Direct2DGraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5576ADF82B58BDBBCC75477C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageManager.h"; path = "../../../../modules/juce_events/messages/juce_MessageManager.h"; sourceTree = "SOURCE_ROOT"; }; + 55C1F41C94C7C8ED73FC3288 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_File.cpp"; path = "../../../../modules/juce_core/files/juce_File.cpp"; sourceTree = "SOURCE_ROOT"; }; + 56C0EB0C9E4089ACA44588E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MD5.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_MD5.cpp"; sourceTree = "SOURCE_ROOT"; }; + 56C2444E299E030DE7243C7D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeRectangle.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 56CAE507F1D59D551C26B998 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Time.cpp"; path = "../../../../modules/juce_core/time/juce_Time.cpp"; sourceTree = "SOURCE_ROOT"; }; + 575F4E371F82188902F74A96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPath.h"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.h"; sourceTree = "SOURCE_ROOT"; }; + 5784477EFEEAAD041BDF34D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileLogger.h"; path = "../../../../modules/juce_core/logging/juce_FileLogger.h"; sourceTree = "SOURCE_ROOT"; }; + 5789E773C615D393363707C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Primes.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.cpp"; sourceTree = "SOURCE_ROOT"; }; + 57FE8CC6D36C0376D4065444 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Files.cpp"; path = "../../../../modules/juce_core/native/juce_android_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + 58301731C17BEF7BF07541AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeListener.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeListener.h"; sourceTree = "SOURCE_ROOT"; }; + 5848A09E20AA6FE9EF1E6898 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ShapeButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ShapeButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + 58C9B8F93CF63036CA33A6C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VST3PluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5989B7979A4446D163FD7E13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ByteOrder.h"; path = "../../../../modules/juce_core/memory/juce_ByteOrder.h"; sourceTree = "SOURCE_ROOT"; }; + 59B2E8822B445FDD2BC590B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 59C461E6BF35CEC17FB2C9DC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Primes.h"; path = "../../../../modules/juce_cryptography/encryption/juce_Primes.h"; sourceTree = "SOURCE_ROOT"; }; + 5AFAF9A5651C30F1FF28A76A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_osx.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_osx.h"; sourceTree = "SOURCE_ROOT"; }; + 5B546C6ED44CAF4197788BC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BooleanPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 5B5D589850B147BE94D01D42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipClient.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TooltipClient.h"; sourceTree = "SOURCE_ROOT"; }; + 5BB4A463E17E9C4AD5F43FFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferedInputStream.h"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 5BD5301D9DFF3CEA10C32DBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BlowFish.h"; path = "../../../../modules/juce_cryptography/encryption/juce_BlowFish.h"; sourceTree = "SOURCE_ROOT"; }; + 5BF81A5EBE596AB3F3E4C222 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Windowing.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_Windowing.mm"; sourceTree = "SOURCE_ROOT"; }; + 5C51BB323073B2AD0320825A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Time.h"; path = "../../../../modules/juce_core/time/juce_Time.h"; sourceTree = "SOURCE_ROOT"; }; + 5CD7B0F647F366AC5510A13E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlElement.h"; path = "../../../../modules/juce_core/xml/juce_XmlElement.h"; sourceTree = "SOURCE_ROOT"; }; + 5CE4484E6BAB76C9B49E6ADE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HyperlinkButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_HyperlinkButton.h"; sourceTree = "SOURCE_ROOT"; }; + 5CF8CAB948FAAB9164F206B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5D998A4BC436D82C3A6E8606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NormalisableRange.h"; path = "../../../../modules/juce_core/maths/juce_NormalisableRange.h"; sourceTree = "SOURCE_ROOT"; }; + 5F43D23FA8A72E66792AE5C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5F49099628EF3662332FDB0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AiffAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 5F6BDD2491C4086940AAE045 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 60359F3EE85F679C1D118136 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutManager.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.h"; sourceTree = "SOURCE_ROOT"; }; + 60B2BAA3043C667FE98E94CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_String.h"; path = "../../../../modules/juce_core/text/juce_String.h"; sourceTree = "SOURCE_ROOT"; }; + 60F110007A8248E4318D9B0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadower.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61448959C09144CC093AA715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; + 61596F68A47C4BEA8F9A4D68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableText.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.h"; sourceTree = "SOURCE_ROOT"; }; + 619377E030188B909977D85B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDReader.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDReader.h"; sourceTree = "SOURCE_ROOT"; }; + 61C1B6B3336D774EAE4994F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DocumentWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 623C7B6BD0B564F60F1F4012 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationProperties.h"; path = "../../../../modules/juce_data_structures/app_properties/juce_ApplicationProperties.h"; sourceTree = "SOURCE_ROOT"; }; + 62935FD655DDDCE70536555F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandTarget.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.cpp"; sourceTree = "SOURCE_ROOT"; }; + 62ABA7CF7D0CE2D7B3F7BFCD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiOutput.cpp"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.cpp"; sourceTree = "SOURCE_ROOT"; }; + 62F8069EE12495D7BDF5BCCB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentMovementWatcher.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6364C602FBB1C4D7915DF708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Uuid.h"; path = "../../../../modules/juce_core/misc/juce_Uuid.h"; sourceTree = "SOURCE_ROOT"; }; + 6436F4F5D143E72BD77EE053 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToolbarButton.h"; sourceTree = "SOURCE_ROOT"; }; + 6536E6457A8B77FDCC506401 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Button.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6549876733A874A58F78CE78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_UnitTest.cpp"; path = "../../../../modules/juce_core/unit_tests/juce_UnitTest.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6555D39D3BE572E611DCA8EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ButtonPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ButtonPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 656CA5CB0EF44C76ACFFDCEA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_linux_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + 661DA0426C81D826ADA90BAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResamplingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 663F74D8282001BEA5E93096 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 665600E48FF051CFE90C698D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ModifierKeys.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.cpp"; sourceTree = "SOURCE_ROOT"; }; + 66634B351B20F6B1F16ED9D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; + 66B35673D58EF4ABC6C50824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiDataConcatenator.h"; path = "../../../../modules/juce_audio_devices/native/juce_MidiDataConcatenator.h"; sourceTree = "SOURCE_ROOT"; }; + 66CFF6B31868957CCF9A1C68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDirectoryScanner.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.h"; sourceTree = "SOURCE_ROOT"; }; + 67066EE59E69BCD634D38ABA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TableListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 671B91E2FBEFF3E1A411B28A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OptionalScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_OptionalScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 67239C8DF5524A278253F181 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileInputStream.h"; path = "../../../../modules/juce_core/files/juce_FileInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + 673396F4BEBFE86BF911DBB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SortedSet.h"; path = "../../../../modules/juce_core/containers/juce_SortedSet.h"; sourceTree = "SOURCE_ROOT"; }; + 6741B65B42E9858C7B580A36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + 67B47838D621A526D8148308 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RecentlyOpenedFilesList.h"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.h"; sourceTree = "SOURCE_ROOT"; }; + 6894AE00A49D15E9C4A31355 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CameraDevice.mm"; path = "../../../../modules/juce_video/native/juce_mac_CameraDevice.mm"; sourceTree = "SOURCE_ROOT"; }; + 68C292BF84E3387285884015 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_QuickTimeAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 68E2ACE653CDFA7D1EFBCB37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MixerAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_MixerAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 694EB6B22E35E09B6AB43EE2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6960FFB28F8600D605CEBEBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChannelRemappingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 69AE98AB9502B4B4E7EBCD60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WavefrontObjParser.h; path = ../../Source/Resources/WavefrontObjParser.h; sourceTree = "SOURCE_ROOT"; }; + 69CA413A66B0EA204C1AFF4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModifierKeys.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_ModifierKeys.h"; sourceTree = "SOURCE_ROOT"; }; + 69F89AFBA54B48038B47DDED = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6A972E2430F4B2D9A07D44D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NotificationType.h"; path = "../../../../modules/juce_events/messages/juce_NotificationType.h"; sourceTree = "SOURCE_ROOT"; }; + 6AA216A8B8EF4E181BCD96A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ScrollBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6AC21250C86C558A82EE3B25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_String.cpp"; path = "../../../../modules/juce_core/text/juce_String.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6B107438F2E31C0BF985A733 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Identifier.h"; path = "../../../../modules/juce_core/text/juce_Identifier.h"; sourceTree = "SOURCE_ROOT"; }; + 6B43A5B75AB87FC3CA8D05D3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MP3AudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 6B5BE388D982E05CD2C7BE10 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; + 6B5D185CB49DC6746B357183 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDataConverters.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.h"; sourceTree = "SOURCE_ROOT"; }; + 6BC5C181AD876196213378C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageCache.h"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.h"; sourceTree = "SOURCE_ROOT"; }; + 6C3B851F65AB406E5B6CAF7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileTreeComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 6C4A5B3781D999AFA15F1016 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Viewport.h"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.h"; sourceTree = "SOURCE_ROOT"; }; + 6C5F536D935CF788C07424CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6C8C142D26BAD246C4ECC102 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_video/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 6C91F33E01BD39630B255C47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6CDDF198D9632DA763449E05 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + 6CE60A4F64042BC1A2391987 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTouchMapper.h"; path = "../../../../modules/juce_gui_basics/native/juce_MultiTouchMapper.h"; sourceTree = "SOURCE_ROOT"; }; + 6CF6624AD370E4716D42CEDF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RectanglePlacement.cpp"; path = "../../../../modules/juce_graphics/placement/juce_RectanglePlacement.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D1D3AFCBD704E2E3A9AB0D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CaretComponent.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D3191834A1567C5C18A13AA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6D36D69499FD940CAD1E7484 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReadWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ReadWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + 6D9EBBDDFD2AF922A6947057 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginDirectoryScanner.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginDirectoryScanner.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6DC6E88C0FC0045CD52064F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; + 6DEF5E5D162E4F32631FE2D7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Message.h"; path = "../../../../modules/juce_events/messages/juce_Message.h"; sourceTree = "SOURCE_ROOT"; }; + 6E35055BA3436FC2F9B77365 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageConvolutionKernel.h"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.h"; sourceTree = "SOURCE_ROOT"; }; + 6EAF92417BE40684D0FAA797 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextDiff.cpp"; path = "../../../../modules/juce_core/text/juce_TextDiff.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F0A25914D95D4F547F91C79 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLTexture.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6F974A4B1AC400251425C8CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemPalette.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.cpp"; sourceTree = "SOURCE_ROOT"; }; + 6FA9A28DB80D43E87900A1B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; }; + 70407DF33563B729D4758A17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertyPanel.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7049C408D43D64C1504F6505 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScrollBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ScrollBar.h"; sourceTree = "SOURCE_ROOT"; }; + 7063B929C5E98B803E0464EE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DeletedAtShutdown.h"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.h"; sourceTree = "SOURCE_ROOT"; }; + 70687CABD6ABBC69E717B73D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODevice.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7069BF224A795890367AB809 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Label.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.cpp"; sourceTree = "SOURCE_ROOT"; }; + 70C9E5BB2C3C4F1314DD8F4B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MACAddress.h"; path = "../../../../modules/juce_core/network/juce_MACAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 7109E1D6A2AD7A013453C922 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 71159E965AD35ED1496B5866 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginListComponent.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 7156B58188258F7EBE617E15 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CPlusPlusCodeTokeniser.cpp"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.cpp"; sourceTree = "SOURCE_ROOT"; }; + 71F494877324567960FC3F84 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringArray.h"; path = "../../../../modules/juce_core/text/juce_StringArray.h"; sourceTree = "SOURCE_ROOT"; }; + 7207669F41206DC961E08FD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Windowing.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Windowing.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7246A65F3B8646D764F3A355 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropContainer.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropContainer.h"; sourceTree = "SOURCE_ROOT"; }; + 72694B9BC870AF124976586F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorParameter.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorParameter.h"; sourceTree = "SOURCE_ROOT"; }; + 72723038519B5AB5FFB52EB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectShowComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_DirectShowComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 72B3FF3E4E9060A4F06F89F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 72E1B34915000641B7AD80EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_CommonFile.cpp"; path = "../../../../modules/juce_core/native/juce_linux_CommonFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + 73636C4935CD275E66A85104 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CoreAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_CoreAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 73861DEE4EEBFF77B6293F90 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + 7392F4B60E4E28A340E465BE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextPropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_TextPropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 73B62E5AA67F4B0483ED680F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UndoableAction.h"; path = "../../../../modules/juce_data_structures/undomanager/juce_UndoableAction.h"; sourceTree = "SOURCE_ROOT"; }; + 740AFAC150EAC7E6A6D6E6FA = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 74E1A5ECBC09930A520D1A98 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseInputSource.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 74E37866C31A35A559E1E80D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 757D9E8B34634C0E899922F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_video.mm"; path = "../../../../modules/juce_video/juce_video.mm"; sourceTree = "SOURCE_ROOT"; }; + 7581EDAFA0B1746EC8139077 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ResizableWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 759899A48CDE9705331F456E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageComponent.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 75A8F56B635DA7158E472382 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = MainComponent.cpp; path = ../../Source/MainComponent.cpp; sourceTree = "SOURCE_ROOT"; }; + 75CD7766A1ACC3BA17C8B73B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLFrameBuffer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.h"; sourceTree = "SOURCE_ROOT"; }; + 7609867A9F36324EA1C9F228 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeTime.h"; path = "../../../../modules/juce_core/time/juce_RelativeTime.h"; sourceTree = "SOURCE_ROOT"; }; + 76372445FC076FB8D26CEEC4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallOutBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.h"; sourceTree = "SOURCE_ROOT"; }; + 7703A0B63AFF2C5FE9587CBF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioCDBurner.h"; path = "../../../../modules/juce_audio_devices/audio_cd/juce_AudioCDBurner.h"; sourceTree = "SOURCE_ROOT"; }; + 7712C8260E9F4A7C2BD9FD63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPath.cpp"; path = "../../../../modules/juce_core/files/juce_FileSearchPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + 773BD1E9176FB073B71705A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedPointer.h"; path = "../../../../modules/juce_core/memory/juce_ScopedPointer.h"; sourceTree = "SOURCE_ROOT"; }; + 774B3CFCF0748FE9E5EA4597 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WavAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_WavAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 776FC3A674D9CCD21CB2D7A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CaretComponent.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_CaretComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 77802A78E9D43C940C14B0BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentAnimator.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp"; sourceTree = "SOURCE_ROOT"; }; + 77A353D0E709D31E3BE00A8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; + 77BAA6C13A52BE0F0A42FD0E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_ios_UIViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + 783C910D9B34E33F4C7D270F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; + 78C9531A81D34333AEF14019 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChoicePropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 791D605377E089529EA264D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileLogger.cpp"; path = "../../../../modules/juce_core/logging/juce_FileLogger.cpp"; sourceTree = "SOURCE_ROOT"; }; + 793E09206EDE78138AB56CC5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GIFLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_GIFLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + 794DEE7E5CC51940507F676F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 795DBB9CDC6751C052A03827 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 79728934D091CBA959AD2B20 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AppleRemote.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_AppleRemote.mm"; sourceTree = "SOURCE_ROOT"; }; + 7987CDDDE250EA56F0B26A0F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileChooserDialogBox.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.h"; sourceTree = "SOURCE_ROOT"; }; + 79A01A9B8A17C9419EBC5F73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StretchableLayoutResizerBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.h"; sourceTree = "SOURCE_ROOT"; }; + 79F7E702E92F8B23B6BCA74E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileOutputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7A76BF61E569CCC96B9E16DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Socket.h"; path = "../../../../modules/juce_core/network/juce_Socket.h"; sourceTree = "SOURCE_ROOT"; }; + 7A9C6994055A82AFC438626A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessageSequence.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.h"; sourceTree = "SOURCE_ROOT"; }; + 7B1C3855706B615C704556DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToneGeneratorAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 7B751B8BF3344D7C0980DAD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_JackAudio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_JackAudio.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7B7B6659C2DD68F2373F9D3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MACAddress.cpp"; path = "../../../../modules/juce_core/network/juce_MACAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7BAEC8D30E310460FB3FC406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Expression.cpp"; path = "../../../../modules/juce_core/maths/juce_Expression.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7BD85F5BFF691F3E548BC8B3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileFilter.h"; path = "../../../../modules/juce_core/files/juce_FileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + 7BE9659292437455B77D53F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_cryptography.mm"; path = "../../../../modules/juce_cryptography/juce_cryptography.mm"; sourceTree = "SOURCE_ROOT"; }; + 7C2A56B41F84CF25DC4D7C7F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleMessageComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_BubbleMessageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7C388E6394CB0A8C4C919751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedButtonBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7CD48F7A63EA97AF58ED7C5F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 7D15374142A01E2760AC4818 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GroupComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7D21460B496E5E03FA58654B = {isa = PBXFileReference; lastKnownFileType = file.obj; name = teapot.obj; path = ../../Source/Resources/teapot.obj; sourceTree = "SOURCE_ROOT"; }; + 7DDF23FA0DDE4FCFB121CA68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = "SOURCE_ROOT"; }; + 7E278ACE0E80F59FBEB3122F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7E5D04471A75DF9057A4D73E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Justification.h"; path = "../../../../modules/juce_graphics/placement/juce_Justification.h"; sourceTree = "SOURCE_ROOT"; }; + 7EEFCCCD23C883F6B797834E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Point.h"; path = "../../../../modules/juce_graphics/geometry/juce_Point.h"; sourceTree = "SOURCE_ROOT"; }; + 80465B70BFD2A13EDB18B702 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeEditorComponent.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 80648C9ABD2B763398568A0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GenericAudioProcessorEditor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.h"; sourceTree = "SOURCE_ROOT"; }; + 80A6B9266A11D6977AD84546 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ImageButton.h"; sourceTree = "SOURCE_ROOT"; }; + 80BE3657BDC9B08AB3570055 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Identifier.cpp"; path = "../../../../modules/juce_core/text/juce_Identifier.cpp"; sourceTree = "SOURCE_ROOT"; }; + 80C983055BC197AE9FEF51D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; + 81556F6E103D6843193EA1EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_DragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + 816CA082336A8BC8A9AA61BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeCoordinate.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinate.h"; sourceTree = "SOURCE_ROOT"; }; + 819B5DAEB3840F04881F7CBD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatReader.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.h"; sourceTree = "SOURCE_ROOT"; }; + 82327EBDDBDE6104A0FFE08D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IPAddress.h"; path = "../../../../modules/juce_core/network/juce_IPAddress.h"; sourceTree = "SOURCE_ROOT"; }; + 82443CD4F42884B9D33A85EA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Main.cpp; path = ../../Source/Main.cpp; sourceTree = "SOURCE_ROOT"; }; + 83619BFC8B92A2B5F17F596C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + 838BB45D693ED0AAD43B93C3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Draggable3DOrientation.h"; path = "../../../../modules/juce_opengl/geometry/juce_Draggable3DOrientation.h"; sourceTree = "SOURCE_ROOT"; }; + 83C4DBF3382367051A65FF4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SystemStats.cpp"; path = "../../../../modules/juce_core/system/juce_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + 842FF0D158A48BD9C1651800 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringPairArray.h"; path = "../../../../modules/juce_core/text/juce_StringPairArray.h"; sourceTree = "SOURCE_ROOT"; }; + 844820FE23753AF260B13D1D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; + 850622AD96A6D025EC1E832D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LassoComponent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_LassoComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 850E016A9EA33CDCF888D7AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResamplingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ResamplingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + 85379D9BB0BA7D60CFF83DC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsPostScriptRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 853E685A7CBF56CB4A532768 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 856F3C72739BD34C8CA40F3A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadWithProgressWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ThreadWithProgressWindow.h"; sourceTree = "SOURCE_ROOT"; }; + 8594A236A434383AA96AEB53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.h"; sourceTree = "SOURCE_ROOT"; }; + 8768714C4890B02A1719AC89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODevice.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODevice.h"; sourceTree = "SOURCE_ROOT"; }; + 876EE7E42127474428BE3BFF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CallOutBox.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_CallOutBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 87C173B4D57F00E5523D3395 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BooleanPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_BooleanPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 87EBB9223B9943D09D0ABA97 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsContext.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 88060C7661160C61E794D2B1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedButtonBar.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedButtonBar.h"; sourceTree = "SOURCE_ROOT"; }; + 880A65D7F29BF8701826BF81 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; }; + 887EE77979249B8A3E7C2C49 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_events.h"; path = "../../../../modules/juce_events/juce_events.h"; sourceTree = "SOURCE_ROOT"; }; + 88EB915831B819EC3B7B124E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLGraphicsContext.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + 89CC7514E6F2628CE82591BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CodeDocument.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CodeDocument.h"; sourceTree = "SOURCE_ROOT"; }; + 8A011075C19F974A22685EAA = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TimeSliceThread.cpp"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8A67491E410C9DB6523DABF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrayAllocationBase.h"; path = "../../../../modules/juce_core/containers/juce_ArrayAllocationBase.h"; sourceTree = "SOURCE_ROOT"; }; + 8B743E5BA29E435BACFE17BB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colours.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colours.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8BA590FF6DD42B77C70BA092 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ListBox.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.h"; sourceTree = "SOURCE_ROOT"; }; + 8BD7E643486B7C1968E68D51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiMessageSequence.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessageSequence.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C4045D24297D10F0EC9348F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyMappingEditorComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8C69B0700CBEF4AAD6F41B08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FloatVectorOperations.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8D11B58353EBDC8EBE9C641D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8D330180BEC5572287AB158A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentMovementWatcher.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentMovementWatcher.h"; sourceTree = "SOURCE_ROOT"; }; + 8D57423CD5A1B516B5374499 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Viewport.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_Viewport.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8DBDCF6753B9AE327FC8E382 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandInfo.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.h"; sourceTree = "SOURCE_ROOT"; }; + 8DFA760FAD9756305F9C7515 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V3.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.h"; sourceTree = "SOURCE_ROOT"; }; + 8E06EBA4362C66A9040A2EC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TimeSliceThread.h"; path = "../../../../modules/juce_core/threads/juce_TimeSliceThread.h"; sourceTree = "SOURCE_ROOT"; }; + 8E0D42B79853ED7FC60F931B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VSTMidiEventList.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTMidiEventList.h"; sourceTree = "SOURCE_ROOT"; }; + 8F5EC320CBE18D8923C7D3EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ColourGradient.cpp"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8F81943FE96DB8DD0ABB9DF7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JSON.cpp"; path = "../../../../modules/juce_core/javascript/juce_JSON.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8F9A2F59A71422296C56C8A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChangeBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8FA29927B18439A066241F38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PerformanceCounter.cpp"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8FAA47BE39D087684520C15F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; + 8FFF7C1572807209B9A8A08D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComboBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ComboBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 907D08843439A347B3E2A869 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Initialisation.h"; path = "../../../../modules/juce_events/messages/juce_Initialisation.h"; sourceTree = "SOURCE_ROOT"; }; + 91A5A6A217FA091F2ADBE3C5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageFileFormat.h"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 92655A59F40624CBDA9194B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLPixelFormat.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLPixelFormat.h"; sourceTree = "SOURCE_ROOT"; }; + 92C99A9D9E9BCABE2AE26B9C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + 92E26ABEFD096B05F99EE036 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableEdgeComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableEdgeComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 942393EC874CEC183B67641C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentListener.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 94D011BBB3D330AEDAC86D11 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NativeMessageBox.h"; path = "../../../../modules/juce_gui_basics/windows/juce_NativeMessageBox.h"; sourceTree = "SOURCE_ROOT"; }; + 966F24941F855EA74A2A8914 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LADSPAPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + 972D271918F957FB6FCD6CFB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_InputSource.h"; path = "../../../../modules/juce_core/streams/juce_InputSource.h"; sourceTree = "SOURCE_ROOT"; }; + 975BBC01D0C62E087E6246ED = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF8.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF8.h"; sourceTree = "SOURCE_ROOT"; }; + 976CA25A81DCEEA8E07D2508 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PluginListComponent.cpp"; path = "../../../../modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + 976E37CE9482096F8A82A8CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StringPairArray.cpp"; path = "../../../../modules/juce_core/text/juce_StringPairArray.cpp"; sourceTree = "SOURCE_ROOT"; }; + 97C71C2DD318EDB304FC1CEB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_gui_extra/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 983FBC7E850263512E41D13D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReaderSource.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReaderSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + 985C549EBDB26AF7BFD6E8A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CameraDevice.h"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.h"; sourceTree = "SOURCE_ROOT"; }; + 9986CD0D1752D063F3DC2652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseInactivityDetector.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseInactivityDetector.cpp"; sourceTree = "SOURCE_ROOT"; }; + 99BF73D0D5B995E84BAB52B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToolbarItemPalette.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemPalette.h"; sourceTree = "SOURCE_ROOT"; }; + 9A67CA8503FB1E02090F5FAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioIODeviceType.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9AD78BC87097481DDC1815B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ListBox.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ListBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9B9B8DBEBEA5051A602DA6C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableShape.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9BBC3E0155BC3F36F21F7EBB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = "SOURCE_ROOT"; }; + 9BE0EDFED0FC2720BB3AE101 = {isa = PBXFileReference; lastKnownFileType = file.glsl; name = FragmentShader.glsl; path = ../../Source/FragmentShader.glsl; sourceTree = "SOURCE_ROOT"; }; + 9BECE88C6AB34861AF408C37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageConvolutionKernel.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageConvolutionKernel.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9C0906C06A9D1558C2982BC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertySet.h"; path = "../../../../modules/juce_core/containers/juce_PropertySet.h"; sourceTree = "SOURCE_ROOT"; }; + 9C52165BC295637D495791C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KeyMappingEditorComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_KeyMappingEditorComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9C56D1AE6B7768F6E27D8F31 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_processors/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + 9CABACB9A2FF46A8B3059D8E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableComposite.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.h"; sourceTree = "SOURCE_ROOT"; }; + 9CF41B989B4516C8DB6CF7A0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePoint.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePoint.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D87175DE3988B783002560D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLFrameBuffer.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLFrameBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9D95CB2E713755CD61842774 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreText.framework; path = System/Library/Frameworks/CoreText.framework; sourceTree = SDKROOT; }; + 9F3DCE572188E0085FCF1956 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableRectangle.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F8B21E7C672840ACD02251E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Variant.cpp"; path = "../../../../modules/juce_core/containers/juce_Variant.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9FBCE80E444BA9E69C3F6172 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NSViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_NSViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 9FE8D5E52AC84BCDEE8B414B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + A021D917DFD4DD5D4703913C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RectangleList.h"; path = "../../../../modules/juce_graphics/geometry/juce_RectangleList.h"; sourceTree = "SOURCE_ROOT"; }; + A061F1646238A35ED0BDA32A = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_events/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + A07D0C5C60BE446FD41ADE51 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; + A19D3050F95BFD17129EA013 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AffineTransform.h"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.h"; sourceTree = "SOURCE_ROOT"; }; + A1C21D6CF6F456E34A0E7FBE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + A20DD4F2960264FC20095777 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Line.h"; path = "../../../../modules/juce_graphics/geometry/juce_Line.h"; sourceTree = "SOURCE_ROOT"; }; + A23A20A098747A2449C47047 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandManager.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + A2D465168084C9FFAE312E3C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_StringRef.h"; path = "../../../../modules/juce_core/text/juce_StringRef.h"; sourceTree = "SOURCE_ROOT"; }; + A3C0B621A37595B09825518B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; + A3EFD0BE919B2F7AD7295F2D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_ios.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_ios.h"; sourceTree = "SOURCE_ROOT"; }; + A4E723D11ADD694C4A3D318C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginInstance.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioPluginInstance.h"; sourceTree = "SOURCE_ROOT"; }; + A4F075DFF243F6BB90CD5950 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextLayout.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_TextLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + A59F49F937F6C5E6E35B8B86 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessor.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.h"; sourceTree = "SOURCE_ROOT"; }; + A5A883D3DAD1D2BF2F044379 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeTime.cpp"; path = "../../../../modules/juce_core/time/juce_RelativeTime.cpp"; sourceTree = "SOURCE_ROOT"; }; + A646D188288588F6FB9E8C53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChildProcess.h"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.h"; sourceTree = "SOURCE_ROOT"; }; + A6B50D109A50FD28AE1D3F9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedReadLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedReadLock.h"; sourceTree = "SOURCE_ROOT"; }; + A7EBBF2BCCB164C8F5C0423F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LiveConstantEditor.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + A7F58281FD0F07ECE6D261A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputStream.cpp"; path = "../../../../modules/juce_core/files/juce_FileInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + A80BB5CEC5BB5398B155F980 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Toolbar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_Toolbar.cpp"; sourceTree = "SOURCE_ROOT"; }; + A8451C0D5D0549A7D923F2D6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Strings.mm"; path = "../../../../modules/juce_core/native/juce_mac_Strings.mm"; sourceTree = "SOURCE_ROOT"; }; + A85BBB0551113A7CD910AA16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_basics.h"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.h"; sourceTree = "SOURCE_ROOT"; }; + A878B40B811C4B83658F6A60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Messaging.cpp"; path = "../../../../modules/juce_events/native/juce_android_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; }; + A87A60BF515078DF23E1F737 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Button.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_Button.h"; sourceTree = "SOURCE_ROOT"; }; + A8A190EDD8CED5ACF3AEE2C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiInput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiInput.h"; sourceTree = "SOURCE_ROOT"; }; + A937C45D53029A6BD6DA500B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiFile.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.h"; sourceTree = "SOURCE_ROOT"; }; + AA54E821F947C9A9DC359693 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA55BD139AEC1B8272ABE461 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AttributedString.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_AttributedString.cpp"; sourceTree = "SOURCE_ROOT"; }; + AA6A795F8A452B980C91770B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FlacAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_FlacAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + AA8A3E0CF7623249B2907DB1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; + AABFFB2D2D9F9BB39C95BA25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioTransportSource.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioTransportSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB3CF49071E6EEF217783B8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; + AB540AC77FB76E3B498E98A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathIterator.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.h"; sourceTree = "SOURCE_ROOT"; }; + ABCD1CB78CD58A79D0A728D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedLock.h"; sourceTree = "SOURCE_ROOT"; }; + AC2A502E05BB93CB0840344D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CachedComponentImage.h"; path = "../../../../modules/juce_gui_basics/components/juce_CachedComponentImage.h"; sourceTree = "SOURCE_ROOT"; }; + AC4730773DE422AE346C6D6B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_UIViewComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_UIViewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + ACD7FAE9EE61A4085580912B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativePointPath.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativePointPath.cpp"; sourceTree = "SOURCE_ROOT"; }; + ACEC05FF097A56FB7F3EF6B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiOutput.h"; path = "../../../../modules/juce_audio_devices/midi_io/juce_MidiOutput.h"; sourceTree = "SOURCE_ROOT"; }; + AD0DBF0531130EAD4DF2A8FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3PluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3PluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + AD16BF0DECF3EEFD7AE11457 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentListener.h"; path = "../../../../modules/juce_gui_basics/components/juce_ComponentListener.h"; sourceTree = "SOURCE_ROOT"; }; + AD7CF8E55597C12D264E26D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentPeer.h"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.h"; sourceTree = "SOURCE_ROOT"; }; + ADA1339F195F699D7F5369F9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableRectangle.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableRectangle.h"; sourceTree = "SOURCE_ROOT"; }; + ADFFCCFC47120AF338FD8C22 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ElementComparator.h"; path = "../../../../modules/juce_core/containers/juce_ElementComparator.h"; sourceTree = "SOURCE_ROOT"; }; + AE86A03508278775CA9F250B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ResizableBorderComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableBorderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + AEA5E43C19B3566D5B2655E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageCache.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageCache.cpp"; sourceTree = "SOURCE_ROOT"; }; + AEBF8C2FCAF972F014D43738 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AiffAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_AiffAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + AF5C2B3C5CF657FA722F9A68 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + AF6001FA947F3A7DF15CBF8B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_ios_UIViewComponentPeer.mm"; path = "../../../../modules/juce_gui_basics/native/juce_ios_UIViewComponentPeer.mm"; sourceTree = "SOURCE_ROOT"; }; + AF80D629DF6AF8EEB11DE598 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_AudioCDReader.mm"; path = "../../../../modules/juce_audio_devices/native/juce_mac_AudioCDReader.mm"; sourceTree = "SOURCE_ROOT"; }; + AFBCB46AC109F4982F012C0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../../../modules/juce_core/native/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; }; + B05257BD950E35B28F9E88CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LuaCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + B0E21FE9C68B99E4C751DF13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_QuickTimeMovieComponent.cpp"; path = "../../../../modules/juce_video/native/juce_win32_QuickTimeMovieComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0FB5996D7068C230DC6D8E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseCursor.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.cpp"; sourceTree = "SOURCE_ROOT"; }; + B0FE76D91413C32F64610594 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniserFunctions.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + B121FF657B96C6FFEB2C2DC1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; + B1440ED412E2277340903AB0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToneGeneratorAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ToneGeneratorAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + B1B76C913B09E3F684F76824 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CriticalSection.h"; path = "../../../../modules/juce_core/threads/juce_CriticalSection.h"; sourceTree = "SOURCE_ROOT"; }; + B1C695101BE3D6A84272B6C8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TooltipWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.h"; sourceTree = "SOURCE_ROOT"; }; + B1C6C92A15E4605A40404381 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Thread.h"; path = "../../../../modules/juce_core/threads/juce_Thread.h"; sourceTree = "SOURCE_ROOT"; }; + B1C7A541DFF31B38F0A17C16 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserListener.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserListener.h"; sourceTree = "SOURCE_ROOT"; }; + B1E4A1F07EFCCA50D963CF4F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditorKeyMapper.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextEditorKeyMapper.h"; sourceTree = "SOURCE_ROOT"; }; + B25D9BF429F016963A545287 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BubbleComponent.cpp"; path = "../../../../modules/juce_gui_basics/misc/juce_BubbleComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B28DFE72ADE03393BE8B764C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + B2A85C1813641574E4D15BF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LowLevelGraphicsSoftwareRenderer.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp"; sourceTree = "SOURCE_ROOT"; }; + B2B042F73709D0057DE8A51E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLShaderProgram.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.h"; sourceTree = "SOURCE_ROOT"; }; + B2D09E29CCC80C27956BF314 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextEditor.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.h"; sourceTree = "SOURCE_ROOT"; }; + B2EE6F9509A435D69B2508AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_ObjCHelpers.h"; path = "../../../../modules/juce_core/native/juce_osx_ObjCHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + B36AA5249B5B2242486B4153 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; + B49E98EF01462277526C417D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileSearchPathListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + B5A8A3579F03D2CCE4894848 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + B607DF0E27752A1B9A863CC6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_WebBrowserComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_WebBrowserComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + B68B3E0BE0396ACD3CA52250 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadower.h"; path = "../../../../modules/juce_gui_basics/misc/juce_DropShadower.h"; sourceTree = "SOURCE_ROOT"; }; + B73DF787FC51F08E279923A6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_NSViewComponent.mm"; path = "../../../../modules/juce_gui_extra/native/juce_mac_NSViewComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + B7612EA3B34C6AC48079A447 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; + B77BD5847F412656109A378E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextInputTarget.h"; path = "../../../../modules/juce_gui_basics/keyboard/juce_TextInputTarget.h"; sourceTree = "SOURCE_ROOT"; }; + B84BA430E8F477AB2EDC45CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PositionableAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_PositionableAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + B8A6BFA35FDD1F48C1E4E688 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileOutputStream.h"; path = "../../../../modules/juce_core/files/juce_FileOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; + B8C996306428DFB642CBFB14 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ModalComponentManager.h"; path = "../../../../modules/juce_gui_basics/components/juce_ModalComponentManager.h"; sourceTree = "SOURCE_ROOT"; }; + B8EF2AF777B74156958B72CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentDragger.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_ComponentDragger.h"; sourceTree = "SOURCE_ROOT"; }; + B91A8133C3474D98AB6300CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Desktop.cpp"; path = "../../../../modules/juce_gui_basics/components/juce_Desktop.cpp"; sourceTree = "SOURCE_ROOT"; }; + B97C816F9CBDE00E567E3144 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessor.cpp"; sourceTree = "SOURCE_ROOT"; }; + B99DD4C6D8C8F58C83ADD7CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_win32.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_win32.h"; sourceTree = "SOURCE_ROOT"; }; + B9B0A3004948FA2387C28829 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Matrix3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Matrix3D.h"; sourceTree = "SOURCE_ROOT"; }; + B9EB38A9A966EBB9A359DED3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; + BA5A9BB00CD8BEA408371875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V1.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.cpp"; sourceTree = "SOURCE_ROOT"; }; + BA5DE80E67A74A41D57E7663 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ConnectedChildProcess.cpp"; path = "../../../../modules/juce_events/interprocess/juce_ConnectedChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + BA895F5D0FC2F40DA0566469 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_processors.mm"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; + BA99F87A1BC936C566A0DFA7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Files.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + BB4B7332B8B456297344608E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PerformanceCounter.h"; path = "../../../../modules/juce_core/time/juce_PerformanceCounter.h"; sourceTree = "SOURCE_ROOT"; }; + BB7442FBD89AFCE6AE14E0AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_ALSA.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_linux_ALSA.cpp"; sourceTree = "SOURCE_ROOT"; }; + BB8AD6D858D518E804AFA0C7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ArrowButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.h"; sourceTree = "SOURCE_ROOT"; }; + BBECF34C65D1DD35DE8C6F9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_QuickTimeMovieComponent.mm"; path = "../../../../modules/juce_video/native/juce_mac_QuickTimeMovieComponent.mm"; sourceTree = "SOURCE_ROOT"; }; + BC35263317084BA60132B43D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSubsectionReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioSubsectionReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + BC586A21CD33D786C4472FD4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseEvent.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.h"; sourceTree = "SOURCE_ROOT"; }; + BC7C088D053711418A5A5698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ChildProcess.cpp"; path = "../../../../modules/juce_core/threads/juce_ChildProcess.cpp"; sourceTree = "SOURCE_ROOT"; }; + BCD3969359F2EB2EB970C412 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AppleRemote.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AppleRemote.h"; sourceTree = "SOURCE_ROOT"; }; + BCD60A4DBAB2007ECBCAB17D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LiveConstantEditor.h"; path = "../../../../modules/juce_gui_extra/misc/juce_LiveConstantEditor.h"; sourceTree = "SOURCE_ROOT"; }; + BD4C015152FD7519E50C9BCA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_posix_SharedCode.h"; path = "../../../../modules/juce_core/native/juce_posix_SharedCode.h"; sourceTree = "SOURCE_ROOT"; }; + BD69D8ABDB6741F717E0DD1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_InputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + BDB1FA875F2C8263E3D2650A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; + BDBC99D827A9F6C5B1B0ED5E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ios_Audio.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_ios_Audio.cpp"; sourceTree = "SOURCE_ROOT"; }; + BE4CF2165544FB2D720E1DD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryBlock.h"; path = "../../../../modules/juce_core/memory/juce_MemoryBlock.h"; sourceTree = "SOURCE_ROOT"; }; + BEFB2034FC381E2DD019E372 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Memory.h"; path = "../../../../modules/juce_core/memory/juce_Memory.h"; sourceTree = "SOURCE_ROOT"; }; + C02F8C844FAD835F09408406 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPDecompressorInputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + C04188D62834AAE749694751 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedArray.h"; path = "../../../../modules/juce_core/containers/juce_ReferenceCountedArray.h"; sourceTree = "SOURCE_ROOT"; }; + C0A37CB25E8C40792454E820 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; + C3C776709CFEB52B87A9E260 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 5802E3490BEAFD892C837E2A = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OpenGLAppExample.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; + 83ED74D05C2699811929138C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SHA256.cpp"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.cpp"; sourceTree = "SOURCE_ROOT"; }; + 8B1374A21A81C82233EBC523 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; + 8B8CEF7A6937C76CA7642C8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_data_structures.h"; path = "../../../../modules/juce_data_structures/juce_data_structures.h"; sourceTree = "SOURCE_ROOT"; }; + 9954A5B8424CE9ABC802AC8C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; + 9E46C8356029EC009F7A1C46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ValueTree.h"; path = "../../../../modules/juce_data_structures/values/juce_ValueTree.h"; sourceTree = "SOURCE_ROOT"; }; + B2E2A77534D9104C78E8F3E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Value.cpp"; path = "../../../../modules/juce_data_structures/values/juce_Value.cpp"; sourceTree = "SOURCE_ROOT"; }; + BE635BACA572437D8DFDEEC8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ImageComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + BEA260469BBB48EB998AA4DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MultiTimer.h"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.h"; sourceTree = "SOURCE_ROOT"; }; + BEAB03E92089D87D7D6A2353 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_DrawableButton.h"; sourceTree = "SOURCE_ROOT"; }; + C007BC3372F44746BD6E98C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; + C05E16AAF0CF0676135C0C9B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DragAndDrop.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp"; sourceTree = "SOURCE_ROOT"; }; + C0AC297D17FA68BBAB417A64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Range.h"; path = "../../../../modules/juce_core/maths/juce_Range.h"; sourceTree = "SOURCE_ROOT"; }; + C0C66A94FBDE992AAD71C698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_graphics.mm"; path = "../../../../modules/juce_graphics/juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; + C159C35E078C5B5B9BFEFB52 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MouseCursor.mm"; path = "../../../../modules/juce_gui_basics/native/juce_mac_MouseCursor.mm"; sourceTree = "SOURCE_ROOT"; }; + C1A299D4A5AAEA645975EEB8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GlyphArrangement.h"; path = "../../../../modules/juce_graphics/fonts/juce_GlyphArrangement.h"; sourceTree = "SOURCE_ROOT"; }; + C24880A7007CE75B7F8BBD71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Slider.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Slider.h"; sourceTree = "SOURCE_ROOT"; }; + C2B61447889E781465E49AC3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MenuBarModel.h"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarModel.h"; sourceTree = "SOURCE_ROOT"; }; + C33DDF76E058D3E11E61DE63 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BigInteger.h"; path = "../../../../modules/juce_core/maths/juce_BigInteger.h"; sourceTree = "SOURCE_ROOT"; }; + C3A68B435020C80FC29DB89D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AlertWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_AlertWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + C3B0CE7BC50EE3F20BB261EC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_basics.mm"; path = "../../../../modules/juce_gui_basics/juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + C3B93391519DA8A352766580 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RelativeCoordinatePositioner.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeCoordinatePositioner.cpp"; sourceTree = "SOURCE_ROOT"; }; + C3E4252156EDD0E001A10DE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + C407BCC7CEC505584B25682E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LocalisedStrings.cpp"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.cpp"; sourceTree = "SOURCE_ROOT"; }; + C45B9350ECC13FC8096D3873 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; + C48140923F2A4DEDBA063DFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V2.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.h"; sourceTree = "SOURCE_ROOT"; }; + C50CE0A0485507647C78F30E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlElement.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlElement.cpp"; sourceTree = "SOURCE_ROOT"; }; + C50DA493E57234B3820BD77A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseEvent.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseEvent.cpp"; sourceTree = "SOURCE_ROOT"; }; + C52847A293D0E8958E88DFD5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MarkerList.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.h"; sourceTree = "SOURCE_ROOT"; }; + C568E8888819EAFDCAEAF04F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationCommandInfo.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandInfo.cpp"; sourceTree = "SOURCE_ROOT"; }; + C57BA5F014343276128923F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WebBrowserComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_WebBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C599A55407B6EB6AD55AE73C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentAnimator.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentAnimator.h"; sourceTree = "SOURCE_ROOT"; }; + C62300B9478B60BCBE254256 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_basics.mm"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; + C64D47A361026A76FC9BA9B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChannelRemappingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_ChannelRemappingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + C66D4CDC39A565833178EB0D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; + C6B9F01A0AAA2A1DA8122912 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RelativeParallelogram.h"; path = "../../../../modules/juce_gui_basics/positioning/juce_RelativeParallelogram.h"; sourceTree = "SOURCE_ROOT"; }; + C719606229204044D7C85339 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TopLevelWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.h"; sourceTree = "SOURCE_ROOT"; }; + C7BABEEA061F989A0A74F708 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WeakReference.h"; path = "../../../../modules/juce_core/memory/juce_WeakReference.h"; sourceTree = "SOURCE_ROOT"; }; + C7BB125979760AE4264BF23E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImageEffectFilter.h"; path = "../../../../modules/juce_graphics/effects/juce_ImageEffectFilter.h"; sourceTree = "SOURCE_ROOT"; }; + C7F47C1BEDD7EE514BA40C27 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryOutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryOutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + C8B71823C30A65066A852942 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DocumentWindow.h"; path = "../../../../modules/juce_gui_basics/windows/juce_DocumentWindow.h"; sourceTree = "SOURCE_ROOT"; }; + C8CEDA86517FE447F3A3DCF2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsMediaAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_WindowsMediaAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + C8FDA55A72DC4A244703C8F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ImagePreviewComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_ImagePreviewComponent.h"; sourceTree = "SOURCE_ROOT"; }; + C936095A19665316F5B675CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_FileDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + C9CD8A1AB4DAA664557DEBDC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; + CA3D1FE94B500CF86704EB13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CustomTypeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.h"; sourceTree = "SOURCE_ROOT"; }; + CBF3ED31F58A0874E0E9A64B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiDocumentPanel.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_MultiDocumentPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + CC0ED57DE1266CEB11001787 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MultiTimer.cpp"; path = "../../../../modules/juce_events/timers/juce_MultiTimer.cpp"; sourceTree = "SOURCE_ROOT"; }; + CC1AE8EECC77B1915D24C9DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; + CC3E6F8333AA2D98AAC1235E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadLocalValue.h"; path = "../../../../modules/juce_core/threads/juce_ThreadLocalValue.h"; sourceTree = "SOURCE_ROOT"; }; + CC42DBFB2ABA84046DD69E1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_osx_MessageQueue.h"; path = "../../../../modules/juce_events/native/juce_osx_MessageQueue.h"; sourceTree = "SOURCE_ROOT"; }; + CC83A115FBF5C65772BBFAE3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectShowComponent.h"; path = "../../../../modules/juce_video/playback/juce_DirectShowComponent.h"; sourceTree = "SOURCE_ROOT"; }; + CD27B64646C58118052C3459 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSourcePlayer.cpp"; path = "../../../../modules/juce_audio_devices/sources/juce_AudioSourcePlayer.cpp"; sourceTree = "SOURCE_ROOT"; }; + CD44827B5286ADE94DB0B79C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Vector3D.h"; path = "../../../../modules/juce_opengl/geometry/juce_Vector3D.h"; sourceTree = "SOURCE_ROOT"; }; + CD71ED4911896207B303106F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + CE11BC7911220E9CFA1283D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; + CE28252C42BBA94C930CF460 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Info.plist; sourceTree = "SOURCE_ROOT"; }; + CE5CDD52C447D5DCC7DE1259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; + CE9CAFB040BE90431A432537 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AffineTransform.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_AffineTransform.cpp"; sourceTree = "SOURCE_ROOT"; }; + CEB259E27BB64776AF6BF076 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_WildcardFileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + CED808C5809FF89D32131CB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + CEE5BF72C9D7E467212D8973 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_win32_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + CFA38098B5AD00F5C0DF4D4D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioProcessorGraph.h"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorGraph.h"; sourceTree = "SOURCE_ROOT"; }; + CFEF06EB93957DEAE00A0030 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Network.mm"; path = "../../../../modules/juce_core/native/juce_mac_Network.mm"; sourceTree = "SOURCE_ROOT"; }; + D01183D850457CA55516B3B2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileSearchPathListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileSearchPathListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D05F7D67DD28FF1156CBED39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MP3AudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_MP3AudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + D17F209C6915C948F90F1349 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GroupComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_GroupComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D1A2603E46734D31975B7540 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Value.h"; path = "../../../../modules/juce_data_structures/values/juce_Value.h"; sourceTree = "SOURCE_ROOT"; }; + D1C13988EF76674213DF92F4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextEditor.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TextEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + D23A9E25612E33C0C6AAA09E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_SystemTrayIcon.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_SystemTrayIcon.cpp"; sourceTree = "SOURCE_ROOT"; }; + D23F862EE7BAEDAC24479902 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Result.h"; path = "../../../../modules/juce_core/misc/juce_Result.h"; sourceTree = "SOURCE_ROOT"; }; + D24F3C46F1A46422C080A0A7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FilenameComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D258105EC6398A3984FD8DA3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PathStrokeType.h"; path = "../../../../modules/juce_graphics/geometry/juce_PathStrokeType.h"; sourceTree = "SOURCE_ROOT"; }; + D276367530731B2C732C50CB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDeviceManager.cpp"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + D2C557606FD68958DC545A2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + D2EBB6A92000349A92809F02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; + D37936ED5B5A415DF1F5F2C2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemStats.h"; path = "../../../../modules/juce_core/system/juce_SystemStats.h"; sourceTree = "SOURCE_ROOT"; }; + D476B9FCEF30511BC736C744 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; + D4A815675983D742D87E37A5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_devices.mm"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; + D4CA818D9DA2269EBCE376DE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemAudioVolume.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_SystemAudioVolume.h"; sourceTree = "SOURCE_ROOT"; }; + D521465375DD0F179649668B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + D53FD6223C4A997E441E1F80 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SplashScreen.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.cpp"; sourceTree = "SOURCE_ROOT"; }; + D54457FBB5D7B2362E69D9AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; + D677D05978DC2C67386B63AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLShaderProgram.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLShaderProgram.cpp"; sourceTree = "SOURCE_ROOT"; }; + D67D8599E2F89D673EA36D9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLHelpers.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.cpp"; sourceTree = "SOURCE_ROOT"; }; + D6AC70136461C6F3FD1987F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CustomTypeface.cpp"; path = "../../../../modules/juce_graphics/fonts/juce_CustomTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; + D6EDBF07E4162364DB8825D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; + D74B9C3F462333A72B889773 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; + D782993D6DAF0AF948A62517 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_gui_extra.mm"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; + D85876E3373EF8AC5F39A5A8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PathIterator.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_PathIterator.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8C269D8BFE34CF33A2B243C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_core/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + D8EB2E5BDF6806B37482DE70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatWriter.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.h"; sourceTree = "SOURCE_ROOT"; }; + D8F75466ADD0287144087C5B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_VSTPluginFormat.cpp"; path = "../../../../modules/juce_audio_processors/format_types/juce_VSTPluginFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + D8FDF81708D362F909F5421B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LagrangeInterpolator.h"; path = "../../../../modules/juce_audio_basics/effects/juce_LagrangeInterpolator.h"; sourceTree = "SOURCE_ROOT"; }; + D92B6F28EF1D46625BC2A18B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBrowserComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileBrowserComponent.h"; sourceTree = "SOURCE_ROOT"; }; + D93861E50D66746DF070A158 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentPeer.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_ComponentPeer.cpp"; sourceTree = "SOURCE_ROOT"; }; + D99465F417B8D56C2C9A212D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; + D9E4C045A178EA678116D439 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLHelpers.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + D9F41579025D12F2CCF079C4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooser.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooser.cpp"; sourceTree = "SOURCE_ROOT"; }; + D9FDDAC72C576633FD41B2E7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeLayout.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeLayout.cpp"; sourceTree = "SOURCE_ROOT"; }; + DA12229986D485B2E2DE059B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FilenameComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FilenameComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + DA223B209C3FF00A91FAA1DD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ResizableCornerComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ResizableCornerComponent.h"; sourceTree = "SOURCE_ROOT"; }; + DA67F5A5693214A2189039D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SharedResourcePointer.h"; path = "../../../../modules/juce_core/memory/juce_SharedResourcePointer.h"; sourceTree = "SOURCE_ROOT"; }; + DB348CBC6734FFD0B7ED8A34 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MouseCursor.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseCursor.h"; sourceTree = "SOURCE_ROOT"; }; + DB59695708606C9604E11F0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC209283C24A9C0B601DB860 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; + DC254EFF0D95657D703FA8F6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedXLock.h"; path = "../../../../modules/juce_events/native/juce_ScopedXLock.h"; sourceTree = "SOURCE_ROOT"; }; + DC3E9EDCD85270B2E9D33BF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Fonts.cpp"; path = "../../../../modules/juce_graphics/native/juce_linux_Fonts.cpp"; sourceTree = "SOURCE_ROOT"; }; + DC9D4AE01FB7CF8D2877B198 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DropShadowEffect.h"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.h"; sourceTree = "SOURCE_ROOT"; }; + DCB52EFF8A9F5D9F6CF3D3FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; + DD387A0509039658A5DC2AE5 = {isa = PBXFileReference; lastKnownFileType = file.glsl; name = VertexShader.glsl; path = ../../Source/VertexShader.glsl; sourceTree = "SOURCE_ROOT"; }; + DD542B6F61E6C27A0D5A5F2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectSound.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_DirectSound.cpp"; sourceTree = "SOURCE_ROOT"; }; + DE00116B59A20E5B69367B70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; + DE1A6A1C0CCC94A3E3A887E3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableShape.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableShape.h"; sourceTree = "SOURCE_ROOT"; }; + DE3832516FB6969C0E3210D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DirectoryIterator.h"; path = "../../../../modules/juce_core/files/juce_DirectoryIterator.h"; sourceTree = "SOURCE_ROOT"; }; + DE8A6DAED12A99017D7341E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TableHeaderComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_TableHeaderComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + DEE9366528ACF7F2CC0A9F73 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ContainerDeletePolicy.h"; path = "../../../../modules/juce_core/memory/juce_ContainerDeletePolicy.h"; sourceTree = "SOURCE_ROOT"; }; + DF2B90185FBA2C86DE767F46 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileInputSource.cpp"; path = "../../../../modules/juce_core/streams/juce_FileInputSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + DF42C1B300CA66580D0AED1D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MissingGLDefinitions.h"; path = "../../../../modules/juce_opengl/native/juce_MissingGLDefinitions.h"; sourceTree = "SOURCE_ROOT"; }; + DF53D8FD5DE7B15694D26E91 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLContext.cpp"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + E041ABD2C503FCB7EB7E49F8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/native/juce_android_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + E046CC53401A9551BDEA2D83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLTexture.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLTexture.h"; sourceTree = "SOURCE_ROOT"; }; + E0544ED1BC8832C4D1296FAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Font.h"; path = "../../../../modules/juce_graphics/fonts/juce_Font.h"; sourceTree = "SOURCE_ROOT"; }; + E068F61F296A52D25E329978 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TemporaryFile.h"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.h"; sourceTree = "SOURCE_ROOT"; }; + E0E847621EEAEEFB21B87986 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_opengl.h"; path = "../../../../modules/juce_opengl/juce_opengl.h"; sourceTree = "SOURCE_ROOT"; }; + E0FF460CC2AACA09D6C7412E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharPointer_UTF16.h"; path = "../../../../modules/juce_core/text/juce_CharPointer_UTF16.h"; sourceTree = "SOURCE_ROOT"; }; + E10DD1F7E7994B77BFF7C8AF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FloatVectorOperations.h"; path = "../../../../modules/juce_audio_basics/buffers/juce_FloatVectorOperations.h"; sourceTree = "SOURCE_ROOT"; }; + E22C09309C11DAE1AA0AA148 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Sampler.cpp"; path = "../../../../modules/juce_audio_formats/sampler/juce_Sampler.cpp"; sourceTree = "SOURCE_ROOT"; }; + E273A9AEACF13BC595F82289 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryMappedFile.h"; path = "../../../../modules/juce_core/files/juce_MemoryMappedFile.h"; sourceTree = "SOURCE_ROOT"; }; + E2B10A7DBF2B35A4C3A1DE21 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GraphicsContext.cpp"; path = "../../../../modules/juce_graphics/contexts/juce_GraphicsContext.cpp"; sourceTree = "SOURCE_ROOT"; }; + E2B33608E3097EE1E7801707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; + E2EEB444EC638B0C72A8A7E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MemoryInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + E31FDA8F23FEAB726361C8DB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; + E3381BC529641894F95F9AD6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActiveXControlComponent.h"; path = "../../../../modules/juce_gui_extra/embedding/juce_ActiveXControlComponent.h"; sourceTree = "SOURCE_ROOT"; }; + E388DABC27B6A417CE9B7F7B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_KnownPluginList.h"; path = "../../../../modules/juce_audio_processors/scanning/juce_KnownPluginList.h"; sourceTree = "SOURCE_ROOT"; }; + E441F10A3241806474779D5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ImageFileFormat.cpp"; path = "../../../../modules/juce_graphics/images/juce_ImageFileFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + E45F076842C926BA5400B70B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CharacterFunctions.h"; path = "../../../../modules/juce_core/text/juce_CharacterFunctions.h"; sourceTree = "SOURCE_ROOT"; }; + E47A2EEA203214804C09378D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSampleBuffer.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; + E488221DF5AFED73C4518AE7 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_WASAPI.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_WASAPI.cpp"; sourceTree = "SOURCE_ROOT"; }; + E49C04EACE55BED74E156911 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AsyncUpdater.h"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.h"; sourceTree = "SOURCE_ROOT"; }; + E4D98F92A6646FC7CE4FFA1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; }; + E50BADB05430CBE8BF33F8F5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PopupMenu.h"; path = "../../../../modules/juce_gui_basics/menus/juce_PopupMenu.h"; sourceTree = "SOURCE_ROOT"; }; + E54011F26F7D9AD38D437851 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Threads.mm"; path = "../../../../modules/juce_core/native/juce_mac_Threads.mm"; sourceTree = "SOURCE_ROOT"; }; + E5D5588D0F985DB2D5A8BAF5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_XmlDocument.cpp"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.cpp"; sourceTree = "SOURCE_ROOT"; }; + E5F97C758712010CF0E6D1B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AbstractFifo.cpp"; path = "../../../../modules/juce_core/containers/juce_AbstractFifo.cpp"; sourceTree = "SOURCE_ROOT"; }; + E62A008F49C8FB4ECEB6CC37 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourSelector.h"; path = "../../../../modules/juce_gui_extra/misc/juce_ColourSelector.h"; sourceTree = "SOURCE_ROOT"; }; + E66B64B5619AFCB389836C06 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; + E6AB1D98C43E9017F546D707 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CoreGraphicsHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_mac_CoreGraphicsHelpers.h"; sourceTree = "SOURCE_ROOT"; }; + E7D88F20FB6FEA84BFEC67D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TooltipWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TooltipWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + E7EF18BE4F22063894C6FF61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Timer.cpp"; path = "../../../../modules/juce_events/timers/juce_Timer.cpp"; sourceTree = "SOURCE_ROOT"; }; + E81332E1BCBF978D86F92DFE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Socket.cpp"; path = "../../../../modules/juce_core/network/juce_Socket.cpp"; sourceTree = "SOURCE_ROOT"; }; + E83074E632966778B10AF088 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RSAKey.cpp"; path = "../../../../modules/juce_cryptography/encryption/juce_RSAKey.cpp"; sourceTree = "SOURCE_ROOT"; }; + E8ED8CA85BE4E1BF7C5ADF53 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ActionBroadcaster.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.cpp"; sourceTree = "SOURCE_ROOT"; }; + E90FDEEB9C536E5E1124B00D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyboardFocusTraverser.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyboardFocusTraverser.cpp"; sourceTree = "SOURCE_ROOT"; }; + E9164448EE60F4DB5F2A14D1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MenuBarComponent.cpp"; path = "../../../../modules/juce_gui_basics/menus/juce_MenuBarComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + E9BB6F5CCB22B9CBEA0DFAB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NewLine.h"; path = "../../../../modules/juce_core/text/juce_NewLine.h"; sourceTree = "SOURCE_ROOT"; }; + EA19F37E2AB4C42A1ACF17CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; + EA2BE0B9C8E1546D25A02D67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Drawable.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_Drawable.cpp"; sourceTree = "SOURCE_ROOT"; }; + EA53B7692D5E224F0477A791 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; + EA77ADEA8100DFE7C2E0ABB6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatManager.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + EA8B6054D2E6C204214422CE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; + EAE65B593000E1AFCA63AEE8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ReverbAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_ReverbAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; + EBABE678E857A993B3753B83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_devices.h"; path = "../../../../modules/juce_audio_devices/juce_audio_devices.h"; sourceTree = "SOURCE_ROOT"; }; + ECD6C0DDB8587984580C96B0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TabbedComponent.h"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.h"; sourceTree = "SOURCE_ROOT"; }; + ECE3837512B3E620155A8432 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.h"; sourceTree = "SOURCE_ROOT"; }; + ED4FD41F6F5825084831A29C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_Midi.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_android_Midi.cpp"; sourceTree = "SOURCE_ROOT"; }; + ED9CF9B1476F08D13A1E636E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Javascript.h"; path = "../../../../modules/juce_core/javascript/juce_Javascript.h"; sourceTree = "SOURCE_ROOT"; }; + EE49ECC80B5D7D0DEFA0EF7A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ASIO.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_ASIO.cpp"; sourceTree = "SOURCE_ROOT"; }; + EEBA2A14B5473C1F19BF3D3E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LADSPAPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_LADSPAPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; + EEDD0D3608DCB2E459F3BF24 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationCommandTarget.h"; path = "../../../../modules/juce_gui_basics/commands/juce_ApplicationCommandTarget.h"; sourceTree = "SOURCE_ROOT"; }; + EEE157CFCD553CC2F4D15CBB = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_devices/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + EEE1F3257D7C9A527D6647E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileChooserDialogBox.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileChooserDialogBox.cpp"; sourceTree = "SOURCE_ROOT"; }; + EF0061905AEAC90A86145D40 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsPostScriptRenderer.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + EF073EC891B2731068542C61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TemporaryFile.cpp"; path = "../../../../modules/juce_core/files/juce_TemporaryFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + EF70C0EA201D702D22D06396 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedValueSet.cpp"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + EFDD05E3C006BA460761594C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyPressMappingSet.cpp"; path = "../../../../modules/juce_gui_basics/commands/juce_KeyPressMappingSet.cpp"; sourceTree = "SOURCE_ROOT"; }; + F0074D8C86D3265AF7889CCF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; + F05511231DB8D8615D4A336C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SubregionStream.cpp"; path = "../../../../modules/juce_core/streams/juce_SubregionStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + F07914AFCF34610BAC0D3B0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_opengl.mm"; path = "../../../../modules/juce_opengl/juce_opengl.mm"; sourceTree = "SOURCE_ROOT"; }; + F0A8EA8AEA260ED20ED40247 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; + F0F7DE7E362D726569559501 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileBasedDocument.h"; path = "../../../../modules/juce_gui_extra/documents/juce_FileBasedDocument.h"; sourceTree = "SOURCE_ROOT"; }; + F1830606ECDFB808597E5A8F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Variant.h"; path = "../../../../modules/juce_core/containers/juce_Variant.h"; sourceTree = "SOURCE_ROOT"; }; + F1BE04264A690B5EFA99FCA5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DeletedAtShutdown.cpp"; path = "../../../../modules/juce_events/messages/juce_DeletedAtShutdown.cpp"; sourceTree = "SOURCE_ROOT"; }; + F1EB95EC0156CE6D16280A45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_URL.cpp"; path = "../../../../modules/juce_core/network/juce_URL.cpp"; sourceTree = "SOURCE_ROOT"; }; + F2A3916171FCB01D6A68DD87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_SystemStats.cpp"; path = "../../../../modules/juce_core/native/juce_linux_SystemStats.cpp"; sourceTree = "SOURCE_ROOT"; }; + F2C08F60BC16ABA3BE1F3A36 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PlatformDefs.h"; path = "../../../../modules/juce_core/system/juce_PlatformDefs.h"; sourceTree = "SOURCE_ROOT"; }; + F2DE7A0F77BCCBCFEEC0B500 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_mac_CarbonViewWrapperComponent.h"; path = "../../../../modules/juce_gui_extra/native/juce_mac_CarbonViewWrapperComponent.h"; sourceTree = "SOURCE_ROOT"; }; + F2DFFAA96667B5897702E4B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Atomic.h"; path = "../../../../modules/juce_core/memory/juce_Atomic.h"; sourceTree = "SOURCE_ROOT"; }; + F2ED5A15267070B560EFFA2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TextButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_TextButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + F356FC782C13333907F2EE17 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GenericAudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + F3813BA8E8B9F775D0A049FF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TabbedComponent.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_TabbedComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + F3868CB33CA2805C31829647 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Timer.h"; path = "../../../../modules/juce_events/timers/juce_Timer.h"; sourceTree = "SOURCE_ROOT"; }; + F4B9C009E75153F873F4AA25 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LookAndFeel_V1.h"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V1.h"; sourceTree = "SOURCE_ROOT"; }; + F4EA57711C5E9DC6746728FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MessageListener.cpp"; path = "../../../../modules/juce_events/messages/juce_MessageListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + F5DBF428153938207320675F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ArrowButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ArrowButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + F5EB78612A35D53F005597D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LowLevelGraphicsContext.h"; path = "../../../../modules/juce_graphics/contexts/juce_LowLevelGraphicsContext.h"; sourceTree = "SOURCE_ROOT"; }; + F6086AE27F4DEB9C75A8FFB5 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + F616A5D8C022126707081DC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLRenderer.h"; path = "../../../../modules/juce_opengl/opengl/juce_OpenGLRenderer.h"; sourceTree = "SOURCE_ROOT"; }; + F6625EF536284FBD73183EA1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ComponentBoundsConstrainer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.cpp"; sourceTree = "SOURCE_ROOT"; }; + F67C770333721A5D9BFEFCF6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PreferencesPanel.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_PreferencesPanel.cpp"; sourceTree = "SOURCE_ROOT"; }; + F67FF8B4FA78D4E285AC0242 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; + F6A4E47EA1AA7392CFA6D8AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + F7487F2DEA61873B12C6CAC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToggleButton.cpp"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.cpp"; sourceTree = "SOURCE_ROOT"; }; + F7D32C5CE1D85C542190C26C = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; + F7D98798130B4AB14E4E82F2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colour.h"; path = "../../../../modules/juce_graphics/colour/juce_Colour.h"; sourceTree = "SOURCE_ROOT"; }; + F7E246B8F8600787C3F10552 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_processors.h"; path = "../../../../modules/juce_audio_processors/juce_audio_processors.h"; sourceTree = "SOURCE_ROOT"; }; + F84732FE450246B23C813288 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Label.h"; path = "../../../../modules/juce_gui_basics/widgets/juce_Label.h"; sourceTree = "SOURCE_ROOT"; }; + F879E952E9ABC6FB12503AAC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilter.cpp"; path = "../../../../modules/juce_audio_basics/effects/juce_IIRFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + F897C7899B56E5C6D5523353 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SplashScreen.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SplashScreen.h"; sourceTree = "SOURCE_ROOT"; }; + F8E83B5544E2379CB0B323D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OutputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_OutputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + F9022636187FF444897371F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Colours.h"; path = "../../../../modules/juce_graphics/colour/juce_Colours.h"; sourceTree = "SOURCE_ROOT"; }; + F937ACD8AA15A27F13F85A88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Uuid.cpp"; path = "../../../../modules/juce_core/misc/juce_Uuid.cpp"; sourceTree = "SOURCE_ROOT"; }; + F93D065EB34B3E5270F5626D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + F9A0A82AA4D8EDB4B2305849 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + F9EED40DD78515ADF3189694 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ApplicationBase.cpp"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.cpp"; sourceTree = "SOURCE_ROOT"; }; + FA6BDA8882AAEE02FB04E36F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V3.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V3.cpp"; sourceTree = "SOURCE_ROOT"; }; + FA9CE8D2EEF012CB74C1E8CA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ApplicationBase.h"; path = "../../../../modules/juce_events/messages/juce_ApplicationBase.h"; sourceTree = "SOURCE_ROOT"; }; + FAD5D9101D6427D96558C37F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; + FAF22574F9AFF74820925F08 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Files.cpp"; path = "../../../../modules/juce_core/native/juce_win32_Files.cpp"; sourceTree = "SOURCE_ROOT"; }; + FB748B4E5E7E7CB38BBF07AD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BigInteger.cpp"; path = "../../../../modules/juce_core/maths/juce_BigInteger.cpp"; sourceTree = "SOURCE_ROOT"; }; + FBA60035993B1D5796D202DF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SystemTrayIconComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_SystemTrayIconComponent.h"; sourceTree = "SOURCE_ROOT"; }; + FBD1053AF6BF9575682BCAF8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LocalisedStrings.h"; path = "../../../../modules/juce_core/text/juce_LocalisedStrings.h"; sourceTree = "SOURCE_ROOT"; }; + FBDBBE33AEF062A1457DAA42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_audio_formats.mm"; path = "../../../../modules/juce_audio_formats/juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; + FBF25BFCF0541B78909B16C6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TextDragAndDropTarget.h"; path = "../../../../modules/juce_gui_basics/mouse/juce_TextDragAndDropTarget.h"; sourceTree = "SOURCE_ROOT"; }; + FBFB17CDB832B533BEF3BFAB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_GZIPDecompressorInputStream.cpp"; path = "../../../../modules/juce_core/zip/juce_GZIPDecompressorInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; + FC00E5ABDD903617E7498A0B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Application.cpp"; path = "../../../../modules/juce_gui_basics/application/juce_Application.cpp"; sourceTree = "SOURCE_ROOT"; }; + FC1E4BFBBE4B43200F8D30D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_ActiveXComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_win32_ActiveXComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + FC2F6663A0086F14B8C0144E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_ComSmartPtr.h"; path = "../../../../modules/juce_core/native/juce_win32_ComSmartPtr.h"; sourceTree = "SOURCE_ROOT"; }; + FC3CA13BBF45F16F19AE3047 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileFilter.cpp"; path = "../../../../modules/juce_core/files/juce_FileFilter.cpp"; sourceTree = "SOURCE_ROOT"; }; + FC50C6150E60281125E69115 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawableImage.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.h"; sourceTree = "SOURCE_ROOT"; }; + FC5306AC9A046F7DF6CC09FD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutManager.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutManager.cpp"; sourceTree = "SOURCE_ROOT"; }; + FC865A2B46F423E11725FFBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Array.h"; path = "../../../../modules/juce_core/containers/juce_Array.h"; sourceTree = "SOURCE_ROOT"; }; + FCF5891DAC2887A6FE3EEA9F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_posix_NamedPipe.cpp"; path = "../../../../modules/juce_core/native/juce_posix_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD04FE1CA7A8937A90864D6F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MidiFile.cpp"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiFile.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD1A5CF76641E1CE7F29B44D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ComponentBoundsConstrainer.h"; path = "../../../../modules/juce_gui_basics/layout/juce_ComponentBoundsConstrainer.h"; sourceTree = "SOURCE_ROOT"; }; + FD2080564407C8EFE21CBC96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MessageListener.h"; path = "../../../../modules/juce_events/messages/juce_MessageListener.h"; sourceTree = "SOURCE_ROOT"; }; + FD36702E757F21E0C43E8907 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableObjectResizer.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableObjectResizer.cpp"; sourceTree = "SOURCE_ROOT"; }; + FD6A6D3E26D069707DD51652 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HeapBlock.h"; path = "../../../../modules/juce_core/memory/juce_HeapBlock.h"; sourceTree = "SOURCE_ROOT"; }; + FDB3097BE7C87FF74895E875 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_FileListComponent.h"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.h"; sourceTree = "SOURCE_ROOT"; }; + FDC6858C3E455F9E8376B58B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AsyncUpdater.cpp"; path = "../../../../modules/juce_events/broadcasters/juce_AsyncUpdater.cpp"; sourceTree = "SOURCE_ROOT"; }; + FDFE40162E4F5CCAA833061C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_DrawablePath.h"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawablePath.h"; sourceTree = "SOURCE_ROOT"; }; + FE42628E4890B2FC1D85E574 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Process.h"; path = "../../../../modules/juce_core/threads/juce_Process.h"; sourceTree = "SOURCE_ROOT"; }; + FEADE63D967146EB972AA6A4 = {isa = PBXGroup; children = ( + 9BE0EDFED0FC2720BB3AE101, + DD387A0509039658A5DC2AE5, ); name = Shaders; sourceTree = ""; }; + A4D3B14A21B5F8202D2A49AE = {isa = PBXGroup; children = ( + 7D21460B496E5E03FA58654B, ); name = Resources; sourceTree = ""; }; + 3FD01CA071C629C30000EC75 = {isa = PBXGroup; children = ( + A4D3B14A21B5F8202D2A49AE, + 75A8F56B635DA7158E472382, + 82443CD4F42884B9D33A85EA, + 69AE98AB9502B4B4E7EBCD60, ); name = Source; sourceTree = ""; }; + 853E25E8F0EA391EE8D4A3B8 = {isa = PBXGroup; children = ( + FEADE63D967146EB972AA6A4, + 3FD01CA071C629C30000EC75, ); name = OpenGLAppExample; sourceTree = ""; }; + CA34E66B71A70E489DCD9028 = {isa = PBXGroup; children = ( + 11614D602849B43F5ED92934, + 6B5D185CB49DC6746B357183, + E47A2EEA203214804C09378D, + 47E94C2476E8A7171A484CF0, + 8C69B0700CBEF4AAD6F41B08, + E10DD1F7E7994B77BFF7C8AF, ); name = buffers; sourceTree = ""; }; + C2F146BC4298BBB96A2A6339 = {isa = PBXGroup; children = ( + 0917DAAA83C16F4D430A4961, + 04F64700F41A639DA16732BF, + FD04FE1CA7A8937A90864D6F, + A937C45D53029A6BD6DA500B, + 0557BAAD94B3B3AFAF7607EF, + EA8B6054D2E6C204214422CE, + 23F1F8A1566366CCFAC8A5BB, + 31AF78DCC817DE98C01E1EEE, + 8BD7E643486B7C1968E68D51, + 7A9C6994055A82AFC438626A, ); name = midi; sourceTree = ""; }; + 4DF8616B3F357D3ECEB23246 = {isa = PBXGroup; children = ( + 53890D1A9DE3751F3A19C3C3, + F879E952E9ABC6FB12503AAC, + 0950F9F7698F791C6BC7626A, + 3B719AB087869724229AF10D, + D8FDF81708D362F909F5421B, + 28ECC3EF6106E7DB0E4F256C, ); name = effects; sourceTree = ""; }; + EEDD06AB62749ED2479EBFA6 = {isa = PBXGroup; children = ( + 28DEE4AF47201ED83DFD5875, + 4F70D57A0CFEEC0D7FADCB9D, + 0C5D36923235127BEC48777C, + 6960FFB28F8600D605CEBEBD, + C64D47A361026A76FC9BA9B9, + 72B3FF3E4E9060A4F06F89F9, + CC1AE8EECC77B1915D24C9DA, + 50CAEE20832DF292261BF105, + 68E2ACE653CDFA7D1EFBCB37, + B84BA430E8F477AB2EDC45CB, + 661DA0426C81D826ADA90BAC, + 850E016A9EA33CDCF888D7AC, + EAE65B593000E1AFCA63AEE8, + 2CE3A9187CAA637AAF93C273, + B1440ED412E2277340903AB0, + 7B1C3855706B615C704556DD, ); name = sources; sourceTree = ""; }; + 3E8C1CC521C5C0085ABD5EF2 = {isa = PBXGroup; children = ( + 06FB32F5B510DEC2A6D2FBCD, + 24E54A22403128BA82D02B09, ); name = synthesisers; sourceTree = ""; }; + 333F7FC9E4E695D243B51D53 = {isa = PBXGroup; children = ( + CA34E66B71A70E489DCD9028, + C2F146BC4298BBB96A2A6339, + 4DF8616B3F357D3ECEB23246, + EEDD06AB62749ED2479EBFA6, + 3E8C1CC521C5C0085ABD5EF2, + F6086AE27F4DEB9C75A8FFB5, + 66634B351B20F6B1F16ED9D2, ); name = "juce_audio_basics"; sourceTree = ""; }; + 5C2DC77520F6E8AB1413621E = {isa = PBXGroup; children = ( + D276367530731B2C732C50CB, + A07D0C5C60BE446FD41ADE51, + 70687CABD6ABBC69E717B73D, + 8768714C4890B02A1719AC89, + 9A67CA8503FB1E02090F5FAD, + CE5CDD52C447D5DCC7DE1259, + D4CA818D9DA2269EBCE376DE, ); name = "audio_io"; sourceTree = ""; }; + ED484B85EA0EC12853FAC2A6 = {isa = PBXGroup; children = ( + A8A190EDD8CED5ACF3AEE2C9, + 0411B541BEDEC5A67ECEAA31, + 36C81D39EEE59DF7D8AB0E0B, + 62ABA7CF7D0CE2D7B3F7BFCD, + ACEC05FF097A56FB7F3EF6B9, ); name = "midi_io"; sourceTree = ""; }; + 9116D006293FCD1E0A12EE16 = {isa = PBXGroup; children = ( + CD27B64646C58118052C3459, + 51C3B7D6330C765ADFB672FF, + AABFFB2D2D9F9BB39C95BA25, + 45693266645F0549AD1FEA88, ); name = sources; sourceTree = ""; }; + 729710EC0419FCEE902079EF = {isa = PBXGroup; children = ( + 7703A0B63AFF2C5FE9587CBF, + 2E1213ABCA6E339D156C6825, + 619377E030188B909977D85B, ); name = "audio_cd"; sourceTree = ""; }; + 6BB4269ECC3477AD8A7A32A3 = {isa = PBXGroup; children = ( + 59B2E8822B445FDD2BC590B2, + ED4FD41F6F5825084831A29C, + 1542F586268CE982EE1C9607, + BDBC99D827A9F6C5B1B0ED5E, + BB7442FBD89AFCE6AE14E0AD, + 5F43D23FA8A72E66792AE5C7, + 7B751B8BF3344D7C0980DAD0, + 40ACA092AB6B933E39268DAF, + 0B26EC9D2A47B858246A76EF, + AF80D629DF6AF8EEB11DE598, + 5CF8CAB948FAAB9164F206B0, + 880A65D7F29BF8701826BF81, + 66B35673D58EF4ABC6C50824, + EE49ECC80B5D7D0DEFA0EF7A, + 410C72660348DFD81F81386C, + C0A37CB25E8C40792454E820, + DD542B6F61E6C27A0D5A5F2A, + 2951B1B0EE3CE714426016F1, + E488221DF5AFED73C4518AE7, ); name = native; sourceTree = ""; }; + EFBCC9AA9132896CF439C9BD = {isa = PBXGroup; children = ( + 5C2DC77520F6E8AB1413621E, + ED484B85EA0EC12853FAC2A6, + 9116D006293FCD1E0A12EE16, + 729710EC0419FCEE902079EF, + 6BB4269ECC3477AD8A7A32A3, + EEE157CFCD553CC2F4D15CBB, + EBABE678E857A993B3753B83, ); name = "juce_audio_devices"; sourceTree = ""; }; + D285EE2EABEF952CC46877BA = {isa = PBXGroup; children = ( + B5A8A3579F03D2CCE4894848, + 2DBFFAB8701557418A4C7CA2, + EA77ADEA8100DFE7C2E0ABB6, + A3C0B621A37595B09825518B, + A1C21D6CF6F456E34A0E7FBE, + 819B5DAEB3840F04881F7CBD, + 983FBC7E850263512E41D13D, + 3E157C0C9F33470C32DE6008, + 31416E7F36800B9ACAEA176F, + D8EB2E5BDF6806B37482DE70, + BC35263317084BA60132B43D, + 509FC03682CA45E87F7E0A67, + 13FF137ABBAC726B7785FE0B, + 108D2A323EA2D7B31289AFFE, + 2822F9B316AEF7797E0F04B4, ); name = format; sourceTree = ""; }; + F0E2F377D5961CE0CF2EEEC1 = {isa = PBXGroup; children = ( + 5F49099628EF3662332FDB0D, + AEBF8C2FCAF972F014D43738, + 73636C4935CD275E66A85104, + 3AC4E835893B368AD0A3A30F, + 38ADFF5CB2DD15D371425F8B, + AA6A795F8A452B980C91770B, + 853E685A7CBF56CB4A532768, + 2D4DFDFFC93646E9C078865E, + D05F7D67DD28FF1156CBED39, + 6B43A5B75AB87FC3CA8D05D3, + 33FDA12B0256C2A4BD51B11E, + D54457FBB5D7B2362E69D9AF, + 663F74D8282001BEA5E93096, + 68C292BF84E3387285884015, + 774B3CFCF0748FE9E5EA4597, + 1742A7C8BB2AA11AE93DA43D, + 16D38AE110B44FE0D5E26F9D, + C8CEDA86517FE447F3A3DCF2, ); name = codecs; sourceTree = ""; }; + CD94C234A6AF95D63133D736 = {isa = PBXGroup; children = ( + E22C09309C11DAE1AA0AA148, + 4E4A47F8BEEF90A57C0C98C5, ); name = sampler; sourceTree = ""; }; + 8BB98CFCE02C8F888DEAD934 = {isa = PBXGroup; children = ( + D285EE2EABEF952CC46877BA, + F0E2F377D5961CE0CF2EEEC1, + CD94C234A6AF95D63133D736, + 3594634D87002997155671C1, + 0737A415932C93579574CE2D, ); name = "juce_audio_formats"; sourceTree = ""; }; + D7A7AC6EED05D3EFB23E0FBD = {isa = PBXGroup; children = ( + 52057B317B0FC98209D5BEC9, + A4E723D11ADD694C4A3D318C, + B97C816F9CBDE00E567E3144, + A59F49F937F6C5E6E35B8B86, + F93D065EB34B3E5270F5626D, + 1F6C3ACBB74CDDEBCBFCCA57, + 10FB75AD59E8E2AEF38167B4, + CFA38098B5AD00F5C0DF4D4D, + 4D95426C0ADAF01F92462C1E, + 72694B9BC870AF124976586F, + F356FC782C13333907F2EE17, + 80648C9ABD2B763398568A0B, + 48285F283B8D98122DB9D028, + E66B64B5619AFCB389836C06, ); name = processors; sourceTree = ""; }; + 3D87BE7DE866701CC5B6C485 = {isa = PBXGroup; children = ( + 9FE8D5E52AC84BCDEE8B414B, + 266A60D0C3095B8F7F16751E, + 1A366C1E8FF34F708C0AF994, + 20F2CFC88281301E30E08682, ); name = format; sourceTree = ""; }; + 98BF95789FAFC50466F1A1DC = {isa = PBXGroup; children = ( + 23EA0178C7150CBA80E79215, + 1CC05551F14FFC0161D8E12A, + 966F24941F855EA74A2A8914, + EEBA2A14B5473C1F19BF3D3E, + C9CD8A1AB4DAA664557DEBDC, + B7612EA3B34C6AC48079A447, + 58C9B8F93CF63036CA33A6C3, + AD0DBF0531130EAD4DF2A8FA, + 8E0D42B79853ED7FC60F931B, + D8F75466ADD0287144087C5B, + 794DEE7E5CC51940507F676F, ); name = "format_types"; sourceTree = ""; }; + D943062B41CDE85FA2B03472 = {isa = PBXGroup; children = ( + 4ADEE86E1B443E58DA6A90FC, + E388DABC27B6A417CE9B7F7B, + 6D9EBBDDFD2AF922A6947057, + 66CFF6B31868957CCF9A1C68, + 976CA25A81DCEEA8E07D2508, + 71159E965AD35ED1496B5866, ); name = scanning; sourceTree = ""; }; + B0A8A78F56D39E5C52AB1C76 = {isa = PBXGroup; children = ( + D7A7AC6EED05D3EFB23E0FBD, + 3D87BE7DE866701CC5B6C485, + 98BF95789FAFC50466F1A1DC, + D943062B41CDE85FA2B03472, + 9C56D1AE6B7768F6E27D8F31, + F7E246B8F8600787C3F10552, ); name = "juce_audio_processors"; sourceTree = ""; }; + 9DB85B0F2371EE26F3E89D82 = {isa = PBXGroup; children = ( + 22D01A956BCD31F2C54E4E38, + E45F076842C926BA5400B70B, + 07A41B027C9FC2A6DAC801F3, + 975BBC01D0C62E087E6246ED, + E0FF460CC2AACA09D6C7412E, + 16094015FECE7F7A1EE6B751, + 80BE3657BDC9B08AB3570055, + 6B107438F2E31C0BF985A733, + C407BCC7CEC505584B25682E, + FBD1053AF6BF9575682BCAF8, + E9BB6F5CCB22B9CBEA0DFAB6, + 6AC21250C86C558A82EE3B25, + 60B2BAA3043C667FE98E94CC, + 6C91F33E01BD39630B255C47, + 71F494877324567960FC3F84, + 976E37CE9482096F8A82A8CE, + 842FF0D158A48BD9C1651800, + 355F2CA65E4117FDE2391872, + 48FCAA413FA6EC7E02B33A6E, + A2D465168084C9FFAE312E3C, + 6EAF92417BE40684D0FAA797, + 3197F342A372898714E25F70, ); name = text; sourceTree = ""; }; + C9A88DFF6E95D969C2A09F24 = {isa = PBXGroup; children = ( + FB748B4E5E7E7CB38BBF07AD, + C33DDF76E058D3E11E61DE63, + 7BAEC8D30E310460FB3FC406, + 3E3D664A12153D29FC1D42ED, + 05F871A5DA3290898E2EBFBE, + 5D998A4BC436D82C3A6E8606, + 41F9BAD0BC589CC46CFEF495, + 0F0458EF50C559CFF42DDC67, + C0AC297D17FA68BBAB417A64, ); name = maths; sourceTree = ""; }; + EDEB768592E2E04E19CBBB39 = {isa = PBXGroup; children = ( + F2DFFAA96667B5897702E4B6, + 5989B7979A4446D163FD7E13, + DEE9366528ACF7F2CC0A9F73, + FD6A6D3E26D069707DD51652, + 3E85ACEDFE88D01251E25E24, + BEFB2034FC381E2DD019E372, + 4660BCF2E3BB5D499FA4A5EF, + BE4CF2165544FB2D720E1DD6, + 671B91E2FBEFF3E1A411B28A, + C66D4CDC39A565833178EB0D, + 773BD1E9176FB073B71705A0, + DA67F5A5693214A2189039D4, + 1DC4AC19C53D307B6007D02F, + C7BABEEA061F989A0A74F708, ); name = memory; sourceTree = ""; }; + 1EB689C939940E8ABE1AD59B = {isa = PBXGroup; children = ( + E5F97C758712010CF0E6D1B5, + 160486C90F388089629BA392, + FC865A2B46F423E11725FFBC, + 8A67491E410C9DB6523DABF6, + 39E15EA7A7D5C14DC2567263, + 4421B5629FD22618255E5539, + ADFFCCFC47120AF338FD8C22, + 0C2B705429E7587EB29AAD6A, + 2BCD3C3BC90487E5B932FC98, + EF70C0EA201D702D22D06396, + 356A77E7E341874950015BD0, + 25B327FEFEA517FB80B16EA1, + 3901027B107F1E3047BE9DAC, + 9C0906C06A9D1558C2982BC1, + C04188D62834AAE749694751, + 0C76BB6E3BA98DEED44473E7, + 673396F4BEBFE86BF911DBB6, + 46258D3B622AB0E2EF63F709, + 9F8B21E7C672840ACD02251E, + F1830606ECDFB808597E5A8F, ); name = containers; sourceTree = ""; }; + 312A62049C445C01FDD661BD = {isa = PBXGroup; children = ( + BC7C088D053711418A5A5698, + A646D188288588F6FB9E8C53, + B1B76C913B09E3F684F76824, + 13FC99389707E91E7EB6D000, + 4AB3D9133A3357A3FDAD3BB1, + B9EB38A9A966EBB9A359DED3, + 2E355DED51A6E9DFBFDA84CC, + FE42628E4890B2FC1D85E574, + 2BEA66F83F12716439729EEA, + 6D36D69499FD940CAD1E7484, + ABCD1CB78CD58A79D0A728D0, + A6B50D109A50FD28AE1D3F9A, + F6A4E47EA1AA7392CFA6D8AD, + 097B8DA5C29B16C544CEA626, + 140AFDDDAB2B88153F46692E, + B1C6C92A15E4605A40404381, + CC3E6F8333AA2D98AAC1235E, + 61448959C09144CC093AA715, + 6DC6E88C0FC0045CD52064F1, + 8A011075C19F974A22685EAA, + 8E06EBA4362C66A9040A2EC6, + 77A353D0E709D31E3BE00A8C, ); name = threads; sourceTree = ""; }; + 447896868A39D1BBF6C215C4 = {isa = PBXGroup; children = ( + 8FA29927B18439A066241F38, + BB4B7332B8B456297344608E, + A5A883D3DAD1D2BF2F044379, + 7609867A9F36324EA1C9F228, + 56CAE507F1D59D551C26B998, + 5C51BB323073B2AD0320825A, ); name = time; sourceTree = ""; }; + B2800371CE1A826ABDD312A5 = {isa = PBXGroup; children = ( + 23E996355EF7DFDCECA97B64, + DE3832516FB6969C0E3210D4, + 55C1F41C94C7C8ED73FC3288, + 3EA7A5F6F6D13A68653F06E8, + FC3CA13BBF45F16F19AE3047, + 7BD85F5BFF691F3E548BC8B3, + A7F58281FD0F07ECE6D261A8, + 67239C8DF5524A278253F181, + 79F7E702E92F8B23B6BCA74E, + B8A6BFA35FDD1F48C1E4E688, + 7712C8260E9F4A7C2BD9FD63, + 575F4E371F82188902F74A96, + E273A9AEACF13BC595F82289, + EF073EC891B2731068542C61, + E068F61F296A52D25E329978, + CEB259E27BB64776AF6BF076, + AB3CF49071E6EEF217783B8A, ); name = files; sourceTree = ""; }; + 22AF4BABA7E4362DABCA3E9D = {isa = PBXGroup; children = ( + E2B33608E3097EE1E7801707, + 82327EBDDBDE6104A0FFE08D, + 7B7B6659C2DD68F2373F9D3C, + 70C9E5BB2C3C4F1314DD8F4B, + 434AB1A1510034290ED3FBA8, + 3ECBCBB5D76AD9DDE65BD81A, + E81332E1BCBF978D86F92DFE, + 7A76BF61E569CCC96B9E16DE, + F1EB95EC0156CE6D16280A45, + 2517140ED8C0697A51CF87AA, ); name = network; sourceTree = ""; }; + 6B04E6A30689BE379804BC1C = {isa = PBXGroup; children = ( + 3F20765E456B1B8FF59C2461, + 5BB4A463E17E9C4AD5F43FFE, + DF2B90185FBA2C86DE767F46, + 417D4A3533F8C72814441F51, + 972D271918F957FB6FCD6CFB, + BD69D8ABDB6741F717E0DD1C, + 2D23BD941B1F4B65E5A2C2F3, + E2EEB444EC638B0C72A8A7E6, + D99465F417B8D56C2C9A212D, + C7F47C1BEDD7EE514BA40C27, + 5375E8C69E76D1570BE36946, + F8E83B5544E2379CB0B323D8, + 3AD3CC5787E119E3A1F6A55F, + F05511231DB8D8615D4A336C, + 34CBE9CCD9B23B1405C76D9C, ); name = streams; sourceTree = ""; }; + 1D0C55594A9BAF09CB69ABA6 = {isa = PBXGroup; children = ( + 791D605377E089529EA264D0, + 5784477EFEEAAD041BDF34D4, + 3DCD8AA2FF25FBE6919E8F64, + 0F7BCDE5E324E86EEA86BA7A, ); name = logging; sourceTree = ""; }; + 810ABDB24E2FE53C90BFDDFA = {isa = PBXGroup; children = ( + 2A274CF384892F3968889E0C, + F2C08F60BC16ABA3BE1F3A36, + 509031D02C057DCD1F713B6B, + 83C4DBF3382367051A65FF4D, + D37936ED5B5A415DF1F5F2C2, + F67FF8B4FA78D4E285AC0242, ); name = system; sourceTree = ""; }; + 5A97C8FA90181188140B83A0 = {isa = PBXGroup; children = ( + E5D5588D0F985DB2D5A8BAF5, + BDB1FA875F2C8263E3D2650A, + C50CE0A0485507647C78F30E, + 5CD7B0F647F366AC5510A13E, ); name = xml; sourceTree = ""; }; + 96DA2309744F7B1844D7EADE = {isa = PBXGroup; children = ( + 36632604A700FC8F53169301, + ED9CF9B1476F08D13A1E636E, + 8F81943FE96DB8DD0ABB9DF7, + 0D158239399CB7487C663168, ); name = javascript; sourceTree = ""; }; + EAFC9A1D80CBC941C7724431 = {isa = PBXGroup; children = ( + 0F7EB01A494A7D2D347B9167, + 1E6168E98312F552A0C57E54, + FBFB17CDB832B533BEF3BFAB, + C02F8C844FAD835F09408406, + 32D11E8A57FD1B5250A5E493, + 396986DB8689B7C6909777E3, ); name = zip; sourceTree = ""; }; + 2C36774A2938F4DE66EA7B1F = {isa = PBXGroup; children = ( + 6549876733A874A58F78CE78, + 20A48C39E51031BF57458A55, ); name = "unit_tests"; sourceTree = ""; }; + CCC10C50368A3362DAC1E895 = {isa = PBXGroup; children = ( + D74B9C3F462333A72B889773, + D23F862EE7BAEDAC24479902, + F937ACD8AA15A27F13F85A88, + 6364C602FBB1C4D7915DF708, + 6B5BE388D982E05CD2C7BE10, ); name = misc; sourceTree = ""; }; + 791BA85C5C83D6BFBBF82631 = {isa = PBXGroup; children = ( + 57FE8CC6D36C0376D4065444, + 19B1556541E4426450C8397C, + 274FB7736A16D65B40E1EA71, + 0CD440EC6D9EF66E117E3EBD, + 2C4E26E2F6F3B5522CA9993E, + 274546C14A985F7D454E16B7, + 783C910D9B34E33F4C7D270F, + 72E1B34915000641B7AD80EF, + BA99F87A1BC936C566A0DFA7, + B36AA5249B5B2242486B4153, + F2A3916171FCB01D6A68DD87, + 11F77DEDB8DDE2BC9B1DAB0D, + AFBCB46AC109F4982F012C0A, + CFEF06EB93957DEAE00A0030, + A8451C0D5D0549A7D923F2D6, + 254F2F62D02E4B48191083CD, + E54011F26F7D9AD38D437851, + B2EE6F9509A435D69B2508AE, + FCF5891DAC2887A6FE3EEA9F, + BD4C015152FD7519E50C9BCA, + FC2F6663A0086F14B8C0144E, + FAF22574F9AFF74820925F08, + 12BD203CEA0CE311A5789BB8, + 32940D3F55D43FA834DAD545, + CEE5BF72C9D7E467212D8973, + 332346809620F9AFA7CF3D59, ); name = native; sourceTree = ""; }; + 6D357C7BC335FFE2B3877318 = {isa = PBXGroup; children = ( + 9DB85B0F2371EE26F3E89D82, + C9A88DFF6E95D969C2A09F24, + EDEB768592E2E04E19CBBB39, + 1EB689C939940E8ABE1AD59B, + 312A62049C445C01FDD661BD, + 447896868A39D1BBF6C215C4, + B2800371CE1A826ABDD312A5, + 22AF4BABA7E4362DABCA3E9D, + 6B04E6A30689BE379804BC1C, + 1D0C55594A9BAF09CB69ABA6, + 810ABDB24E2FE53C90BFDDFA, + 5A97C8FA90181188140B83A0, + 96DA2309744F7B1844D7EADE, + EAFC9A1D80CBC941C7724431, + 2C36774A2938F4DE66EA7B1F, + CCC10C50368A3362DAC1E895, + 791BA85C5C83D6BFBBF82631, + D8C269D8BFE34CF33A2B243C, + D476B9FCEF30511BC736C744, ); name = "juce_core"; sourceTree = ""; }; + C65F5142919A93D5CB350F76 = {isa = PBXGroup; children = ( + 198B97A4FB9B21A3357160C0, + 5BD5301D9DFF3CEA10C32DBB, + 5789E773C615D393363707C8, + 59C461E6BF35CEC17FB2C9DC, + E83074E632966778B10AF088, + 14BAD66A370FA342144C7BFC, ); name = encryption; sourceTree = ""; }; + 37082FEFC588B71DD2E9F80C = {isa = PBXGroup; children = ( + 56C0EB0C9E4089ACA44588E6, + 4CAE848C3F30163816E921DC, + 83ED74D05C2699811929138C, + 9954A5B8424CE9ABC802AC8C, ); name = hashing; sourceTree = ""; }; + 6BC6B2DDDAEB6F4F64D1A010 = {isa = PBXGroup; children = ( + C65F5142919A93D5CB350F76, + 37082FEFC588B71DD2E9F80C, + 2A765F108608FDD8B2089BD1, + 8B1374A21A81C82233EBC523, ); name = "juce_cryptography"; sourceTree = ""; }; + A6D444FE8D85CED1C171C0EC = {isa = PBXGroup; children = ( + B2E2A77534D9104C78E8F3E2, + D1A2603E46734D31975B7540, + 4EBBA20040624174084744DF, + 9E46C8356029EC009F7A1C46, ); name = values; sourceTree = ""; }; + FF74D4493903CDAEF7181A06 = {isa = PBXGroup; children = ( + 73B62E5AA67F4B0483ED680F, + 0CB9B8098AB7F4CFF3991565, + 14254C2E6F168DB69F9F6494, ); name = undomanager; sourceTree = ""; }; + FA2F4F69BFFFAE7A215E77CA = {isa = PBXGroup; children = ( + 260D03D00CBF739BB3A2F604, + 623C7B6BD0B564F60F1F4012, + 6D3191834A1567C5C18A13AA, + 4411214CB9D7F986DA5A92FD, ); name = "app_properties"; sourceTree = ""; }; + 1E71D5778D41DB63E6350D93 = {isa = PBXGroup; children = ( + A6D444FE8D85CED1C171C0EC, + FF74D4493903CDAEF7181A06, + FA2F4F69BFFFAE7A215E77CA, + 014A45F4DF5D4B850A2E712D, + 8B8CEF7A6937C76CA7642C8F, ); name = "juce_data_structures"; sourceTree = ""; }; + 6B69835D713DBE0AA1335554 = {isa = PBXGroup; children = ( + F9EED40DD78515ADF3189694, + FA9CE8D2EEF012CB74C1E8CA, + 8FAA47BE39D087684520C15F, + F1BE04264A690B5EFA99FCA5, + 7063B929C5E98B803E0464EE, + 907D08843439A347B3E2A869, + 6DEF5E5D162E4F32631FE2D7, + F4EA57711C5E9DC6746728FD, + FD2080564407C8EFE21CBC96, + 427EF6B8A919A04D12F63829, + 5576ADF82B58BDBBCC75477C, + 1E21F56456B1A05606B1A328, + 6A972E2430F4B2D9A07D44D2, ); name = messages; sourceTree = ""; }; + 21AE815F08BE75F4B146FF17 = {isa = PBXGroup; children = ( + CC0ED57DE1266CEB11001787, + BEA260469BBB48EB998AA4DB, + E7EF18BE4F22063894C6FF61, + F3868CB33CA2805C31829647, ); name = timers; sourceTree = ""; }; + CFA962EE09603F3370751E99 = {isa = PBXGroup; children = ( + E8ED8CA85BE4E1BF7C5ADF53, + C3E4252156EDD0E001A10DE3, + 51713BEF84B3A58844692401, + FDC6858C3E455F9E8376B58B, + E49C04EACE55BED74E156911, + 8F9A2F59A71422296C56C8A5, + DC209283C24A9C0B601DB860, + 58301731C17BEF7BF07541AF, + 1BDDC4F584BE877D4DC1ED90, ); name = broadcasters; sourceTree = ""; }; + C6AA6C3360946FAC6A1E4CFF = {isa = PBXGroup; children = ( + BA5DE80E67A74A41D57E7663, + 0E1CA391708ADDE3952BF147, + 35641C490EE335DDFF004FEC, + 54B30BCC43C6CBF57A69A654, + E31FDA8F23FEAB726361C8DB, + 3CCB2447E4FA1C412FEEE551, ); name = interprocess; sourceTree = ""; }; + ED26DB941C1087A481ED9C8B = {isa = PBXGroup; children = ( + A878B40B811C4B83658F6A60, + 3B3FC34DE0D784314690A93C, + 656CA5CB0EF44C76ACFFDCEA, + 3DF5CBEC136D13446079C001, + CC42DBFB2ABA84046DD69E1F, + DC254EFF0D95657D703FA8F6, + 121C4D9B35F16FF170A9D4E3, + 502503CB0C00102976DF1023, ); name = native; sourceTree = ""; }; + 1B0890891B764226EB568489 = {isa = PBXGroup; children = ( + 6B69835D713DBE0AA1335554, + 21AE815F08BE75F4B146FF17, + CFA962EE09603F3370751E99, + C6AA6C3360946FAC6A1E4CFF, + ED26DB941C1087A481ED9C8B, + A061F1646238A35ED0BDA32A, + 887EE77979249B8A3E7C2C49, ); name = "juce_events"; sourceTree = ""; }; + 76BAE43251ED78FD6BE739E9 = {isa = PBXGroup; children = ( + 2A5F9649D883210E5C67CEE4, + F7D98798130B4AB14E4E82F2, + 8F5EC320CBE18D8923C7D3EF, + C45B9350ECC13FC8096D3873, + 8B743E5BA29E435BACFE17BB, + F9022636187FF444897371F1, + 223B9626308B07EEEDA7C89F, + 0D5008DFFC00B074A9970585, + 46F845FD963442D8748D3261, ); name = colour; sourceTree = ""; }; + F0740B98E17BCB69B54B4619 = {isa = PBXGroup; children = ( + E2B10A7DBF2B35A4C3A1DE21, + B28DFE72ADE03393BE8B764C, + F5EB78612A35D53F005597D4, + 85379D9BB0BA7D60CFF83DC6, + EF0061905AEAC90A86145D40, + B2A85C1813641574E4D15BF2, + 1E7CA4A04A182412B3ECEBF6, ); name = contexts; sourceTree = ""; }; + DDD3EBD3493F3D8076685D09 = {isa = PBXGroup; children = ( + 1565307D5DC70CAC563B579F, + 14BF2173D8CD3520B21E01E0, + AEA5E43C19B3566D5B2655E9, + 6BC5C181AD876196213378C2, + 9BECE88C6AB34861AF408C37, + 6E35055BA3436FC2F9B77365, + E441F10A3241806474779D5A, + 91A5A6A217FA091F2ADBE3C5, ); name = images; sourceTree = ""; }; + 240D1F671827DE817DDE901B = {isa = PBXGroup; children = ( + 793E09206EDE78138AB56CC5, + F0074D8C86D3265AF7889CCF, + 2B594B1579F4770CA36E870C, ); name = "image_formats"; sourceTree = ""; }; + 9F57E3145B8DE085C7435C7D = {isa = PBXGroup; children = ( + CE9CAFB040BE90431A432537, + A19D3050F95BFD17129EA013, + 17077E8777B646C03C92D20B, + D2EBB6A92000349A92809F02, + 18E61768FC20A6C65CF73DA5, + A20DD4F2960264FC20095777, + 1F0F8E76A0B7D289D66C4101, + 41D42F7438B6C953A2DC5038, + D85876E3373EF8AC5F39A5A8, + AB540AC77FB76E3B498E98A6, + 27AB89D8B21801C1528F53C8, + D258105EC6398A3984FD8DA3, + 7EEFCCCD23C883F6B797834E, + 015766ED6CD9D55279FC884A, + A021D917DFD4DD5D4703913C, ); name = geometry; sourceTree = ""; }; + 997C7BFF828EBD6BDD06D036 = {isa = PBXGroup; children = ( + 7E5D04471A75DF9057A4D73E, + 6CF6624AD370E4716D42CEDF, + 284C742F571D494237C52C2D, ); name = placement; sourceTree = ""; }; + 013403E10034C0DA7BEE1F39 = {isa = PBXGroup; children = ( + AA55BD139AEC1B8272ABE461, + 506DE1D3A739746007E33852, + D6AC70136461C6F3FD1987F1, + CA3D1FE94B500CF86704EB13, + 279A6546016EEB8F9264EB39, + E0544ED1BC8832C4D1296FAB, + 4271A817DD6497D0023C43A3, + C1A299D4A5AAEA645975EEB8, + A4F075DFF243F6BB90CD5950, + 3CF6CC164ED4826B4DF73177, + 2CB561058728D0EA3A66AF4A, + F0A8EA8AEA260ED20ED40247, ); name = fonts; sourceTree = ""; }; + 556560AAD3C29E08F7AFBCBA = {isa = PBXGroup; children = ( + CE11BC7911220E9CFA1283D1, + DC9D4AE01FB7CF8D2877B198, + 4142E8BA365FE77662B11891, + 473E98AA655246EECA75EDD1, + C7BB125979760AE4264BF23E, ); name = effects; sourceTree = ""; }; + 66DC0A97992202B7629A58C7 = {isa = PBXGroup; children = ( + 3A8EA18FCAE5801EF1AECC06, + E041ABD2C503FCB7EB7E49F8, + 2E62B2A1D5FE20D7E675DC3F, + DC3E9EDCD85270B2E9D33BF8, + 87EBB9223B9943D09D0ABA97, + E4D98F92A6646FC7CE4FFA1B, + E6AB1D98C43E9017F546D707, + 4825BC8A3502320ED671408E, + 73861DEE4EEBFF77B6293F90, + 54E56E35A31C662C67992C7B, + 6741B65B42E9858C7B580A36, + D9FDDAC72C576633FD41B2E7, + 4AB453F1DFC4EA7AE058B0EA, ); name = native; sourceTree = ""; }; + B4351AB8FE980A7A843DD7EB = {isa = PBXGroup; children = ( + 76BAE43251ED78FD6BE739E9, + F0740B98E17BCB69B54B4619, + DDD3EBD3493F3D8076685D09, + 240D1F671827DE817DDE901B, + 9F57E3145B8DE085C7435C7D, + 997C7BFF828EBD6BDD06D036, + 013403E10034C0DA7BEE1F39, + 556560AAD3C29E08F7AFBCBA, + 66DC0A97992202B7629A58C7, + F7D32C5CE1D85C542190C26C, + 30CBDFC5F16FD990ABC2C486, ); name = "juce_graphics"; sourceTree = ""; }; + 5A794D6AA7ACA03DC348F94D = {isa = PBXGroup; children = ( + AC2A502E05BB93CB0840344D, + 31CD83018DA7BED28A70EC1C, + 2D6A1D77D896FF6DDD5EC49F, + 942393EC874CEC183B67641C, + AD16BF0DECF3EEFD7AE11457, + B91A8133C3474D98AB6300CE, + 3F02F103D0EA0D398FA2A95D, + 293D0E58C45CE26287E99822, + B8C996306428DFB642CBFB14, ); name = components; sourceTree = ""; }; + 4AA38BF06A0BA16074879F26 = {isa = PBXGroup; children = ( + 1782B7FCE431430BD11700EB, + B8EF2AF777B74156958B72CA, + 40E971224B83783243521871, + 7246A65F3B8646D764F3A355, + 81556F6E103D6843193EA1EC, + C936095A19665316F5B675CF, + 850622AD96A6D025EC1E832D, + B0FB5996D7068C230DC6D8E0, + DB348CBC6734FFD0B7ED8A34, + C50DA493E57234B3820BD77A, + BC586A21CD33D786C4472FD4, + 9986CD0D1752D063F3DC2652, + 16421110FEB104E290E3F13C, + 1A424A0B9D68C68CD5B075E7, + 74E1A5ECBC09930A520D1A98, + 1C196D0BC6B08623601273FF, + 2740DD21925484E4BC243630, + 484ACD3191DB5BEB198EEF97, + FBF25BFCF0541B78909B16C6, + 5B5D589850B147BE94D01D42, ); name = mouse; sourceTree = ""; }; + 9AF6FBC13AA9F0C35EC524A1 = {isa = PBXGroup; children = ( + 6D1D3AFCBD704E2E3A9AB0D9, + 776FC3A674D9CCD21CB2D7A0, + E90FDEEB9C536E5E1124B00D, + 4FBA6C32DE977B1330BAD5DD, + D521465375DD0F179649668B, + 38A0CFC456FB82927DF8B990, + 3A52ADB8D2B72A1E6F455ABA, + 1E07768DDE29F15BF4F32C48, + 665600E48FF051CFE90C698D, + 69CA413A66B0EA204C1AFF4A, + 42AE889B4D596FF23E2D77CB, + B1E4A1F07EFCCA50D963CF4F, + B77BD5847F412656109A378E, ); name = keyboard; sourceTree = ""; }; + 6401A528C034A7FE4E59C5C4 = {isa = PBXGroup; children = ( + 8FFF7C1572807209B9A8A08D, + 1D6EA6E2DC8F03826454F21D, + BE635BACA572437D8DFDEEC8, + 759899A48CDE9705331F456E, + 7069BF224A795890367AB809, + F84732FE450246B23C813288, + 9AD78BC87097481DDC1815B2, + 8BA590FF6DD42B77C70BA092, + 795DBB9CDC6751C052A03827, + 355B143DFA326CC401844099, + 17AB5E83E71D5864435A011B, + C24880A7007CE75B7F8BBD71, + DE8A6DAED12A99017D7341E1, + 168D70A9989ECA609D355DA6, + 1AB2337020B7AA4AD329405A, + 67066EE59E69BCD634D38ABA, + D1C13988EF76674213DF92F4, + B2D09E29CCC80C27956BF314, + A80BB5CEC5BB5398B155F980, + 3E5E15C429B5D8BDA6815193, + DB59695708606C9604E11F0B, + 354636C92CDB97DAF80D1E6A, + 4676425D91097FBD1689298C, + 6F974A4B1AC400251425C8CA, + 99BF73D0D5B995E84BAB52B2, + 2DA8BDECC570B976D34D9263, + 4B409B90CC47BF0477D7F6E4, ); name = widgets; sourceTree = ""; }; + 17E7CDE6EA0A435BF5A4DC15 = {isa = PBXGroup; children = ( + C3A68B435020C80FC29DB89D, + 44EFBCE30DD206F4A55E4E81, + 876EE7E42127474428BE3BFF, + 76372445FC076FB8D26CEEC4, + D93861E50D66746DF070A158, + AD7CF8E55597C12D264E26D5, + EA53B7692D5E224F0477A791, + 019CD85E295A7290855D0C24, + 61C1B6B3336D774EAE4994F9, + C8B71823C30A65066A852942, + 94D011BBB3D330AEDAC86D11, + 0769D44014FDF069ECA54115, + 7581EDAFA0B1746EC8139077, + 4391785C112C65C6C1F4E05A, + 856F3C72739BD34C8CA40F3A, + E7D88F20FB6FEA84BFEC67D1, + B1C695101BE3D6A84272B6C8, + 92C99A9D9E9BCABE2AE26B9C, + C719606229204044D7C85339, ); name = windows; sourceTree = ""; }; + 39294ED083C056829DCC6B0C = {isa = PBXGroup; children = ( + E9164448EE60F4DB5F2A14D1, + 01B29765150B583E2460837C, + 275CF9CA5A34E2825DB8792C, + C2B61447889E781465E49AC3, + 1B0BEB542ED5BA84E52AEA2E, + E50BADB05430CBE8BF33F8F5, ); name = menus; sourceTree = ""; }; + 68E400580DF6F5DE436B39EB = {isa = PBXGroup; children = ( + 2EC200E7CF8C908AC3DF4416, + 1BC364DFD3A975A0CBA0AC61, + 77802A78E9D43C940C14B0BF, + C599A55407B6EB6AD55AE73C, + F6625EF536284FBD73183EA1, + FD1A5CF76641E1CE7F29B44D, + 49837BCC6CD64D108AA3E37D, + 3693D26AD61B3B089A2B9CEC, + 62F8069EE12495D7BDF5BCCB, + 8D330180BEC5572287AB158A, + 39CD252C183BBF175E1C0602, + 33D5910744D9482DBA614144, + 7D15374142A01E2760AC4818, + D17F209C6915C948F90F1349, + CBF3ED31F58A0874E0E9A64B, + 21273C209FE7E19C59952EE3, + AE86A03508278775CA9F250B, + 3E22FC06C346385E732377C5, + 1C02F9D8BEBC13937D8D9BAA, + DA223B209C3FF00A91FAA1DD, + 52B122DC1886502CCCD16ED2, + 92E26ABEFD096B05F99EE036, + 6AA216A8B8EF4E181BCD96A4, + 7049C408D43D64C1504F6505, + FC5306AC9A046F7DF6CC09FD, + 60359F3EE85F679C1D118136, + DE00116B59A20E5B69367B70, + 79A01A9B8A17C9419EBC5F73, + FD36702E757F21E0C43E8907, + 4C9A8BA6A094DC3490CF25B0, + 7C388E6394CB0A8C4C919751, + 88060C7661160C61E794D2B1, + F3813BA8E8B9F775D0A049FF, + ECD6C0DDB8587984580C96B0, + 8D57423CD5A1B516B5374499, + 6C4A5B3781D999AFA15F1016, ); name = layout; sourceTree = ""; }; + 82356BA2755E3E9A105EE32C = {isa = PBXGroup; children = ( + F5DBF428153938207320675F, + BB8AD6D858D518E804AFA0C7, + 6536E6457A8B77FDCC506401, + A87A60BF515078DF23E1F737, + AA54E821F947C9A9DC359693, + BEAB03E92089D87D7D6A2353, + 3935FEBDBA2F8025F602042C, + 5CE4484E6BAB76C9B49E6ADE, + 3B883BA33260250D6C443F87, + 80A6B9266A11D6977AD84546, + 5848A09E20AA6FE9EF1E6898, + 28BF10B49B1D14FE05CBC5DA, + F2ED5A15267070B560EFFA2B, + ECE3837512B3E620155A8432, + F7487F2DEA61873B12C6CAC0, + 449FC2FAA282C731A58D51E6, + 0892B622D73826BB91C8E418, + 6436F4F5D143E72BD77EE053, ); name = buttons; sourceTree = ""; }; + 9A1C5344E2500919F67C1907 = {isa = PBXGroup; children = ( + 8D11B58353EBDC8EBE9C641D, + C52847A293D0E8958E88DFD5, + 17A033D6C28B1E76FA8BEFCF, + 816CA082336A8BC8A9AA61BD, + C3B93391519DA8A352766580, + 406587D828CD424333E55C81, + 33B9E6212D92FB49C792ACE9, + C6B9F01A0AAA2A1DA8122912, + 9CF41B989B4516C8DB6CF7A0, + 35748B2B69B3A54D19679F3A, + ACD7FAE9EE61A4085580912B, + 360B3CDCB046B9D69C6F5ED4, + 56C2444E299E030DE7243C7D, + 220732F05D2DEBC2ADF2D45C, ); name = positioning; sourceTree = ""; }; + 6373BAB4261AEB403399D2DE = {isa = PBXGroup; children = ( + EA2BE0B9C8E1546D25A02D67, + 38043242051AD4996B081769, + 0D79BD52315BE837BAD64A82, + 9CABACB9A2FF46A8B3059D8E, + FAD5D9101D6427D96558C37F, + FC50C6150E60281125E69115, + 3F57F6B58B93E88A29F90809, + FDFE40162E4F5CCAA833061C, + 9F3DCE572188E0085FCF1956, + ADA1339F195F699D7F5369F9, + 9B9B8DBEBEA5051A602DA6C1, + DE1A6A1C0CCC94A3E3A887E3, + DCB52EFF8A9F5D9F6CF3D3FC, + 61596F68A47C4BEA8F9A4D68, + D6EDBF07E4162364DB8825D9, ); name = drawables; sourceTree = ""; }; + 4A5017F3DFD59498929C74A1 = {isa = PBXGroup; children = ( + 87C173B4D57F00E5523D3395, + 5B546C6ED44CAF4197788BC0, + 6555D39D3BE572E611DCA8EB, + 3545CC1CCF501BDBFF528908, + 78C9531A81D34333AEF14019, + 1ED3843AC8AC67374F6F5F77, + 3B3B1BB15DFF71215E86A175, + EA19F37E2AB4C42A1ACF17CE, + 70407DF33563B729D4758A17, + 3134A6BDE49CF0D3F0B12FE2, + AF5C2B3C5CF657FA722F9A68, + 1633D4A7385E8AB77FB6723E, + 5F6BDD2491C4086940AAE045, + 7392F4B60E4E28A340E465BE, ); name = properties; sourceTree = ""; }; + 7C2B9213A4FC92A23B91DB75 = {isa = PBXGroup; children = ( + 046591508FC3F71F74126E81, + 8594A236A434383AA96AEB53, + BA5A9BB00CD8BEA408371875, + F4B9C009E75153F873F4AA25, + 694EB6B22E35E09B6AB43EE2, + C48140923F2A4DEDBA063DFD, + FA6BDA8882AAEE02FB04E36F, + 8DFA760FAD9756305F9C7515, ); name = lookandfeel; sourceTree = ""; }; + 42F8790BBB2D6EAC6A228F28 = {isa = PBXGroup; children = ( + 37BD426B7B7DD8BB3EF562A6, + 3B2C9FC5B754F29B4BFF7EA9, + 541C3E9F5E720BF6D99D94CD, + 426B31F8A63727D575B2C782, + 546D112DEC6A685B52E4D7AA, + D92B6F28EF1D46625BC2A18B, + B1C7A541DFF31B38F0A17C16, + D9F41579025D12F2CCF079C4, + 281ADBFFA54CFADAE46AAE79, + EEE1F3257D7C9A527D6647E1, + 7987CDDDE250EA56F0B26A0F, + 69F89AFBA54B48038B47DDED, + FDB3097BE7C87FF74895E875, + DA12229986D485B2E2DE059B, + D24F3C46F1A46422C080A0A7, + 144BF62327063E0017BB7B0A, + B49E98EF01462277526C417D, + D01183D850457CA55516B3B2, + 7E278ACE0E80F59FBEB3122F, + 6C3B851F65AB406E5B6CAF7B, + 39DAB20FE9D55152EB2D224A, + C8FDA55A72DC4A244703C8F4, ); name = filebrowser; sourceTree = ""; }; + EB0838BDF3EDD2A6C56D1B10 = {isa = PBXGroup; children = ( + 2CD2FBF66999807E0B86E0B0, + C568E8888819EAFDCAEAF04F, + 8DBDCF6753B9AE327FC8E382, + A23A20A098747A2449C47047, + 31B42F889DD1C79540881B97, + 62935FD655DDDCE70536555F, + EEDD0D3608DCB2E459F3BF24, + EFDD05E3C006BA460761594C, + 01D4F510A1EE5495A8A419C0, ); name = commands; sourceTree = ""; }; + 3F09D506DAF77142944CD206 = {isa = PBXGroup; children = ( + B25D9BF429F016963A545287, + 343BF0E7697F399B08D42CB7, + 60F110007A8248E4318D9B0D, + B68B3E0BE0396ACD3CA52250, ); name = misc; sourceTree = ""; }; + 2EFA9503FCACF0651BB57D5A = {isa = PBXGroup; children = ( + FC00E5ABDD903617E7498A0B, + 489D9B3F2489315DBF5C552E, ); name = application; sourceTree = ""; }; + BC1C3CB4DF57CE8A1B29522F = {isa = PBXGroup; children = ( + 4717C14F84229B39FA2FA86B, + 3A5C86CF6276058B0D5AC399, + AF6001FA947F3A7DF15CBF8B, + 2BFABFBE400EBD477EEC1F7D, + AA8A3E0CF7623249B2907DB1, + CD71ED4911896207B303106F, + 7207669F41206DC961E08FD2, + 6FA9A28DB80D43E87900A1B1, + 4BF34287391AB2ED382C9CB2, + C159C35E078C5B5B9BFEFB52, + 338C5E41B8903F0894709201, + 5BF81A5EBE596AB3F3E4C222, + 6CE60A4F64042BC1A2391987, + C05E16AAF0CF0676135C0C9B, + 279D354D902DE91EB32B1BE6, + 6C5F536D935CF788C07424CC, ); name = native; sourceTree = ""; }; + 1EFC1E01B0C1ECC1EA973E50 = {isa = PBXGroup; children = ( + 5A794D6AA7ACA03DC348F94D, + 4AA38BF06A0BA16074879F26, + 9AF6FBC13AA9F0C35EC524A1, + 6401A528C034A7FE4E59C5C4, + 17E7CDE6EA0A435BF5A4DC15, + 39294ED083C056829DCC6B0C, + 68E400580DF6F5DE436B39EB, + 82356BA2755E3E9A105EE32C, + 9A1C5344E2500919F67C1907, + 6373BAB4261AEB403399D2DE, + 4A5017F3DFD59498929C74A1, + 7C2B9213A4FC92A23B91DB75, + 42F8790BBB2D6EAC6A228F28, + EB0838BDF3EDD2A6C56D1B10, + 3F09D506DAF77142944CD206, + 2EFA9503FCACF0651BB57D5A, + BC1C3CB4DF57CE8A1B29522F, + 0F1752D7FC9D89588551D5C3, + A85BBB0551113A7CD910AA16, ); name = "juce_gui_basics"; sourceTree = ""; }; + 7B917E77D4B25A14822B94CB = {isa = PBXGroup; children = ( + 1233B57573AB9503E0625ECB, + 89CC7514E6F2628CE82591BD, + 3C90895F90CF6FA4714DBF6F, + 80465B70BFD2A13EDB18B702, + 4683DEED4D9E52F0A84FCEE2, + 7156B58188258F7EBE617E15, + C007BC3372F44746BD6E98C0, + B0FE76D91413C32F64610594, + 3B172600E3C05D62F424449B, + B05257BD950E35B28F9E88CC, + 110D8C5EEF130FB1E1F7D286, + 1CEAFFE79A9E1A1E32C2BFD6, ); name = "code_editor"; sourceTree = ""; }; + 206C4AD1A507D7D003F44AD4 = {isa = PBXGroup; children = ( + 169C1D0433B29AF96A6FD27E, + F0F7DE7E362D726569559501, ); name = documents; sourceTree = ""; }; + 8AB5C3D67E25D52FC85A482D = {isa = PBXGroup; children = ( + E3381BC529641894F95F9AD6, + 9FBCE80E444BA9E69C3F6172, + AC4730773DE422AE346C6D6B, ); name = embedding; sourceTree = ""; }; + 284172C32915E2B9B95F2B0A = {isa = PBXGroup; children = ( + F9A0A82AA4D8EDB4B2305849, + 7109E1D6A2AD7A013453C922, + BCD3969359F2EB2EB970C412, + 7C2A56B41F84CF25DC4D7C7F, + 2931E23782DDD4761EA6E711, + 3F312C95E458F86E5D814AD3, + E62A008F49C8FB4ECEB6CC37, + 8C4045D24297D10F0EC9348F, + 9C52165BC295637D495791C1, + A7EBBF2BCCB164C8F5C0423F, + BCD60A4DBAB2007ECBCAB17D, + F67C770333721A5D9BFEFCF6, + 18459D45EE3F7766AB932678, + 3F32203D512AD417AE3548E4, + 67B47838D621A526D8148308, + D53FD6223C4A997E441E1F80, + F897C7899B56E5C6D5523353, + 4C57FEDA7D19BB3D05326948, + FBA60035993B1D5796D202DF, + C57BA5F014343276128923F6, ); name = misc; sourceTree = ""; }; + 7934D8F0485905857255419D = {isa = PBXGroup; children = ( + 07E89C9A0EBF5FF6A0A05EA5, + 77BAA6C13A52BE0F0A42FD0E, + 179BD4E3BB66F7CC1747ADAA, + 51FDDE6DD9DC3FB98747A0E7, + 79728934D091CBA959AD2B20, + F2DE7A0F77BCCBCFEEC0B500, + B73DF787FC51F08E279923A6, + 22B8E3336C2DA6F5DE3CE748, + B607DF0E27752A1B9A863CC6, + FC1E4BFBBE4B43200F8D30D4, + D23A9E25612E33C0C6AAA09E, + 74E37866C31A35A559E1E80D, ); name = native; sourceTree = ""; }; + 5055ACAE49BC97DD34466C48 = {isa = PBXGroup; children = ( + 7B917E77D4B25A14822B94CB, + 206C4AD1A507D7D003F44AD4, + 8AB5C3D67E25D52FC85A482D, + 284172C32915E2B9B95F2B0A, + 7934D8F0485905857255419D, + 97C71C2DD318EDB304FC1CEB, + B121FF657B96C6FFEB2C2DC1, ); name = "juce_gui_extra"; sourceTree = ""; }; + B88C560247F2D57D82F21CBB = {isa = PBXGroup; children = ( + DF53D8FD5DE7B15694D26E91, + 01FC5A0075F643D703F56555, + 9D87175DE3988B783002560D, + 75CD7766A1ACC3BA17C8B73B, + 35B404161217DAE32CC143CB, + 88EB915831B819EC3B7B124E, + D67D8599E2F89D673EA36D9F, + D9E4C045A178EA678116D439, + 4F9D0FABF1E74572460D086C, + 393EA74C63AFA103F5F3264B, + 4E053EF00EC72441FCC9A6ED, + 92655A59F40624CBDA9194B5, + F616A5D8C022126707081DC9, + D677D05978DC2C67386B63AE, + B2B042F73709D0057DE8A51E, + 6F0A25914D95D4F547F91C79, + E046CC53401A9551BDEA2D83, ); name = opengl; sourceTree = ""; }; + FEE6ACB178D213783FF6E964 = {isa = PBXGroup; children = ( + 838BB45D693ED0AAD43B93C3, + B9B0A3004948FA2387C28829, + 21FAFC1D8D92872E96F56764, + CD44827B5286ADE94DB0B79C, ); name = geometry; sourceTree = ""; }; + AC7F13F5542D3403D8F2ACB8 = {isa = PBXGroup; children = ( + CED808C5809FF89D32131CB4, + 7CD48F7A63EA97AF58ED7C5F, ); name = utils; sourceTree = ""; }; + B04BB024408E06CCC786C13E = {isa = PBXGroup; children = ( + DF42C1B300CA66580D0AED1D, + 32CFACA9C637ABD27F8A874F, + A3EFD0BE919B2F7AD7295F2D, + 2553F95186E2565315E012CF, + 5AFAF9A5651C30F1FF28A76A, + B99DD4C6D8C8F58C83ADD7CA, + 0ED63C3FFD7B718988BDDAFF, ); name = native; sourceTree = ""; }; + 8C1FC7FA6E1B36498E7EB987 = {isa = PBXGroup; children = ( + B88C560247F2D57D82F21CBB, + FEE6ACB178D213783FF6E964, + AC7F13F5542D3403D8F2ACB8, + B04BB024408E06CCC786C13E, + 3FB32BF0AB8E9BD398E92361, + E0E847621EEAEEFB21B87986, ); name = "juce_opengl"; sourceTree = ""; }; + E1A6B922CD26B2E238FFE633 = {isa = PBXGroup; children = ( + CC83A115FBF5C65772BBFAE3, + 3D26B83681D1E47ADFB2D8A9, ); name = playback; sourceTree = ""; }; + B43E665356CC8841DCE56D07 = {isa = PBXGroup; children = ( + 83619BFC8B92A2B5F17F596C, + 985C549EBDB26AF7BFD6E8A4, ); name = capture; sourceTree = ""; }; + 9BD07AD149BE8BBE4BA6B001 = {isa = PBXGroup; children = ( + D2C557606FD68958DC545A2B, + 6894AE00A49D15E9C4A31355, + BBECF34C65D1DD35DE8C6F9B, + 003AAB5BFC9435FA4823BA2F, + 72723038519B5AB5FFB52EB9, + B0E21FE9C68B99E4C751DF13, ); name = native; sourceTree = ""; }; + 01C4A7ED89A1564ED222862E = {isa = PBXGroup; children = ( + E1A6B922CD26B2E238FFE633, + B43E665356CC8841DCE56D07, + 9BD07AD149BE8BBE4BA6B001, + 6C8C142D26BAD246C4ECC102, + 317988D9466ECCE83B91CD24, ); name = "juce_video"; sourceTree = ""; }; + 128007CA5E777E8B423777F8 = {isa = PBXGroup; children = ( + 333F7FC9E4E695D243B51D53, + EFBCC9AA9132896CF439C9BD, + 8BB98CFCE02C8F888DEAD934, + B0A8A78F56D39E5C52AB1C76, + 6D357C7BC335FFE2B3877318, + 6BC6B2DDDAEB6F4F64D1A010, + 1E71D5778D41DB63E6350D93, + 1B0890891B764226EB568489, + B4351AB8FE980A7A843DD7EB, + 1EFC1E01B0C1ECC1EA973E50, + 5055ACAE49BC97DD34466C48, + 8C1FC7FA6E1B36498E7EB987, + 01C4A7ED89A1564ED222862E, ); name = "Juce Modules"; sourceTree = ""; }; + 2F6322433CCE78DD6DD4EADF = {isa = PBXGroup; children = ( + 80C983055BC197AE9FEF51D0, + 9BBC3E0155BC3F36F21F7EBB, + 7DDF23FA0DDE4FCFB121CA68, + C62300B9478B60BCBE254256, + D4A815675983D742D87E37A5, + FBDBBE33AEF062A1457DAA42, + BA895F5D0FC2F40DA0566469, + 3ED09149246BD2CC3D114FB1, + 7BE9659292437455B77D53F1, + 353C4A5B04236912332BDB1E, + 4DDD5CACDD472784437AB83C, + C0C66A94FBDE992AAD71C698, + C3B0CE7BC50EE3F20BB261EC, + D782993D6DAF0AF948A62517, + F07914AFCF34610BAC0D3B0B, + 757D9E8B34634C0E899922F9, + 27C1C1AD957D9955A13E3A4E, ); name = "Juce Library Code"; sourceTree = ""; }; + 0483BF4E3FB318109FA0F8A5 = {isa = PBXGroup; children = ( + CE28252C42BBA94C930CF460, + 342622E99E9622EDF376B782, ); name = Resources; sourceTree = ""; }; + 6F68D1090F539F5A1A041FAA = {isa = PBXGroup; children = ( + 50151F5E1EA38C0768AD9AC8, + 3948321FE783006946DC8F1F, + C3C776709CFEB52B87A9E260, + 6CDDF198D9632DA763449E05, + 9D95CB2E713755CD61842774, + 740AFAC150EAC7E6A6D6E6FA, + 51626197E6CE921E472AFCA1, + 525E733E59BB89937210A34E, + 844820FE23753AF260B13D1D, ); name = Frameworks; sourceTree = ""; }; + 5D365257108A916858E3947F = {isa = PBXGroup; children = ( + 5802E3490BEAFD892C837E2A, ); name = Products; sourceTree = ""; }; + 5EB8D0E327356FA2D5323013 = {isa = PBXGroup; children = ( + 853E25E8F0EA391EE8D4A3B8, + 128007CA5E777E8B423777F8, + 2F6322433CCE78DD6DD4EADF, + 0483BF4E3FB318109FA0F8A5, + 6F68D1090F539F5A1A041FAA, + 5D365257108A916858E3947F, ); name = Source; sourceTree = ""; }; + 8DA6C115CCBD9A0699A71FA5 = {isa = XCBuildConfiguration; buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_DEBUG=1", + "DEBUG=1", + "JUCER_XCODE_IPHONE_5BC26AE3=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; }; name = Debug; }; + D10126CC8CE60E150025A42D = {isa = XCBuildConfiguration; buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; + CLANG_CXX_LANGUAGE_STANDARD = "c++0x"; + CLANG_LINK_OBJC_RUNTIME = NO; + COMBINE_HIDPI_IMAGES = YES; + CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; + DEAD_CODE_STRIPPING = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PREPROCESSOR_DEFINITIONS = ( + "_NDEBUG=1", + "NDEBUG=1", + "JUCER_XCODE_IPHONE_5BC26AE3=1", + "JUCE_APP_VERSION=1.0.0", + "JUCE_APP_VERSION_HEX=0x10000", ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../../../modules", "$(inherited)"); + INFOPLIST_FILE = Info.plist; + INSTALL_PATH = "$(HOME)/Applications"; }; name = Release; }; + 3132BF724B47EEFACACC0FF2 = {isa = XCBuildConfiguration; buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ALWAYS_SEARCH_USER_PATHS = NO; + DEBUG_INFORMATION_FORMAT = "dwarf"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "OpenGLAppExample"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Debug; }; + 71C0F419A1E2F06DF9155ABE = {isa = XCBuildConfiguration; buildSettings = { + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ALWAYS_SEARCH_USER_PATHS = NO; + DEBUG_INFORMATION_FORMAT = "dwarf"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PRODUCT_NAME = "OpenGLAppExample"; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + WARNING_CFLAGS = -Wreorder; + ZERO_LINK = NO; }; name = Release; }; + 46FEBDB3E8E7421830E627F2 = {isa = XCConfigurationList; buildConfigurations = ( + 3132BF724B47EEFACACC0FF2, + 71C0F419A1E2F06DF9155ABE, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 72A1EE1BA283790385236C82 = {isa = XCConfigurationList; buildConfigurations = ( + 8DA6C115CCBD9A0699A71FA5, + D10126CC8CE60E150025A42D, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; + 5B757FF4605862B33A33271E = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + E7FB9D1F12020A9A921577AB, ); runOnlyForDeploymentPostprocessing = 0; }; + F1D06D2C0F24121D958BCCF0 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + D0E5FADCDC70B5989BE7D147, + D31034CCE86D686B109ADE0F, + 5211AFD1D8E7FD62EDA703A9, + 6A909F1AEE38A7340456EBBD, + 1E0BAEC7950969D956E912F1, + 4FC452CEC761FB0515E83B9C, + 6790BEB5EE46E3DF6332536F, + D4371AC9EBB0CA9B69C81C98, + 5EB3C30963D75E7D43D6AD9A, + 238A6E94B07DB483C42E0D18, + 8A7C3FEF41B5A5913396E7B1, + 148EA191DA9D3066A3C4EEEC, + BEE9A8C926B45616AC4426AB, + 0A0FD3B4C732A965C2642CC8, + 978A2567AA64957C61694427, + 913CB51D1475C7F94739502A, + D54B744850AA08DC348CE8D8, + 938FA7CCB4CD0A844BE6509F, ); runOnlyForDeploymentPostprocessing = 0; }; + 54D4A7BDAE854DE0AE2D5E3E = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + F2E327A47E10F43D6991A306, + 7FF434A451FC85BF1B79BC7F, + 8F43218E0AFA8FBC12C39860, + 3BFCAE441B663BD739FBCCB4, + 5AE83D61A34B2B62A0610EBB, + 3FCDCEFCE3D77BE1FC8A1E17, + FF3345FBD014D97240E35C15, + 6243594E2BFD65B88D9F9918, + 31F4958CEE4B57FD45310A05, ); runOnlyForDeploymentPostprocessing = 0; }; + 7B81D348370C15990CC3A1BD = {isa = PBXNativeTarget; buildConfigurationList = 72A1EE1BA283790385236C82; buildPhases = ( + 5B757FF4605862B33A33271E, + F1D06D2C0F24121D958BCCF0, + 54D4A7BDAE854DE0AE2D5E3E, ); buildRules = ( ); dependencies = ( ); name = OpenGLAppExample; productName = OpenGLAppExample; productReference = 5802E3490BEAFD892C837E2A; productInstallPath = "$(HOME)/Applications"; productType = "com.apple.product-type.application"; }; + 92078120DD024E75D724B8AB = {isa = PBXProject; buildConfigurationList = 46FEBDB3E8E7421830E627F2; attributes = { LastUpgradeCheck = 0440; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 5EB8D0E327356FA2D5323013; projectDirPath = ""; projectRoot = ""; targets = ( 7B81D348370C15990CC3A1BD ); }; + }; + rootObject = 92078120DD024E75D724B8AB; +} diff --git a/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample/Images.xcassets/AppIcon.appiconset/Contents.json b/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample/Images.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000000..765c4780a5 --- /dev/null +++ b/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample/Images.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,58 @@ +{ + "images": [ + { + "idiom": "iphone", + "size": "29x29", + "scale": "2x" + }, + { + "idiom": "iphone", + "size": "40x40", + "scale": "2x" + }, + { + "idiom": "iphone", + "size": "60x60", + "scale": "2x" + }, + { + "idiom": "iphone", + "size": "60x60", + "scale": "3x" + }, + { + "idiom": "ipad", + "size": "29x29", + "scale": "1x" + }, + { + "idiom": "ipad", + "size": "29x29", + "scale": "2x" + }, + { + "idiom": "ipad", + "size": "40x40", + "scale": "1x" + }, + { + "idiom": "ipad", + "size": "40x40", + "scale": "2x" + }, + { + "idiom": "ipad", + "size": "76x76", + "scale": "1x" + }, + { + "idiom": "ipad", + "size": "76x76", + "scale": "2x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample/Images.xcassets/LaunchImage.launchimage/Contents.json b/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample/Images.xcassets/LaunchImage.launchimage/Contents.json new file mode 100644 index 0000000000..c805626cce --- /dev/null +++ b/examples/OpenGLAppExample/Builds/iOS/OpenGLAppExample/Images.xcassets/LaunchImage.launchimage/Contents.json @@ -0,0 +1,50 @@ +{ + "images": [ + { + "orientation": "portrait", + "idiom": "iphone", + "extent": "full-screen", + "minimum-system-version": "7.0", + "scale": "2x" + }, + { + "orientation": "portrait", + "idiom": "iphone", + "extent": "full-screen", + "minimum-system-version": "7.0", + "scale": "2x" + }, + { + "orientation": "portrait", + "idiom": "ipad", + "extent": "full-screen", + "minimum-system-version": "7.0", + "scale": "1x" + }, + { + "orientation": "landscape", + "idiom": "ipad", + "extent": "full-screen", + "minimum-system-version": "7.0", + "scale": "1x" + }, + { + "orientation": "portrait", + "idiom": "ipad", + "extent": "full-screen", + "minimum-system-version": "7.0", + "scale": "2x" + }, + { + "orientation": "landscape", + "idiom": "ipad", + "extent": "full-screen", + "minimum-system-version": "7.0", + "scale": "2x" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/examples/OpenGLAppExample/JuceLibraryCode/AppConfig.h b/examples/OpenGLAppExample/JuceLibraryCode/AppConfig.h new file mode 100644 index 0000000000..ce480db502 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/AppConfig.h @@ -0,0 +1,196 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + + There's a section below where you can add your own custom code safely, and the + Introjucer will preserve the contents of that block, but the best way to change + any of these definitions is by using the Introjucer's project settings. + + Any commented-out settings will assume their default values. + +*/ + +#ifndef __JUCE_APPCONFIG_C3KRLE__ +#define __JUCE_APPCONFIG_C3KRLE__ + +//============================================================================== +// [BEGIN_USER_CODE_SECTION] + +// (You can add your own code in this section, and the Introjucer will not overwrite it) + +// [END_USER_CODE_SECTION] + +//============================================================================== +#define JUCE_MODULE_AVAILABLE_juce_audio_basics 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_devices 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_formats 1 +#define JUCE_MODULE_AVAILABLE_juce_audio_processors 1 +#define JUCE_MODULE_AVAILABLE_juce_core 1 +#define JUCE_MODULE_AVAILABLE_juce_cryptography 1 +#define JUCE_MODULE_AVAILABLE_juce_data_structures 1 +#define JUCE_MODULE_AVAILABLE_juce_events 1 +#define JUCE_MODULE_AVAILABLE_juce_graphics 1 +#define JUCE_MODULE_AVAILABLE_juce_gui_basics 1 +#define JUCE_MODULE_AVAILABLE_juce_gui_extra 1 +#define JUCE_MODULE_AVAILABLE_juce_opengl 1 +#define JUCE_MODULE_AVAILABLE_juce_video 1 + +//============================================================================== +// juce_audio_devices flags: + +#ifndef JUCE_ASIO + //#define JUCE_ASIO +#endif + +#ifndef JUCE_WASAPI + //#define JUCE_WASAPI +#endif + +#ifndef JUCE_DIRECTSOUND + //#define JUCE_DIRECTSOUND +#endif + +#ifndef JUCE_ALSA + //#define JUCE_ALSA +#endif + +#ifndef JUCE_JACK + //#define JUCE_JACK +#endif + +#ifndef JUCE_USE_ANDROID_OPENSLES + //#define JUCE_USE_ANDROID_OPENSLES +#endif + +#ifndef JUCE_USE_CDREADER + //#define JUCE_USE_CDREADER +#endif + +#ifndef JUCE_USE_CDBURNER + //#define JUCE_USE_CDBURNER +#endif + +//============================================================================== +// juce_audio_formats flags: + +#ifndef JUCE_USE_FLAC + //#define JUCE_USE_FLAC +#endif + +#ifndef JUCE_USE_OGGVORBIS + //#define JUCE_USE_OGGVORBIS +#endif + +#ifndef JUCE_USE_MP3AUDIOFORMAT + //#define JUCE_USE_MP3AUDIOFORMAT +#endif + +#ifndef JUCE_USE_LAME_AUDIO_FORMAT + //#define JUCE_USE_LAME_AUDIO_FORMAT +#endif + +#ifndef JUCE_USE_WINDOWS_MEDIA_FORMAT + //#define JUCE_USE_WINDOWS_MEDIA_FORMAT +#endif + +//============================================================================== +// juce_audio_processors flags: + +#ifndef JUCE_PLUGINHOST_VST + //#define JUCE_PLUGINHOST_VST +#endif + +#ifndef JUCE_PLUGINHOST_VST3 + //#define JUCE_PLUGINHOST_VST3 +#endif + +#ifndef JUCE_PLUGINHOST_AU + //#define JUCE_PLUGINHOST_AU +#endif + +//============================================================================== +// juce_core flags: + +#ifndef JUCE_FORCE_DEBUG + //#define JUCE_FORCE_DEBUG +#endif + +#ifndef JUCE_LOG_ASSERTIONS + //#define JUCE_LOG_ASSERTIONS +#endif + +#ifndef JUCE_CHECK_MEMORY_LEAKS + //#define JUCE_CHECK_MEMORY_LEAKS +#endif + +#ifndef JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES + //#define JUCE_DONT_AUTOLINK_TO_WIN32_LIBRARIES +#endif + +#ifndef JUCE_INCLUDE_ZLIB_CODE + //#define JUCE_INCLUDE_ZLIB_CODE +#endif + +//============================================================================== +// juce_graphics flags: + +#ifndef JUCE_USE_COREIMAGE_LOADER + //#define JUCE_USE_COREIMAGE_LOADER +#endif + +#ifndef JUCE_USE_DIRECTWRITE + //#define JUCE_USE_DIRECTWRITE +#endif + +//============================================================================== +// juce_gui_basics flags: + +#ifndef JUCE_ENABLE_REPAINT_DEBUGGING + //#define JUCE_ENABLE_REPAINT_DEBUGGING +#endif + +#ifndef JUCE_USE_XSHM + //#define JUCE_USE_XSHM +#endif + +#ifndef JUCE_USE_XRENDER + //#define JUCE_USE_XRENDER +#endif + +#ifndef JUCE_USE_XCURSOR + //#define JUCE_USE_XCURSOR +#endif + +//============================================================================== +// juce_gui_extra flags: + +#ifndef JUCE_WEB_BROWSER + //#define JUCE_WEB_BROWSER +#endif + +#ifndef JUCE_ENABLE_LIVE_CONSTANT_EDITOR + //#define JUCE_ENABLE_LIVE_CONSTANT_EDITOR +#endif + +//============================================================================== +// juce_video flags: + +#ifndef JUCE_DIRECTSHOW + //#define JUCE_DIRECTSHOW +#endif + +#ifndef JUCE_MEDIAFOUNDATION + //#define JUCE_MEDIAFOUNDATION +#endif + +#ifndef JUCE_QUICKTIME + //#define JUCE_QUICKTIME +#endif + +#ifndef JUCE_USE_CAMERA + //#define JUCE_USE_CAMERA +#endif + + +#endif // __JUCE_APPCONFIG_C3KRLE__ diff --git a/examples/OpenGLAppExample/JuceLibraryCode/BinaryData.cpp b/examples/OpenGLAppExample/JuceLibraryCode/BinaryData.cpp new file mode 100644 index 0000000000..d110f2d07c --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/BinaryData.cpp @@ -0,0 +1,1191 @@ +/* ==================================== JUCER_BINARY_RESOURCE ==================================== + + This is an auto-generated file: Any edits you make may be overwritten! + +*/ + +namespace BinaryData +{ + +//================== teapot.obj ================== +static const unsigned char temp_binary_data_0[] = +{ 35,32,77,97,120,50,79,98,106,32,86,101,114,115,105,111,110,32,52,46,48,32,77,97,114,32,49,48,116,104,44,32,50,48,48,49,10,35,10,35,32,111,98,106,101,99,116,32,84,101,97,112,111,116,48,49,32,116,111,32,99,111,109,101,32,46,46,46,10,35,10,118,32,32,53, +46,57,50,57,54,56,56,32,52,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,53,46,56,51,50,48,51,49,32,52,46,52,57,52,49,52,49,32,48,46,48,48,48,48,48,48,10,118,32,32,53,46,57,52,53,51,49,51,32,52,46,54,49,55,49,56,56,32,48,46,48,48,48,48, +48,48,10,118,32,32,54,46,49,55,53,55,56,49,32,52,46,52,57,52,49,52,49,32,48,46,48,48,48,48,48,48,10,118,32,32,54,46,52,50,57,54,56,56,32,52,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,53,46,51,56,55,49,56,56,32,52,46,49,50,53,48,48,48, +32,50,46,55,52,55,53,48,48,10,118,32,32,53,46,50,57,55,49,48,48,32,52,46,52,57,52,49,52,49,32,50,46,55,48,57,49,55,48,10,118,32,32,53,46,52,48,49,54,48,50,32,52,46,54,49,55,49,56,56,32,50,46,55,53,51,54,51,51,10,118,32,32,53,46,54,49,52,50,48,57,32,52, +46,52,57,52,49,52,49,32,50,46,56,52,52,48,57,50,10,118,32,32,53,46,56,52,56,52,51,55,32,52,46,49,50,53,48,48,48,32,50,46,57,52,51,55,53,48,10,118,32,32,51,46,56,57,57,54,56,56,32,52,46,49,50,53,48,48,48,32,52,46,57,55,48,48,48,48,10,118,32,32,51,46,56, +51,48,51,53,50,32,52,46,52,57,52,49,52,49,32,52,46,57,48,48,54,54,52,10,118,32,32,51,46,57,49,48,55,56,50,32,52,46,54,49,55,49,56,56,32,52,46,57,56,49,48,57,52,10,118,32,32,52,46,48,55,52,52,49,52,32,52,46,52,57,52,49,52,49,32,53,46,49,52,52,55,50,55, +10,118,32,32,52,46,50,53,52,54,56,55,32,52,46,49,50,53,48,48,48,32,53,46,51,50,53,48,48,48,10,118,32,32,49,46,54,55,55,49,56,56,32,52,46,49,50,53,48,48,48,32,54,46,52,53,55,53,48,48,10,118,32,32,49,46,54,51,56,56,53,56,32,52,46,52,57,52,49,52,49,32,54, +46,51,54,55,52,49,50,10,118,32,32,49,46,54,56,51,51,50,48,32,52,46,54,49,55,49,56,56,32,54,46,52,55,49,57,49,52,10,118,32,32,49,46,55,55,51,55,56,48,32,52,46,52,57,52,49,52,49,32,54,46,54,56,52,53,50,50,10,118,32,32,49,46,56,55,51,52,51,56,32,52,46,49, +50,53,48,48,48,32,54,46,57,49,56,55,53,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,52,46,49,50,53,48,48,48,32,55,46,48,48,48,48,48,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,52,46,52,57,52,49,52,49,32,54,46,57,48,50,51,52,52,10,118,32,32,45,49,46, +48,55,48,51,49,50,32,52,46,54,49,55,49,56,56,32,55,46,48,49,53,54,50,53,10,118,32,32,45,49,46,48,55,48,51,49,50,32,52,46,52,57,52,49,52,49,32,55,46,50,52,54,48,57,52,10,118,32,32,45,49,46,48,55,48,51,49,50,32,52,46,49,50,53,48,48,48,32,55,46,53,48,48, +48,48,48,10,118,32,32,45,52,46,48,48,55,54,53,54,32,52,46,49,50,53,48,48,48,32,54,46,52,53,55,53,48,48,10,118,32,32,45,51,46,56,53,57,53,55,50,32,52,46,52,57,52,49,52,49,32,54,46,51,54,55,52,49,50,10,118,32,32,45,51,46,56,52,55,54,55,54,32,52,46,54,49, +55,49,56,56,32,54,46,52,55,49,57,49,52,10,118,32,32,45,51,46,57,49,55,51,55,49,32,52,46,52,57,52,49,52,49,32,54,46,54,56,52,53,50,50,10,118,32,32,45,52,46,48,49,52,48,54,50,32,52,46,49,50,53,48,48,48,32,54,46,57,49,56,55,53,48,10,118,32,32,45,54,46,50, +48,57,48,54,51,32,52,46,49,50,53,48,48,48,32,52,46,57,55,48,48,48,48,10,118,32,32,45,54,46,48,52,50,49,54,56,32,52,46,52,57,52,49,52,49,32,52,46,57,48,48,54,54,52,10,118,32,32,45,54,46,48,55,50,53,48,48,32,52,46,54,49,55,49,56,56,32,52,46,57,56,49,48, +57,52,10,118,32,32,45,54,46,50,49,55,54,55,53,32,52,46,52,57,52,49,52,49,32,53,46,49,52,52,55,50,55,10,118,32,32,45,54,46,51,57,53,51,49,50,32,52,46,49,50,53,48,48,48,32,53,46,51,50,53,48,48,48,10,118,32,32,45,55,46,53,57,49,48,57,51,32,52,46,49,50,53, +48,48,48,32,50,46,55,52,55,53,48,48,10,118,32,32,45,55,46,52,54,52,52,50,49,32,52,46,52,57,52,49,52,49,32,50,46,55,48,57,49,55,48,10,118,32,32,45,55,46,53,53,48,49,51,55,32,52,46,54,49,55,49,56,56,32,50,46,55,53,51,54,51,51,10,118,32,32,45,55,46,55,53, +53,56,50,50,32,52,46,52,57,52,49,52,49,32,50,46,56,52,52,48,57,50,10,118,32,32,45,55,46,57,56,57,48,54,50,32,52,46,49,50,53,48,48,48,32,50,46,57,52,51,55,53,48,10,118,32,32,45,56,46,48,55,48,51,49,51,32,52,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48, +48,10,118,32,32,45,55,46,57,55,50,54,53,54,32,52,46,52,57,52,49,52,49,32,48,46,48,48,48,48,48,48,10,118,32,32,45,56,46,48,56,53,57,51,56,32,52,46,54,49,55,49,56,56,32,48,46,48,48,48,48,48,48,10,118,32,32,45,56,46,51,49,54,52,48,54,32,52,46,52,57,52,49, +52,49,32,48,46,48,48,48,48,48,48,10,118,32,32,45,56,46,53,55,48,51,49,51,32,52,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,45,55,46,53,50,55,56,49,50,32,52,46,49,50,53,48,48,48,32,45,50,46,55,52,55,53,48,48,10,118,32,32,45,55,46,52,51, +55,55,50,52,32,52,46,52,57,52,49,52,49,32,45,50,46,55,48,57,49,55,48,10,118,32,32,45,55,46,53,52,50,50,50,55,32,52,46,54,49,55,49,56,56,32,45,50,46,55,53,51,54,51,51,10,118,32,32,45,55,46,55,53,52,56,51,52,32,52,46,52,57,52,49,52,49,32,45,50,46,56,52, +52,48,57,50,10,118,32,32,45,55,46,57,56,57,48,54,50,32,52,46,49,50,53,48,48,48,32,45,50,46,57,52,51,55,53,48,10,118,32,32,45,54,46,48,52,48,51,49,50,32,52,46,49,50,53,48,48,48,32,45,52,46,57,55,48,48,48,48,10,118,32,32,45,53,46,57,55,48,57,55,55,32,52, +46,52,57,52,49,52,49,32,45,52,46,57,48,48,54,54,52,10,118,32,32,45,54,46,48,53,49,52,48,54,32,52,46,54,49,55,49,56,56,32,45,52,46,57,56,49,48,57,52,10,118,32,32,45,54,46,50,49,53,48,51,57,32,52,46,52,57,52,49,52,49,32,45,53,46,49,52,52,55,50,55,10,118, +32,32,45,54,46,51,57,53,51,49,50,32,52,46,49,50,53,48,48,48,32,45,53,46,51,50,53,48,48,48,10,118,32,32,45,51,46,56,49,55,56,49,50,32,52,46,49,50,53,48,48,48,32,45,54,46,52,53,55,53,48,48,10,118,32,32,45,51,46,55,55,57,52,56,50,32,52,46,52,57,52,49,52, +49,32,45,54,46,51,54,55,52,49,50,10,118,32,32,45,51,46,56,50,51,57,52,53,32,52,46,54,49,55,49,56,56,32,45,54,46,52,55,49,57,49,52,10,118,32,32,45,51,46,57,49,52,52,48,52,32,52,46,52,57,52,49,52,49,32,45,54,46,54,56,52,53,50,50,10,118,32,32,45,52,46,48, +49,52,48,54,50,32,52,46,49,50,53,48,48,48,32,45,54,46,57,49,56,55,53,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,52,46,49,50,53,48,48,48,32,45,55,46,48,48,48,48,48,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,52,46,52,57,52,49,52,49,32,45,54,46,57, +48,50,51,52,52,10,118,32,32,45,49,46,48,55,48,51,49,50,32,52,46,54,49,55,49,56,56,32,45,55,46,48,49,53,54,50,53,10,118,32,32,45,49,46,48,55,48,51,49,50,32,52,46,52,57,52,49,52,49,32,45,55,46,50,52,54,48,57,52,10,118,32,32,45,49,46,48,55,48,51,49,50,32, +52,46,49,50,53,48,48,48,32,45,55,46,53,48,48,48,48,48,10,118,32,32,49,46,54,55,55,49,56,56,32,52,46,49,50,53,48,48,48,32,45,54,46,52,53,55,53,48,48,10,118,32,32,49,46,54,51,56,56,53,56,32,52,46,52,57,52,49,52,49,32,45,54,46,51,54,55,52,49,50,10,118,32, +32,49,46,54,56,51,51,50,48,32,52,46,54,49,55,49,56,56,32,45,54,46,52,55,49,57,49,52,10,118,32,32,49,46,55,55,51,55,56,48,32,52,46,52,57,52,49,52,49,32,45,54,46,54,56,52,53,50,50,10,118,32,32,49,46,56,55,51,52,51,56,32,52,46,49,50,53,48,48,48,32,45,54, +46,57,49,56,55,53,48,10,118,32,32,51,46,56,57,57,54,56,56,32,52,46,49,50,53,48,48,48,32,45,52,46,57,55,48,48,48,48,10,118,32,32,51,46,56,51,48,51,53,50,32,52,46,52,57,52,49,52,49,32,45,52,46,57,48,48,54,54,52,10,118,32,32,51,46,57,49,48,55,56,50,32,52, +46,54,49,55,49,56,56,32,45,52,46,57,56,49,48,57,52,10,118,32,32,52,46,48,55,52,52,49,52,32,52,46,52,57,52,49,52,49,32,45,53,46,49,52,52,55,50,55,10,118,32,32,52,46,50,53,52,54,56,55,32,52,46,49,50,53,48,48,48,32,45,53,46,51,50,53,48,48,48,10,118,32,32, +53,46,51,56,55,49,56,56,32,52,46,49,50,53,48,48,48,32,45,50,46,55,52,55,53,48,48,10,118,32,32,53,46,50,57,55,49,48,48,32,52,46,52,57,52,49,52,49,32,45,50,46,55,48,57,49,55,48,10,118,32,32,53,46,52,48,49,54,48,50,32,52,46,54,49,55,49,56,56,32,45,50,46, +55,53,51,54,51,51,10,118,32,32,53,46,54,49,52,50,48,57,32,52,46,52,57,52,49,52,49,32,45,50,46,56,52,52,48,57,50,10,118,32,32,53,46,56,52,56,52,51,55,32,52,46,49,50,53,48,48,48,32,45,50,46,57,52,51,55,53,48,10,118,32,32,55,46,51,52,55,54,53,54,32,50,46, +49,54,50,49,48,57,32,48,46,48,48,48,48,48,48,10,118,32,32,56,46,49,52,56,52,51,56,32,48,46,50,51,52,51,55,53,32,48,46,48,48,48,48,48,48,10,118,32,32,56,46,55,49,52,56,52,52,32,45,49,46,54,50,51,48,52,55,32,48,46,48,48,48,48,48,48,10,118,32,32,56,46,57, +50,57,54,56,56,32,45,51,46,51,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,54,46,54,57,53,50,54,52,32,50,46,49,54,50,49,48,57,32,51,46,51,48,52,48,53,51,10,118,32,32,55,46,52,51,51,57,56,53,32,48,46,50,51,52,51,55,53,32,51,46,54,49,56,51,54, +48,10,118,32,32,55,46,57,53,54,52,57,52,32,45,49,46,54,50,51,48,52,55,32,51,46,56,52,48,54,55,52,10,118,32,32,56,46,49,53,52,54,56,56,32,45,51,46,51,55,53,48,48,48,32,51,46,57,50,53,48,48,48,10,118,32,32,52,46,57,48,54,52,52,54,32,50,46,49,54,50,49,48, +57,32,53,46,57,55,54,55,53,56,10,118,32,32,53,46,52,55,53,48,48,48,32,48,46,50,51,52,51,55,53,32,54,46,53,52,53,51,49,50,10,118,32,32,53,46,56,55,55,49,52,57,32,45,49,46,54,50,51,48,52,55,32,54,46,57,52,55,52,54,49,10,118,32,32,54,46,48,50,57,54,56,56, +32,45,51,46,51,55,53,48,48,48,32,55,46,49,48,48,48,48,48,10,118,32,32,50,46,50,51,51,55,52,48,32,50,46,49,54,50,49,48,57,32,55,46,55,54,53,53,55,54,10,118,32,32,50,46,53,52,56,48,52,55,32,48,46,50,51,52,51,55,53,32,56,46,53,48,52,50,57,55,10,118,32,32, +50,46,55,55,48,51,54,50,32,45,49,46,54,50,51,48,52,55,32,57,46,48,50,54,56,48,55,10,118,32,32,50,46,56,53,52,54,56,56,32,45,51,46,51,55,53,48,48,48,32,57,46,50,50,53,48,48,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,50,46,49,54,50,49,48,57,32,56,46, +52,49,55,57,54,57,10,118,32,32,45,49,46,48,55,48,51,49,50,32,48,46,50,51,52,51,55,53,32,57,46,50,49,56,55,53,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,45,49,46,54,50,51,48,52,55,32,57,46,55,56,53,49,53,54,10,118,32,32,45,49,46,48,55,48,51,49,50,32, +45,51,46,51,55,53,48,48,48,32,49,48,46,48,48,48,48,48,48,10,118,32,32,45,52,46,51,55,52,51,54,53,32,50,46,49,54,50,49,48,57,32,55,46,55,54,53,53,55,54,10,118,32,32,45,52,46,54,56,56,54,55,50,32,48,46,50,51,52,51,55,53,32,56,46,53,48,52,50,57,55,10,118, +32,32,45,52,46,57,49,48,57,56,54,32,45,49,46,54,50,51,48,52,55,32,57,46,48,50,54,56,48,55,10,118,32,32,45,52,46,57,57,53,51,49,51,32,45,51,46,51,55,53,48,48,48,32,57,46,50,50,53,48,48,48,10,118,32,32,45,55,46,48,52,55,48,55,49,32,50,46,49,54,50,49,48, +57,32,53,46,57,55,54,55,53,56,10,118,32,32,45,55,46,54,49,53,54,50,52,32,48,46,50,51,52,51,55,53,32,54,46,53,52,53,51,49,50,10,118,32,32,45,56,46,48,49,55,55,55,51,32,45,49,46,54,50,51,48,52,55,32,54,46,57,52,55,52,54,49,10,118,32,32,45,56,46,49,55,48, +51,49,50,32,45,51,46,51,55,53,48,48,48,32,55,46,49,48,48,48,48,48,10,118,32,32,45,56,46,56,51,53,56,56,57,32,50,46,49,54,50,49,48,57,32,51,46,51,48,52,48,53,51,10,118,32,32,45,57,46,53,55,52,54,49,48,32,48,46,50,51,52,51,55,53,32,51,46,54,49,56,51,54, +48,10,118,32,32,45,49,48,46,48,57,55,49,49,57,32,45,49,46,54,50,51,48,52,55,32,51,46,56,52,48,54,55,52,10,118,32,32,45,49,48,46,50,57,53,51,49,51,32,45,51,46,51,55,53,48,48,48,32,51,46,57,50,53,48,48,48,10,118,32,32,45,57,46,52,56,56,50,56,49,32,50,46, +49,54,50,49,48,57,32,48,46,48,48,48,48,48,48,10,118,32,32,45,49,48,46,50,56,57,48,54,51,32,48,46,50,51,52,51,55,53,32,48,46,48,48,48,48,48,48,10,118,32,32,45,49,48,46,56,53,53,52,54,57,32,45,49,46,54,50,51,48,52,55,32,48,46,48,48,48,48,48,48,10,118,32, +32,45,49,49,46,48,55,48,51,49,51,32,45,51,46,51,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,45,56,46,56,51,53,56,56,57,32,50,46,49,54,50,49,48,57,32,45,51,46,51,48,52,48,53,51,10,118,32,32,45,57,46,53,55,52,54,49,48,32,48,46,50,51,52,51,55, +53,32,45,51,46,54,49,56,51,54,48,10,118,32,32,45,49,48,46,48,57,55,49,49,57,32,45,49,46,54,50,51,48,52,55,32,45,51,46,56,52,48,54,55,52,10,118,32,32,45,49,48,46,50,57,53,51,49,51,32,45,51,46,51,55,53,48,48,48,32,45,51,46,57,50,53,48,48,48,10,118,32,32, +45,55,46,48,52,55,48,55,49,32,50,46,49,54,50,49,48,57,32,45,53,46,57,55,54,55,53,56,10,118,32,32,45,55,46,54,49,53,54,50,52,32,48,46,50,51,52,51,55,53,32,45,54,46,53,52,53,51,49,50,10,118,32,32,45,56,46,48,49,55,55,55,51,32,45,49,46,54,50,51,48,52,55, +32,45,54,46,57,52,55,52,54,49,10,118,32,32,45,56,46,49,55,48,51,49,50,32,45,51,46,51,55,53,48,48,48,32,45,55,46,49,48,48,48,48,48,10,118,32,32,45,52,46,51,55,52,51,54,53,32,50,46,49,54,50,49,48,57,32,45,55,46,55,54,53,53,55,54,10,118,32,32,45,52,46,54, +56,56,54,55,50,32,48,46,50,51,52,51,55,53,32,45,56,46,53,48,52,50,57,55,10,118,32,32,45,52,46,57,49,48,57,56,54,32,45,49,46,54,50,51,48,52,55,32,45,57,46,48,50,54,56,48,55,10,118,32,32,45,52,46,57,57,53,51,49,51,32,45,51,46,51,55,53,48,48,48,32,45,57, +46,50,50,53,48,48,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,50,46,49,54,50,49,48,57,32,45,56,46,52,49,55,57,54,57,10,118,32,32,45,49,46,48,55,48,51,49,50,32,48,46,50,51,52,51,55,53,32,45,57,46,50,49,56,55,53,48,10,118,32,32,45,49,46,48,55,48,51,49, +50,32,45,49,46,54,50,51,48,52,55,32,45,57,46,55,56,53,49,53,54,10,118,32,32,45,49,46,48,55,48,51,49,50,32,45,51,46,51,55,53,48,48,48,32,45,49,48,46,48,48,48,48,48,48,10,118,32,32,50,46,50,51,51,55,52,48,32,50,46,49,54,50,49,48,57,32,45,55,46,55,54,53, +53,55,54,10,118,32,32,50,46,53,52,56,48,52,55,32,48,46,50,51,52,51,55,53,32,45,56,46,53,48,52,50,57,55,10,118,32,32,50,46,55,55,48,51,54,50,32,45,49,46,54,50,51,48,52,55,32,45,57,46,48,50,54,56,48,55,10,118,32,32,50,46,56,53,52,54,56,56,32,45,51,46,51, +55,53,48,48,48,32,45,57,46,50,50,53,48,48,48,10,118,32,32,52,46,57,48,54,52,52,54,32,50,46,49,54,50,49,48,57,32,45,53,46,57,55,54,55,53,56,10,118,32,32,53,46,52,55,53,48,48,48,32,48,46,50,51,52,51,55,53,32,45,54,46,53,52,53,51,49,50,10,118,32,32,53,46, +56,55,55,49,52,57,32,45,49,46,54,50,51,48,52,55,32,45,54,46,57,52,55,52,54,49,10,118,32,32,54,46,48,50,57,54,56,56,32,45,51,46,51,55,53,48,48,48,32,45,55,46,49,48,48,48,48,48,10,118,32,32,54,46,54,57,53,50,54,52,32,50,46,49,54,50,49,48,57,32,45,51,46, +51,48,52,48,53,51,10,118,32,32,55,46,52,51,51,57,56,53,32,48,46,50,51,52,51,55,53,32,45,51,46,54,49,56,51,54,48,10,118,32,32,55,46,57,53,54,52,57,52,32,45,49,46,54,50,51,48,52,55,32,45,51,46,56,52,48,54,55,52,10,118,32,32,56,46,49,53,52,54,56,56,32,45, +51,46,51,55,53,48,48,48,32,45,51,46,57,50,53,48,48,48,10,118,32,32,56,46,53,51,57,48,54,51,32,45,52,46,56,53,55,52,50,50,32,48,46,48,48,48,48,48,48,10,118,32,32,55,46,54,55,57,54,56,56,32,45,53,46,57,53,51,49,50,53,32,48,46,48,48,48,48,48,48,10,118,32, +32,54,46,56,50,48,51,49,51,32,45,54,46,54,57,55,50,54,54,32,48,46,48,48,48,48,48,48,10,118,32,32,54,46,52,50,57,54,56,56,32,45,55,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,55,46,55,57,52,51,51,54,32,45,52,46,56,53,55,52,50,50,32,51, +46,55,55,49,54,56,48,10,118,32,32,55,46,48,48,49,53,54,50,32,45,53,46,57,53,51,49,50,53,32,51,46,52,51,52,51,55,53,10,118,32,32,54,46,50,48,56,55,56,57,32,45,54,46,54,57,55,50,54,54,32,51,46,48,57,55,48,55,48,10,118,32,32,53,46,56,52,56,52,51,55,32,45, +55,46,49,50,53,48,48,48,32,50,46,57,52,51,55,53,48,10,118,32,32,53,46,55,53,50,51,52,51,32,45,52,46,56,53,55,52,50,50,32,54,46,56,50,50,54,53,54,10,118,32,32,53,46,49,52,50,49,56,55,32,45,53,46,57,53,51,49,50,53,32,54,46,50,49,50,53,48,48,10,118,32,32, +52,46,53,51,50,48,51,49,32,45,54,46,54,57,55,50,54,54,32,53,46,54,48,50,51,52,52,10,118,32,32,52,46,50,53,52,54,56,55,32,45,55,46,49,50,53,48,48,48,32,53,46,51,50,53,48,48,48,10,118,32,32,50,46,55,48,49,51,54,55,32,45,52,46,56,53,55,52,50,50,32,56,46, +56,54,52,54,52,57,10,118,32,32,50,46,51,54,52,48,54,51,32,45,53,46,57,53,51,49,50,53,32,56,46,48,55,49,56,55,53,10,118,32,32,50,46,48,50,54,55,53,56,32,45,54,46,54,57,55,50,54,54,32,55,46,50,55,57,49,48,49,10,118,32,32,49,46,56,55,51,52,51,56,32,45,55, +46,49,50,53,48,48,48,32,54,46,57,49,56,55,53,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,45,52,46,56,53,55,52,50,50,32,57,46,54,48,57,51,55,53,10,118,32,32,45,49,46,48,55,48,51,49,50,32,45,53,46,57,53,51,49,50,53,32,56,46,55,53,48,48,48,48,10,118,32, +32,45,49,46,48,55,48,51,49,50,32,45,54,46,54,57,55,50,54,54,32,55,46,56,57,48,54,50,53,10,118,32,32,45,49,46,48,55,48,51,49,50,32,45,55,46,49,50,53,48,48,48,32,55,46,53,48,48,48,48,48,10,118,32,32,45,52,46,56,52,49,57,57,50,32,45,52,46,56,53,55,52,50, +50,32,56,46,56,54,52,54,52,57,10,118,32,32,45,52,46,53,48,52,54,56,55,32,45,53,46,57,53,51,49,50,53,32,56,46,48,55,49,56,55,53,10,118,32,32,45,52,46,49,54,55,51,56,51,32,45,54,46,54,57,55,50,54,54,32,55,46,50,55,57,49,48,49,10,118,32,32,45,52,46,48,49, +52,48,54,50,32,45,55,46,49,50,53,48,48,48,32,54,46,57,49,56,55,53,48,10,118,32,32,45,55,46,56,57,50,57,54,56,32,45,52,46,56,53,55,52,50,50,32,54,46,56,50,50,54,53,54,10,118,32,32,45,55,46,50,56,50,56,49,50,32,45,53,46,57,53,51,49,50,53,32,54,46,50,49, +50,53,48,48,10,118,32,32,45,54,46,54,55,50,54,53,54,32,45,54,46,54,57,55,50,54,54,32,53,46,54,48,50,51,52,52,10,118,32,32,45,54,46,51,57,53,51,49,50,32,45,55,46,49,50,53,48,48,48,32,53,46,51,50,53,48,48,48,10,118,32,32,45,57,46,57,51,52,57,54,49,32,45, +52,46,56,53,55,52,50,50,32,51,46,55,55,49,54,56,48,10,118,32,32,45,57,46,49,52,50,49,56,55,32,45,53,46,57,53,51,49,50,53,32,51,46,52,51,52,51,55,53,10,118,32,32,45,56,46,51,52,57,52,49,52,32,45,54,46,54,57,55,50,54,54,32,51,46,48,57,55,48,55,48,10,118, +32,32,45,55,46,57,56,57,48,54,50,32,45,55,46,49,50,53,48,48,48,32,50,46,57,52,51,55,53,48,10,118,32,32,45,49,48,46,54,55,57,54,56,56,32,45,52,46,56,53,55,52,50,50,32,48,46,48,48,48,48,48,48,10,118,32,32,45,57,46,56,50,48,51,49,51,32,45,53,46,57,53,51, +49,50,53,32,48,46,48,48,48,48,48,48,10,118,32,32,45,56,46,57,54,48,57,51,56,32,45,54,46,54,57,55,50,54,54,32,48,46,48,48,48,48,48,48,10,118,32,32,45,56,46,53,55,48,51,49,51,32,45,55,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,45,57,46, +57,51,52,57,54,49,32,45,52,46,56,53,55,52,50,50,32,45,51,46,55,55,49,54,56,48,10,118,32,32,45,57,46,49,52,50,49,56,55,32,45,53,46,57,53,51,49,50,53,32,45,51,46,52,51,52,51,55,53,10,118,32,32,45,56,46,51,52,57,52,49,52,32,45,54,46,54,57,55,50,54,54,32, +45,51,46,48,57,55,48,55,48,10,118,32,32,45,55,46,57,56,57,48,54,50,32,45,55,46,49,50,53,48,48,48,32,45,50,46,57,52,51,55,53,48,10,118,32,32,45,55,46,56,57,50,57,54,56,32,45,52,46,56,53,55,52,50,50,32,45,54,46,56,50,50,54,53,54,10,118,32,32,45,55,46,50, +56,50,56,49,50,32,45,53,46,57,53,51,49,50,53,32,45,54,46,50,49,50,53,48,48,10,118,32,32,45,54,46,54,55,50,54,53,54,32,45,54,46,54,57,55,50,54,54,32,45,53,46,54,48,50,51,52,52,10,118,32,32,45,54,46,51,57,53,51,49,50,32,45,55,46,49,50,53,48,48,48,32,45, +53,46,51,50,53,48,48,48,10,118,32,32,45,52,46,56,52,49,57,57,50,32,45,52,46,56,53,55,52,50,50,32,45,56,46,56,54,52,54,52,57,10,118,32,32,45,52,46,53,48,52,54,56,55,32,45,53,46,57,53,51,49,50,53,32,45,56,46,48,55,49,56,55,53,10,118,32,32,45,52,46,49,54, +55,51,56,51,32,45,54,46,54,57,55,50,54,54,32,45,55,46,50,55,57,49,48,49,10,118,32,32,45,52,46,48,49,52,48,54,50,32,45,55,46,49,50,53,48,48,48,32,45,54,46,57,49,56,55,53,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,45,52,46,56,53,55,52,50,50,32,45,57, +46,54,48,57,51,55,53,10,118,32,32,45,49,46,48,55,48,51,49,50,32,45,53,46,57,53,51,49,50,53,32,45,56,46,55,53,48,48,48,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,45,54,46,54,57,55,50,54,54,32,45,55,46,56,57,48,54,50,53,10,118,32,32,45,49,46,48,55,48, +51,49,50,32,45,55,46,49,50,53,48,48,48,32,45,55,46,53,48,48,48,48,48,10,118,32,32,50,46,55,48,49,51,54,55,32,45,52,46,56,53,55,52,50,50,32,45,56,46,56,54,52,54,52,57,10,118,32,32,50,46,51,54,52,48,54,51,32,45,53,46,57,53,51,49,50,53,32,45,56,46,48,55, +49,56,55,53,10,118,32,32,50,46,48,50,54,55,53,56,32,45,54,46,54,57,55,50,54,54,32,45,55,46,50,55,57,49,48,49,10,118,32,32,49,46,56,55,51,52,51,56,32,45,55,46,49,50,53,48,48,48,32,45,54,46,57,49,56,55,53,48,10,118,32,32,53,46,55,53,50,51,52,51,32,45,52, +46,56,53,55,52,50,50,32,45,54,46,56,50,50,54,53,54,10,118,32,32,53,46,49,52,50,49,56,55,32,45,53,46,57,53,51,49,50,53,32,45,54,46,50,49,50,53,48,48,10,118,32,32,52,46,53,51,50,48,51,49,32,45,54,46,54,57,55,50,54,54,32,45,53,46,54,48,50,51,52,52,10,118, +32,32,52,46,50,53,52,54,56,55,32,45,55,46,49,50,53,48,48,48,32,45,53,46,51,50,53,48,48,48,10,118,32,32,55,46,55,57,52,51,51,54,32,45,52,46,56,53,55,52,50,50,32,45,51,46,55,55,49,54,56,48,10,118,32,32,55,46,48,48,49,53,54,50,32,45,53,46,57,53,51,49,50, +53,32,45,51,46,52,51,52,51,55,53,10,118,32,32,54,46,50,48,56,55,56,57,32,45,54,46,54,57,55,50,54,54,32,45,51,46,48,57,55,48,55,48,10,118,32,32,53,46,56,52,56,52,51,55,32,45,55,46,49,50,53,48,48,48,32,45,50,46,57,52,51,55,53,48,10,118,32,32,54,46,50,53, +57,55,54,54,32,45,55,46,52,48,48,51,57,49,32,48,46,48,48,48,48,48,48,10,118,32,32,53,46,51,53,49,53,54,51,32,45,55,46,54,52,48,54,50,53,32,48,46,48,48,48,48,48,48,10,118,32,32,51,46,49,48,55,52,50,50,32,45,55,46,56,49,48,53,52,55,32,48,46,48,48,48,48, +48,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,45,55,46,56,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,53,46,54,57,49,54,56,53,32,45,55,46,52,48,48,51,57,49,32,50,46,56,55,55,48,53,54,10,118,32,32,52,46,56,53,51,56,54,56,32,45,55,46,54,52, +48,54,50,53,32,50,46,53,50,48,53,56,54,10,118,32,32,50,46,55,56,51,54,52,56,32,45,55,46,56,49,48,53,52,55,32,49,46,54,51,57,55,54,49,10,118,32,32,52,46,49,51,52,48,52,51,32,45,55,46,52,48,48,51,57,49,32,53,46,50,48,52,51,53,53,10,118,32,32,51,46,52,56, +57,50,49,57,32,45,55,46,54,52,48,54,50,53,32,52,46,53,53,57,53,51,49,10,118,32,32,49,46,56,57,53,56,55,57,32,45,55,46,56,49,48,53,52,55,32,50,46,57,54,54,49,57,49,10,118,32,32,49,46,56,48,54,55,52,51,32,45,55,46,52,48,48,51,57,49,32,54,46,55,54,49,57, +57,55,10,118,32,32,49,46,52,53,48,50,55,52,32,45,55,46,54,52,48,54,50,53,32,53,46,57,50,52,49,56,48,10,118,32,32,48,46,53,54,57,52,52,56,32,45,55,46,56,49,48,53,52,55,32,51,46,56,53,51,57,54,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,45,55,46,52,48, +48,51,57,49,32,55,46,51,51,48,48,55,56,10,118,32,32,45,49,46,48,55,48,51,49,50,32,45,55,46,54,52,48,54,50,53,32,54,46,52,50,49,56,55,53,10,118,32,32,45,49,46,48,55,48,51,49,50,32,45,55,46,56,49,48,53,52,55,32,52,46,49,55,55,55,51,52,10,118,32,32,45,51, +46,57,52,55,51,54,56,32,45,55,46,52,48,48,51,57,49,32,54,46,55,54,49,57,57,55,10,118,32,32,45,51,46,53,57,48,56,57,56,32,45,55,46,54,52,48,54,50,53,32,53,46,57,50,52,49,56,48,10,118,32,32,45,50,46,55,49,48,48,55,51,32,45,55,46,56,49,48,53,52,55,32,51, +46,56,53,51,57,54,48,10,118,32,32,45,54,46,50,55,52,54,54,56,32,45,55,46,52,48,48,51,57,49,32,53,46,50,48,52,51,53,53,10,118,32,32,45,53,46,54,50,57,56,52,52,32,45,55,46,54,52,48,54,50,53,32,52,46,53,53,57,53,51,49,10,118,32,32,45,52,46,48,51,54,53,48, +52,32,45,55,46,56,49,48,53,52,55,32,50,46,57,54,54,49,57,49,10,118,32,32,45,55,46,56,51,50,51,48,57,32,45,55,46,52,48,48,51,57,49,32,50,46,56,55,55,48,53,54,10,118,32,32,45,54,46,57,57,52,52,57,50,32,45,55,46,54,52,48,54,50,53,32,50,46,53,50,48,53,56, +54,10,118,32,32,45,52,46,57,50,52,50,55,50,32,45,55,46,56,49,48,53,52,55,32,49,46,54,51,57,55,54,49,10,118,32,32,45,56,46,52,48,48,51,57,49,32,45,55,46,52,48,48,51,57,49,32,48,46,48,48,48,48,48,48,10,118,32,32,45,55,46,52,57,50,49,56,56,32,45,55,46,54, +52,48,54,50,53,32,48,46,48,48,48,48,48,48,10,118,32,32,45,53,46,50,52,56,48,52,55,32,45,55,46,56,49,48,53,52,55,32,48,46,48,48,48,48,48,48,10,118,32,32,45,55,46,56,51,50,51,48,57,32,45,55,46,52,48,48,51,57,49,32,45,50,46,56,55,55,48,53,54,10,118,32,32, +45,54,46,57,57,52,52,57,50,32,45,55,46,54,52,48,54,50,53,32,45,50,46,53,50,48,53,56,54,10,118,32,32,45,52,46,57,50,52,50,55,50,32,45,55,46,56,49,48,53,52,55,32,45,49,46,54,51,57,55,54,49,10,118,32,32,45,54,46,50,55,52,54,54,56,32,45,55,46,52,48,48,51, +57,49,32,45,53,46,50,48,52,51,53,53,10,118,32,32,45,53,46,54,50,57,56,52,52,32,45,55,46,54,52,48,54,50,53,32,45,52,46,53,53,57,53,51,49,10,118,32,32,45,52,46,48,51,54,53,48,52,32,45,55,46,56,49,48,53,52,55,32,45,50,46,57,54,54,49,57,49,10,118,32,32,45, +51,46,57,52,55,51,54,56,32,45,55,46,52,48,48,51,57,49,32,45,54,46,55,54,49,57,57,55,10,118,32,32,45,51,46,53,57,48,56,57,56,32,45,55,46,54,52,48,54,50,53,32,45,53,46,57,50,52,49,56,48,10,118,32,32,45,50,46,55,49,48,48,55,51,32,45,55,46,56,49,48,53,52, +55,32,45,51,46,56,53,51,57,54,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,45,55,46,52,48,48,51,57,49,32,45,55,46,51,51,48,48,55,56,10,118,32,32,45,49,46,48,55,48,51,49,50,32,45,55,46,54,52,48,54,50,53,32,45,54,46,52,50,49,56,55,53,10,118,32,32,45,49, +46,48,55,48,51,49,50,32,45,55,46,56,49,48,53,52,55,32,45,52,46,49,55,55,55,51,52,10,118,32,32,49,46,56,48,54,55,52,51,32,45,55,46,52,48,48,51,57,49,32,45,54,46,55,54,49,57,57,55,10,118,32,32,49,46,52,53,48,50,55,52,32,45,55,46,54,52,48,54,50,53,32,45, +53,46,57,50,52,49,56,48,10,118,32,32,48,46,53,54,57,52,52,56,32,45,55,46,56,49,48,53,52,55,32,45,51,46,56,53,51,57,54,48,10,118,32,32,52,46,49,51,52,48,52,51,32,45,55,46,52,48,48,51,57,49,32,45,53,46,50,48,52,51,53,53,10,118,32,32,51,46,52,56,57,50,49, +57,32,45,55,46,54,52,48,54,50,53,32,45,52,46,53,53,57,53,51,49,10,118,32,32,49,46,56,57,53,56,55,57,32,45,55,46,56,49,48,53,52,55,32,45,50,46,57,54,54,49,57,49,10,118,32,32,53,46,54,57,49,54,56,53,32,45,55,46,52,48,48,51,57,49,32,45,50,46,56,55,55,48, +53,54,10,118,32,32,52,46,56,53,51,56,54,56,32,45,55,46,54,52,48,54,50,53,32,45,50,46,53,50,48,53,56,54,10,118,32,32,50,46,55,56,51,54,52,56,32,45,55,46,56,49,48,53,52,55,32,45,49,46,54,51,57,55,54,49,10,118,32,32,45,57,46,48,55,48,51,49,51,32,50,46,50, +53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,45,49,49,46,52,48,54,50,53,48,32,50,46,50,51,50,52,50,50,32,48,46,48,48,48,48,48,48,10,118,32,32,45,49,51,46,49,51,50,56,49,51,32,50,46,49,48,57,51,55,53,32,48,46,48,48,48,48,48,48,10,118,32,32,45, +49,52,46,50,48,51,49,50,53,32,49,46,55,55,53,51,57,49,32,48,46,48,48,48,48,48,48,10,118,32,32,45,49,52,46,53,55,48,51,49,51,32,49,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,45,56,46,57,57,50,49,56,56,32,50,46,52,50,53,55,56,49,32,48, +46,56,52,51,55,53,48,10,118,32,32,45,49,49,46,52,55,53,56,51,48,32,50,46,52,48,53,52,53,55,32,48,46,56,52,51,55,53,48,10,118,32,32,45,49,51,46,50,57,56,56,50,56,32,50,46,50,54,51,49,56,52,32,48,46,56,52,51,55,53,48,10,118,32,32,45,49,52,46,52,50,49,54, +51,49,32,49,46,56,55,55,48,49,52,32,48,46,56,52,51,55,53,48,10,118,32,32,45,49,52,46,56,48,52,54,56,56,32,49,46,49,50,53,48,48,48,32,48,46,56,52,51,55,53,48,10,118,32,32,45,56,46,56,50,48,51,49,51,32,50,46,56,49,50,53,48,48,32,49,46,49,50,53,48,48,48, +10,118,32,32,45,49,49,46,54,50,56,57,48,54,32,50,46,55,56,54,49,51,52,32,49,46,49,50,53,48,48,48,10,118,32,32,45,49,51,46,54,54,52,48,54,51,32,50,46,54,48,49,53,54,51,32,49,46,49,50,53,48,48,48,10,118,32,32,45,49,52,46,57,48,50,51,52,52,32,50,46,49,48, +48,53,56,54,32,49,46,49,50,53,48,48,48,10,118,32,32,45,49,53,46,51,50,48,51,49,51,32,49,46,49,50,53,48,48,48,32,49,46,49,50,53,48,48,48,10,118,32,32,45,56,46,54,52,56,52,51,56,32,51,46,49,57,57,50,49,57,32,48,46,56,52,51,55,53,48,10,118,32,32,45,49,49, +46,55,56,49,57,56,50,32,51,46,49,54,54,56,48,57,32,48,46,56,52,51,55,53,48,10,118,32,32,45,49,52,46,48,50,57,50,57,55,32,50,46,57,51,57,57,52,49,32,48,46,56,52,51,55,53,48,10,118,32,32,45,49,53,46,51,56,51,48,53,55,32,50,46,51,50,52,49,53,56,32,48,46, +56,52,51,55,53,48,10,118,32,32,45,49,53,46,56,51,53,57,51,56,32,49,46,49,50,53,48,48,48,32,48,46,56,52,51,55,53,48,10,118,32,32,45,56,46,53,55,48,51,49,51,32,51,46,51,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,45,49,49,46,56,53,49,53,54,51, +32,51,46,51,51,57,56,52,52,32,48,46,48,48,48,48,48,48,10,118,32,32,45,49,52,46,49,57,53,51,49,51,32,51,46,48,57,51,55,53,48,32,48,46,48,48,48,48,48,48,10,118,32,32,45,49,53,46,54,48,49,53,54,51,32,50,46,52,50,53,55,56,49,32,48,46,48,48,48,48,48,48,10, +118,32,32,45,49,54,46,48,55,48,51,49,51,32,49,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,45,56,46,54,52,56,52,51,56,32,51,46,49,57,57,50,49,57,32,45,48,46,56,52,51,55,53,48,10,118,32,32,45,49,49,46,55,56,49,57,56,50,32,51,46,49,54,54, +56,48,57,32,45,48,46,56,52,51,55,53,48,10,118,32,32,45,49,52,46,48,50,57,50,57,55,32,50,46,57,51,57,57,52,49,32,45,48,46,56,52,51,55,53,48,10,118,32,32,45,49,53,46,51,56,51,48,53,55,32,50,46,51,50,52,49,53,56,32,45,48,46,56,52,51,55,53,48,10,118,32,32, +45,49,53,46,56,51,53,57,51,56,32,49,46,49,50,53,48,48,48,32,45,48,46,56,52,51,55,53,48,10,118,32,32,45,56,46,56,50,48,51,49,51,32,50,46,56,49,50,53,48,48,32,45,49,46,49,50,53,48,48,48,10,118,32,32,45,49,49,46,54,50,56,57,48,54,32,50,46,55,56,54,49,51, +52,32,45,49,46,49,50,53,48,48,48,10,118,32,32,45,49,51,46,54,54,52,48,54,51,32,50,46,54,48,49,53,54,51,32,45,49,46,49,50,53,48,48,48,10,118,32,32,45,49,52,46,57,48,50,51,52,52,32,50,46,49,48,48,53,56,54,32,45,49,46,49,50,53,48,48,48,10,118,32,32,45,49, +53,46,51,50,48,51,49,51,32,49,46,49,50,53,48,48,48,32,45,49,46,49,50,53,48,48,48,10,118,32,32,45,56,46,57,57,50,49,56,56,32,50,46,52,50,53,55,56,49,32,45,48,46,56,52,51,55,53,48,10,118,32,32,45,49,49,46,52,55,53,56,51,48,32,50,46,52,48,53,52,53,55,32, +45,48,46,56,52,51,55,53,48,10,118,32,32,45,49,51,46,50,57,56,56,50,56,32,50,46,50,54,51,49,56,52,32,45,48,46,56,52,51,55,53,48,10,118,32,32,45,49,52,46,52,50,49,54,51,49,32,49,46,56,55,55,48,49,52,32,45,48,46,56,52,51,55,53,48,10,118,32,32,45,49,52,46, +56,48,52,54,56,56,32,49,46,49,50,53,48,48,48,32,45,48,46,56,52,51,55,53,48,10,118,32,32,45,49,52,46,51,55,53,48,48,48,32,48,46,49,48,53,52,54,57,32,48,46,48,48,48,48,48,48,10,118,32,32,45,49,51,46,55,53,55,56,49,51,32,45,49,46,49,50,53,48,48,48,32,48, +46,48,48,48,48,48,48,10,118,32,32,45,49,50,46,54,55,49,56,55,53,32,45,50,46,51,53,53,52,54,57,32,48,46,48,48,48,48,48,48,10,118,32,32,45,49,49,46,48,55,48,51,49,51,32,45,51,46,51,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,45,49,52,46,53,56, +56,48,49,51,32,48,46,48,48,55,48,53,48,32,48,46,56,52,51,55,53,48,10,118,32,32,45,49,51,46,57,48,57,49,56,48,32,45,49,46,50,55,53,49,52,54,32,48,46,56,52,51,55,53,48,10,118,32,32,45,49,50,46,55,50,52,57,55,54,32,45,50,46,53,52,48,56,54,51,32,48,46,56, +52,51,55,53,48,10,118,32,32,45,49,48,46,57,57,50,49,56,56,32,45,51,46,54,48,57,51,55,53,32,48,46,56,52,51,55,53,48,10,118,32,32,45,49,53,46,48,53,54,54,52,49,32,45,48,46,50,48,57,52,55,51,32,49,46,49,50,53,48,48,48,10,118,32,32,45,49,52,46,50,52,50,49, +56,56,32,45,49,46,54,48,53,52,54,57,32,49,46,49,50,53,48,48,48,10,118,32,32,45,49,50,46,56,52,49,55,57,55,32,45,50,46,57,52,56,55,51,48,32,49,46,49,50,53,48,48,48,10,118,32,32,45,49,48,46,56,50,48,51,49,51,32,45,52,46,49,50,53,48,48,48,32,49,46,49,50, +53,48,48,48,10,118,32,32,45,49,53,46,53,50,53,50,54,57,32,45,48,46,52,50,53,57,57,53,32,48,46,56,52,51,55,53,48,10,118,32,32,45,49,52,46,53,55,53,49,57,53,32,45,49,46,57,51,53,55,57,49,32,48,46,56,52,51,55,53,48,10,118,32,32,45,49,50,46,57,53,56,54,49, +56,32,45,51,46,51,53,54,53,57,56,32,48,46,56,52,51,55,53,48,10,118,32,32,45,49,48,46,54,52,56,52,51,56,32,45,52,46,54,52,48,54,50,53,32,48,46,56,52,51,55,53,48,10,118,32,32,45,49,53,46,55,51,56,50,56,49,32,45,48,46,53,50,52,52,49,52,32,48,46,48,48,48, +48,48,48,10,118,32,32,45,49,52,46,55,50,54,53,54,51,32,45,50,46,48,56,53,57,51,56,32,48,46,48,48,48,48,48,48,10,118,32,32,45,49,51,46,48,49,49,55,49,57,32,45,51,46,53,52,49,57,57,50,32,48,46,48,48,48,48,48,48,10,118,32,32,45,49,48,46,53,55,48,51,49,51, +32,45,52,46,56,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,45,49,53,46,53,50,53,50,54,57,32,45,48,46,52,50,53,57,57,53,32,45,48,46,56,52,51,55,53,48,10,118,32,32,45,49,52,46,53,55,53,49,57,53,32,45,49,46,57,51,53,55,57,49,32,45,48,46,56,52, +51,55,53,48,10,118,32,32,45,49,50,46,57,53,56,54,49,56,32,45,51,46,51,53,54,53,57,56,32,45,48,46,56,52,51,55,53,48,10,118,32,32,45,49,48,46,54,52,56,52,51,56,32,45,52,46,54,52,48,54,50,53,32,45,48,46,56,52,51,55,53,48,10,118,32,32,45,49,53,46,48,53,54, +54,52,49,32,45,48,46,50,48,57,52,55,51,32,45,49,46,49,50,53,48,48,48,10,118,32,32,45,49,52,46,50,52,50,49,56,56,32,45,49,46,54,48,53,52,54,57,32,45,49,46,49,50,53,48,48,48,10,118,32,32,45,49,50,46,56,52,49,55,57,55,32,45,50,46,57,52,56,55,51,48,32,45, +49,46,49,50,53,48,48,48,10,118,32,32,45,49,48,46,56,50,48,51,49,51,32,45,52,46,49,50,53,48,48,48,32,45,49,46,49,50,53,48,48,48,10,118,32,32,45,49,52,46,53,56,56,48,49,51,32,48,46,48,48,55,48,53,48,32,45,48,46,56,52,51,55,53,48,10,118,32,32,45,49,51,46, +57,48,57,49,56,48,32,45,49,46,50,55,53,49,52,54,32,45,48,46,56,52,51,55,53,48,10,118,32,32,45,49,50,46,55,50,52,57,55,54,32,45,50,46,53,52,48,56,54,51,32,45,48,46,56,52,51,55,53,48,10,118,32,32,45,49,48,46,57,57,50,49,56,56,32,45,51,46,54,48,57,51,55, +53,32,45,48,46,56,52,51,55,53,48,10,118,32,32,55,46,52,50,57,54,56,56,32,45,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,57,46,56,50,56,49,50,53,32,45,48,46,49,57,57,50,49,57,32,48,46,48,48,48,48,48,48,10,118,32,32,49,48,46,56,54,55, +49,56,56,32,49,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,49,49,46,52,51,55,53,48,48,32,50,46,55,51,48,52,54,57,32,48,46,48,48,48,48,48,48,10,118,32,32,49,50,46,52,50,57,54,56,56,32,52,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48, +10,118,32,32,55,46,52,50,57,54,56,56,32,45,49,46,51,57,52,53,51,49,32,49,46,56,53,54,50,53,48,10,118,32,32,49,48,46,48,49,49,50,51,48,32,45,48,46,54,55,55,49,50,52,32,49,46,54,55,54,48,55,52,10,118,32,32,49,49,46,49,48,49,53,54,51,32,48,46,56,52,54,54, +56,48,32,49,46,50,55,57,54,56,56,10,118,32,32,49,49,46,55,50,51,49,52,53,32,50,46,54,50,57,55,54,49,32,48,46,56,56,51,51,48,49,10,118,32,32,49,50,46,56,57,56,52,51,56,32,52,46,49,50,53,48,48,48,32,48,46,55,48,51,49,50,53,10,118,32,32,55,46,52,50,57,54, +56,56,32,45,50,46,56,49,50,53,48,48,32,50,46,52,55,53,48,48,48,10,118,32,32,49,48,46,52,49,52,48,54,51,32,45,49,46,55,50,56,53,49,54,32,50,46,50,51,52,55,54,54,10,118,32,32,49,49,46,54,49,55,49,56,56,32,48,46,50,51,52,51,55,53,32,49,46,55,48,54,50,53, +48,10,118,32,32,49,50,46,51,53,49,53,54,51,32,50,46,52,48,56,50,48,51,32,49,46,49,55,55,55,51,52,10,118,32,32,49,51,46,57,50,57,54,56,56,32,52,46,49,50,53,48,48,48,32,48,46,57,51,55,53,48,48,10,118,32,32,55,46,52,50,57,54,56,56,32,45,52,46,50,51,48,52, +54,57,32,49,46,56,53,54,50,53,48,10,118,32,32,49,48,46,56,49,54,56,57,53,32,45,50,46,55,55,57,57,48,55,32,49,46,54,55,54,48,55,52,10,118,32,32,49,50,46,49,51,50,56,49,51,32,45,48,46,51,55,55,57,51,48,32,49,46,50,55,57,54,56,56,10,118,32,32,49,50,46,57, +55,57,57,56,48,32,50,46,49,56,54,54,52,54,32,48,46,56,56,51,51,48,49,10,118,32,32,49,52,46,57,54,48,57,51,56,32,52,46,49,50,53,48,48,48,32,48,46,55,48,51,49,50,53,10,118,32,32,55,46,52,50,57,54,56,56,32,45,52,46,56,55,53,48,48,48,32,48,46,48,48,48,48, +48,48,10,118,32,32,49,49,46,48,48,48,48,48,48,32,45,51,46,50,53,55,56,49,51,32,48,46,48,48,48,48,48,48,10,118,32,32,49,50,46,51,54,55,49,56,56,32,45,48,46,54,53,54,50,53,48,32,48,46,48,48,48,48,48,48,10,118,32,32,49,51,46,50,54,53,54,50,53,32,50,46,48, +56,53,57,51,56,32,48,46,48,48,48,48,48,48,10,118,32,32,49,53,46,52,50,57,54,56,56,32,52,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,55,46,52,50,57,54,56,56,32,45,52,46,50,51,48,52,54,57,32,45,49,46,56,53,54,50,53,48,10,118,32,32,49,48, +46,56,49,54,56,57,53,32,45,50,46,55,55,57,57,48,55,32,45,49,46,54,55,54,48,55,52,10,118,32,32,49,50,46,49,51,50,56,49,51,32,45,48,46,51,55,55,57,51,48,32,45,49,46,50,55,57,54,56,56,10,118,32,32,49,50,46,57,55,57,57,56,48,32,50,46,49,56,54,54,52,54,32, +45,48,46,56,56,51,51,48,49,10,118,32,32,49,52,46,57,54,48,57,51,56,32,52,46,49,50,53,48,48,48,32,45,48,46,55,48,51,49,50,53,10,118,32,32,55,46,52,50,57,54,56,56,32,45,50,46,56,49,50,53,48,48,32,45,50,46,52,55,53,48,48,48,10,118,32,32,49,48,46,52,49,52, +48,54,51,32,45,49,46,55,50,56,53,49,54,32,45,50,46,50,51,52,55,54,54,10,118,32,32,49,49,46,54,49,55,49,56,56,32,48,46,50,51,52,51,55,53,32,45,49,46,55,48,54,50,53,48,10,118,32,32,49,50,46,51,53,49,53,54,51,32,50,46,52,48,56,50,48,51,32,45,49,46,49,55, +55,55,51,52,10,118,32,32,49,51,46,57,50,57,54,56,56,32,52,46,49,50,53,48,48,48,32,45,48,46,57,51,55,53,48,48,10,118,32,32,55,46,52,50,57,54,56,56,32,45,49,46,51,57,52,53,51,49,32,45,49,46,56,53,54,50,53,48,10,118,32,32,49,48,46,48,49,49,50,51,48,32,45, +48,46,54,55,55,49,50,52,32,45,49,46,54,55,54,48,55,52,10,118,32,32,49,49,46,49,48,49,53,54,51,32,48,46,56,52,54,54,56,48,32,45,49,46,50,55,57,54,56,56,10,118,32,32,49,49,46,55,50,51,49,52,53,32,50,46,54,50,57,55,54,49,32,45,48,46,56,56,51,51,48,49,10, +118,32,32,49,50,46,56,57,56,52,51,56,32,52,46,49,50,53,48,48,48,32,45,48,46,55,48,51,49,50,53,10,118,32,32,49,50,46,55,56,57,48,54,51,32,52,46,51,51,53,57,51,56,32,48,46,48,48,48,48,48,48,10,118,32,32,49,51,46,48,53,52,54,56,56,32,52,46,52,48,54,50,53, +48,32,48,46,48,48,48,48,48,48,10,118,32,32,49,51,46,49,51,50,56,49,51,32,52,46,51,51,53,57,51,56,32,48,46,48,48,48,48,48,48,10,118,32,32,49,50,46,57,50,57,54,56,56,32,52,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,49,51,46,50,57,49,48, +55,55,32,52,46,51,52,54,50,51,55,32,48,46,54,53,57,49,56,48,10,118,32,32,49,51,46,53,50,53,56,55,57,32,52,46,52,50,50,55,50,57,32,48,46,53,54,50,53,48,48,10,118,32,32,49,51,46,53,51,50,56,57,56,32,52,46,51,53,48,51,53,55,32,48,46,52,54,53,56,50,48,10, +118,32,32,49,51,46,50,52,50,49,56,56,32,52,46,49,50,53,48,48,48,32,48,46,52,50,49,56,55,53,10,118,32,32,49,52,46,51,57,53,53,48,56,32,52,46,51,54,56,56,57,54,32,48,46,56,55,56,57,48,54,10,118,32,32,49,52,46,53,54,50,53,48,48,32,52,46,52,53,56,57,56,52, +32,48,46,55,53,48,48,48,48,10,118,32,32,49,52,46,52,49,51,48,56,54,32,52,46,51,56,50,48,56,48,32,48,46,54,50,49,48,57,52,10,118,32,32,49,51,46,57,50,57,54,56,56,32,52,46,49,50,53,48,48,48,32,48,46,53,54,50,53,48,48,10,118,32,32,49,53,46,52,57,57,57,51, +57,32,52,46,51,57,49,53,53,54,32,48,46,54,53,57,49,56,48,10,118,32,32,49,53,46,53,57,57,49,50,49,32,52,46,52,57,53,50,51,57,32,48,46,53,54,50,53,48,48,10,118,32,32,49,53,46,50,57,51,50,55,52,32,52,46,52,49,51,56,48,52,32,48,46,52,54,53,56,50,48,10,118, +32,32,49,52,46,54,49,55,49,56,56,32,52,46,49,50,53,48,48,48,32,48,46,52,50,49,56,55,53,10,118,32,32,49,54,46,48,48,49,57,53,51,32,52,46,52,48,49,56,53,53,32,48,46,48,48,48,48,48,48,10,118,32,32,49,54,46,48,55,48,51,49,51,32,52,46,53,49,49,55,49,57,32, +48,46,48,48,48,48,48,48,10,118,32,32,49,53,46,54,57,51,51,53,57,32,52,46,52,50,56,50,50,52,32,48,46,48,48,48,48,48,48,10,118,32,32,49,52,46,57,50,57,54,56,56,32,52,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,49,53,46,52,57,57,57,51,57, +32,52,46,51,57,49,53,53,54,32,45,48,46,54,53,57,49,56,48,10,118,32,32,49,53,46,53,57,57,49,50,49,32,52,46,52,57,53,50,51,57,32,45,48,46,53,54,50,53,48,48,10,118,32,32,49,53,46,50,57,51,50,55,52,32,52,46,52,49,51,56,48,52,32,45,48,46,52,54,53,56,50,48, +10,118,32,32,49,52,46,54,49,55,49,56,56,32,52,46,49,50,53,48,48,48,32,45,48,46,52,50,49,56,55,53,10,118,32,32,49,52,46,51,57,53,53,48,56,32,52,46,51,54,56,56,57,54,32,45,48,46,56,55,56,57,48,54,10,118,32,32,49,52,46,53,54,50,53,48,48,32,52,46,52,53,56, +57,56,52,32,45,48,46,55,53,48,48,48,48,10,118,32,32,49,52,46,52,49,51,48,56,54,32,52,46,51,56,50,48,56,48,32,45,48,46,54,50,49,48,57,52,10,118,32,32,49,51,46,57,50,57,54,56,56,32,52,46,49,50,53,48,48,48,32,45,48,46,53,54,50,53,48,48,10,118,32,32,49,51, +46,50,57,49,48,55,55,32,52,46,51,52,54,50,51,55,32,45,48,46,54,53,57,49,56,48,10,118,32,32,49,51,46,53,50,53,56,55,57,32,52,46,52,50,50,55,50,57,32,45,48,46,53,54,50,53,48,48,10,118,32,32,49,51,46,53,51,50,56,57,56,32,52,46,51,53,48,51,53,55,32,45,48, +46,52,54,53,56,50,48,10,118,32,32,49,51,46,50,52,50,49,56,56,32,52,46,49,50,53,48,48,48,32,45,48,46,52,50,49,56,55,53,10,118,32,32,45,49,46,48,55,48,51,49,50,32,55,46,56,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,48,46,54,51,50,56,49,51,32, +55,46,54,50,56,57,48,54,32,48,46,48,48,48,48,48,48,10,118,32,32,48,46,53,53,52,54,56,56,32,55,46,48,51,49,50,53,48,32,48,46,48,48,48,48,48,48,10,118,32,32,45,48,46,48,56,53,57,51,55,32,54,46,50,57,50,57,54,57,32,48,46,48,48,48,48,48,48,10,118,32,32,45, +48,46,48,55,48,51,49,50,32,53,46,54,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,48,46,53,48,49,52,49,52,32,55,46,54,50,56,57,48,54,32,48,46,54,55,48,50,53,54,10,118,32,32,48,46,52,50,57,50,55,56,32,55,46,48,51,49,50,53,48,32,48,46,54,51,57, +51,57,53,10,118,32,32,45,48,46,49,54,50,48,50,57,32,54,46,50,57,50,57,54,57,32,48,46,51,56,54,57,54,48,10,118,32,32,45,48,46,49,52,55,56,49,50,32,53,46,54,50,53,48,48,48,32,48,46,51,57,50,53,48,48,10,118,32,32,48,46,49,52,48,52,56,57,32,55,46,54,50,56, +57,48,54,32,49,46,50,49,48,56,48,49,10,118,32,32,48,46,48,56,52,56,52,52,32,55,46,48,51,49,50,53,48,32,49,46,49,53,53,49,53,54,10,118,32,32,45,48,46,51,55,48,56,55,57,32,54,46,50,57,50,57,54,57,32,48,46,54,57,57,52,51,52,10,118,32,32,45,48,46,51,54,48, +51,49,50,32,53,46,54,50,53,48,48,48,32,48,46,55,49,48,48,48,48,10,118,32,32,45,48,46,52,48,48,48,53,54,32,55,46,54,50,56,57,48,54,32,49,46,53,55,49,55,50,54,10,118,32,32,45,48,46,52,51,48,57,49,56,32,55,46,48,51,49,50,53,48,32,49,46,52,57,57,53,57,48, +10,118,32,32,45,48,46,54,56,51,51,53,50,32,54,46,50,57,50,57,54,57,32,48,46,57,48,56,50,56,52,10,118,32,32,45,48,46,54,55,55,56,49,50,32,53,46,54,50,53,48,48,48,32,48,46,57,50,50,53,48,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,55,46,54,50,56,57,48, +54,32,49,46,55,48,51,49,50,53,10,118,32,32,45,49,46,48,55,48,51,49,50,32,55,46,48,51,49,50,53,48,32,49,46,54,50,53,48,48,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,54,46,50,57,50,57,54,57,32,48,46,57,56,52,51,55,53,10,118,32,32,45,49,46,48,55,48,51, +49,50,32,53,46,54,50,53,48,48,48,32,49,46,48,48,48,48,48,48,10,118,32,32,45,49,46,55,52,48,53,54,57,32,55,46,54,50,56,57,48,54,32,49,46,53,55,49,55,50,54,10,118,32,32,45,49,46,55,48,57,55,48,55,32,55,46,48,51,49,50,53,48,32,49,46,52,57,57,53,57,48,10, +118,32,32,45,49,46,52,53,55,50,55,51,32,54,46,50,57,50,57,54,57,32,48,46,57,48,56,50,56,52,10,118,32,32,45,49,46,52,54,50,56,49,50,32,53,46,54,50,53,48,48,48,32,48,46,57,50,50,53,48,48,10,118,32,32,45,50,46,50,56,49,49,49,51,32,55,46,54,50,56,57,48,54, +32,49,46,50,49,48,56,48,49,10,118,32,32,45,50,46,50,50,53,52,54,57,32,55,46,48,51,49,50,53,48,32,49,46,49,53,53,49,53,54,10,118,32,32,45,49,46,55,54,57,55,52,54,32,54,46,50,57,50,57,54,57,32,48,46,54,57,57,52,51,52,10,118,32,32,45,49,46,55,56,48,51,49, +50,32,53,46,54,50,53,48,48,48,32,48,46,55,49,48,48,48,48,10,118,32,32,45,50,46,54,52,50,48,51,56,32,55,46,54,50,56,57,48,54,32,48,46,54,55,48,50,53,54,10,118,32,32,45,50,46,53,54,57,57,48,50,32,55,46,48,51,49,50,53,48,32,48,46,54,51,57,51,57,53,10,118, +32,32,45,49,46,57,55,56,53,57,54,32,54,46,50,57,50,57,54,57,32,48,46,51,56,54,57,54,48,10,118,32,32,45,49,46,57,57,50,56,49,50,32,53,46,54,50,53,48,48,48,32,48,46,51,57,50,53,48,48,10,118,32,32,45,50,46,55,55,51,52,51,56,32,55,46,54,50,56,57,48,54,32, +48,46,48,48,48,48,48,48,10,118,32,32,45,50,46,54,57,53,51,49,51,32,55,46,48,51,49,50,53,48,32,48,46,48,48,48,48,48,48,10,118,32,32,45,50,46,48,53,52,54,56,55,32,54,46,50,57,50,57,54,57,32,48,46,48,48,48,48,48,48,10,118,32,32,45,50,46,48,55,48,51,49,50, +32,53,46,54,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,45,50,46,54,52,50,48,51,56,32,55,46,54,50,56,57,48,54,32,45,48,46,54,55,48,50,53,54,10,118,32,32,45,50,46,53,54,57,57,48,50,32,55,46,48,51,49,50,53,48,32,45,48,46,54,51,57,51,57,53,10, +118,32,32,45,49,46,57,55,56,53,57,54,32,54,46,50,57,50,57,54,57,32,45,48,46,51,56,54,57,54,48,10,118,32,32,45,49,46,57,57,50,56,49,50,32,53,46,54,50,53,48,48,48,32,45,48,46,51,57,50,53,48,48,10,118,32,32,45,50,46,50,56,49,49,49,51,32,55,46,54,50,56,57, +48,54,32,45,49,46,50,49,48,56,48,49,10,118,32,32,45,50,46,50,50,53,52,54,57,32,55,46,48,51,49,50,53,48,32,45,49,46,49,53,53,49,53,54,10,118,32,32,45,49,46,55,54,57,55,52,54,32,54,46,50,57,50,57,54,57,32,45,48,46,54,57,57,52,51,52,10,118,32,32,45,49,46, +55,56,48,51,49,50,32,53,46,54,50,53,48,48,48,32,45,48,46,55,49,48,48,48,48,10,118,32,32,45,49,46,55,52,48,53,54,57,32,55,46,54,50,56,57,48,54,32,45,49,46,53,55,49,55,50,54,10,118,32,32,45,49,46,55,48,57,55,48,55,32,55,46,48,51,49,50,53,48,32,45,49,46, +52,57,57,53,57,48,10,118,32,32,45,49,46,52,53,55,50,55,51,32,54,46,50,57,50,57,54,57,32,45,48,46,57,48,56,50,56,52,10,118,32,32,45,49,46,52,54,50,56,49,50,32,53,46,54,50,53,48,48,48,32,45,48,46,57,50,50,53,48,48,10,118,32,32,45,49,46,48,55,48,51,49,50, +32,55,46,54,50,56,57,48,54,32,45,49,46,55,48,51,49,50,53,10,118,32,32,45,49,46,48,55,48,51,49,50,32,55,46,48,51,49,50,53,48,32,45,49,46,54,50,53,48,48,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,54,46,50,57,50,57,54,57,32,45,48,46,57,56,52,51,55,53, +10,118,32,32,45,49,46,48,55,48,51,49,50,32,53,46,54,50,53,48,48,48,32,45,49,46,48,48,48,48,48,48,10,118,32,32,45,48,46,52,48,48,48,53,54,32,55,46,54,50,56,57,48,54,32,45,49,46,53,55,49,55,50,54,10,118,32,32,45,48,46,52,51,48,57,49,56,32,55,46,48,51,49, +50,53,48,32,45,49,46,52,57,57,53,57,48,10,118,32,32,45,48,46,54,56,51,51,53,50,32,54,46,50,57,50,57,54,57,32,45,48,46,57,48,56,50,56,52,10,118,32,32,45,48,46,54,55,55,56,49,50,32,53,46,54,50,53,48,48,48,32,45,48,46,57,50,50,53,48,48,10,118,32,32,48,46, +49,52,48,52,56,57,32,55,46,54,50,56,57,48,54,32,45,49,46,50,49,48,56,48,49,10,118,32,32,48,46,48,56,52,56,52,52,32,55,46,48,51,49,50,53,48,32,45,49,46,49,53,53,49,53,54,10,118,32,32,45,48,46,51,55,48,56,55,57,32,54,46,50,57,50,57,54,57,32,45,48,46,54, +57,57,52,51,52,10,118,32,32,45,48,46,51,54,48,51,49,50,32,53,46,54,50,53,48,48,48,32,45,48,46,55,49,48,48,48,48,10,118,32,32,48,46,53,48,49,52,49,52,32,55,46,54,50,56,57,48,54,32,45,48,46,54,55,48,50,53,54,10,118,32,32,48,46,52,50,57,50,55,56,32,55,46, +48,51,49,50,53,48,32,45,48,46,54,51,57,51,57,53,10,118,32,32,45,48,46,49,54,50,48,50,57,32,54,46,50,57,50,57,54,57,32,45,48,46,51,56,54,57,54,48,10,118,32,32,45,48,46,49,52,55,56,49,50,32,53,46,54,50,53,48,48,48,32,45,48,46,51,57,50,53,48,48,10,118,32, +32,49,46,50,49,48,57,51,56,32,53,46,49,55,57,54,56,56,32,48,46,48,48,48,48,48,48,10,118,32,32,51,46,48,53,52,54,56,56,32,52,46,56,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,52,46,55,49,48,57,51,56,32,52,46,53,55,48,51,49,51,32,48,46,48,48, +48,48,48,48,10,118,32,32,53,46,52,50,57,54,56,56,32,52,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,49,46,48,51,52,49,52,49,32,53,46,49,55,57,54,56,56,32,48,46,56,57,53,51,57,49,10,118,32,32,50,46,55,51,53,48,48,48,32,52,46,56,55,53,48, +48,48,32,49,46,54,49,57,48,54,50,10,118,32,32,52,46,50,54,50,56,57,49,32,52,46,53,55,48,51,49,51,32,50,46,50,54,57,49,52,48,10,118,32,32,52,46,57,50,53,57,51,56,32,52,46,49,50,53,48,48,48,32,50,46,53,53,49,50,53,48,10,118,32,32,48,46,53,52,57,51,55,53, +32,53,46,49,55,57,54,56,56,32,49,46,54,49,57,54,56,56,10,118,32,32,49,46,56,53,56,52,51,56,32,52,46,56,55,53,48,48,48,32,50,46,57,50,56,55,53,48,10,118,32,32,51,46,48,51,52,51,55,53,32,52,46,53,55,48,51,49,51,32,52,46,49,48,52,54,56,55,10,118,32,32,51, +46,53,52,52,54,56,56,32,52,46,49,50,53,48,48,48,32,52,46,54,49,53,48,48,48,10,118,32,32,45,48,46,49,55,52,57,50,50,32,53,46,49,55,57,54,56,56,32,50,46,49,48,52,52,53,51,10,118,32,32,48,46,53,52,56,55,53,48,32,52,46,56,55,53,48,48,48,32,51,46,56,48,53, +51,49,51,10,118,32,32,49,46,49,57,56,56,50,56,32,52,46,53,55,48,51,49,51,32,53,46,51,51,51,50,48,51,10,118,32,32,49,46,52,56,48,57,51,56,32,52,46,49,50,53,48,48,48,32,53,46,57,57,54,50,53,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,53,46,49,55,57,54, +56,56,32,50,46,50,56,49,50,53,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,52,46,56,55,53,48,48,48,32,52,46,49,50,53,48,48,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,52,46,53,55,48,51,49,51,32,53,46,55,56,49,50,53,48,10,118,32,32,45,49,46,48,55,48, +51,49,50,32,52,46,49,50,53,48,48,48,32,54,46,53,48,48,48,48,48,10,118,32,32,45,49,46,57,54,53,55,48,51,32,53,46,49,55,57,54,56,56,32,50,46,49,48,52,52,53,51,10,118,32,32,45,50,46,54,56,57,51,55,53,32,52,46,56,55,53,48,48,48,32,51,46,56,48,53,51,49,51, +10,118,32,32,45,51,46,51,51,57,52,53,51,32,52,46,53,55,48,51,49,51,32,53,46,51,51,51,50,48,51,10,118,32,32,45,51,46,54,50,49,53,54,50,32,52,46,49,50,53,48,48,48,32,53,46,57,57,54,50,53,48,10,118,32,32,45,50,46,54,57,48,48,48,48,32,53,46,49,55,57,54,56, +56,32,49,46,54,49,57,54,56,56,10,118,32,32,45,51,46,57,57,57,48,54,50,32,52,46,56,55,53,48,48,48,32,50,46,57,50,56,55,53,48,10,118,32,32,45,53,46,49,55,52,57,57,57,32,52,46,53,55,48,51,49,51,32,52,46,49,48,52,54,56,55,10,118,32,32,45,53,46,54,56,53,51, +49,50,32,52,46,49,50,53,48,48,48,32,52,46,54,49,53,48,48,48,10,118,32,32,45,51,46,49,55,52,55,54,53,32,53,46,49,55,57,54,56,56,32,48,46,56,57,53,51,57,49,10,118,32,32,45,52,46,56,55,53,54,50,53,32,52,46,56,55,53,48,48,48,32,49,46,54,49,57,48,54,50,10, +118,32,32,45,54,46,52,48,51,53,49,54,32,52,46,53,55,48,51,49,51,32,50,46,50,54,57,49,52,48,10,118,32,32,45,55,46,48,54,54,53,54,51,32,52,46,49,50,53,48,48,48,32,50,46,53,53,49,50,53,48,10,118,32,32,45,51,46,51,53,49,53,54,50,32,53,46,49,55,57,54,56,56, +32,48,46,48,48,48,48,48,48,10,118,32,32,45,53,46,49,57,53,51,49,51,32,52,46,56,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,45,54,46,56,53,49,53,54,51,32,52,46,53,55,48,51,49,51,32,48,46,48,48,48,48,48,48,10,118,32,32,45,55,46,53,55,48,51,49, +51,32,52,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,32,32,45,51,46,49,55,52,55,54,53,32,53,46,49,55,57,54,56,56,32,45,48,46,56,57,53,51,57,49,10,118,32,32,45,52,46,56,55,53,54,50,53,32,52,46,56,55,53,48,48,48,32,45,49,46,54,49,57,48,54,50, +10,118,32,32,45,54,46,52,48,51,53,49,54,32,52,46,53,55,48,51,49,51,32,45,50,46,50,54,57,49,52,48,10,118,32,32,45,55,46,48,54,54,53,54,51,32,52,46,49,50,53,48,48,48,32,45,50,46,53,53,49,50,53,48,10,118,32,32,45,50,46,54,57,48,48,48,48,32,53,46,49,55,57, +54,56,56,32,45,49,46,54,49,57,54,56,56,10,118,32,32,45,51,46,57,57,57,48,54,50,32,52,46,56,55,53,48,48,48,32,45,50,46,57,50,56,55,53,48,10,118,32,32,45,53,46,49,55,52,57,57,57,32,52,46,53,55,48,51,49,51,32,45,52,46,49,48,52,54,56,55,10,118,32,32,45,53, +46,54,56,53,51,49,50,32,52,46,49,50,53,48,48,48,32,45,52,46,54,49,53,48,48,48,10,118,32,32,45,49,46,57,54,53,55,48,51,32,53,46,49,55,57,54,56,56,32,45,50,46,49,48,52,52,53,51,10,118,32,32,45,50,46,54,56,57,51,55,53,32,52,46,56,55,53,48,48,48,32,45,51, +46,56,48,53,51,49,51,10,118,32,32,45,51,46,51,51,57,52,53,51,32,52,46,53,55,48,51,49,51,32,45,53,46,51,51,51,50,48,51,10,118,32,32,45,51,46,54,50,49,53,54,50,32,52,46,49,50,53,48,48,48,32,45,53,46,57,57,54,50,53,48,10,118,32,32,45,49,46,48,55,48,51,49, +50,32,53,46,49,55,57,54,56,56,32,45,50,46,50,56,49,50,53,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,52,46,56,55,53,48,48,48,32,45,52,46,49,50,53,48,48,48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,52,46,53,55,48,51,49,51,32,45,53,46,55,56,49,50,53, +48,10,118,32,32,45,49,46,48,55,48,51,49,50,32,52,46,49,50,53,48,48,48,32,45,54,46,53,48,48,48,48,48,10,118,32,32,45,48,46,49,55,52,57,50,50,32,53,46,49,55,57,54,56,56,32,45,50,46,49,48,52,52,53,51,10,118,32,32,48,46,53,52,56,55,53,48,32,52,46,56,55,53, +48,48,48,32,45,51,46,56,48,53,51,49,51,10,118,32,32,49,46,49,57,56,56,50,56,32,52,46,53,55,48,51,49,51,32,45,53,46,51,51,51,50,48,51,10,118,32,32,49,46,52,56,48,57,51,56,32,52,46,49,50,53,48,48,48,32,45,53,46,57,57,54,50,53,48,10,118,32,32,48,46,53,52, +57,51,55,53,32,53,46,49,55,57,54,56,56,32,45,49,46,54,49,57,54,56,56,10,118,32,32,49,46,56,53,56,52,51,56,32,52,46,56,55,53,48,48,48,32,45,50,46,57,50,56,55,53,48,10,118,32,32,51,46,48,51,52,51,55,53,32,52,46,53,55,48,51,49,51,32,45,52,46,49,48,52,54, +56,55,10,118,32,32,51,46,53,52,52,54,56,56,32,52,46,49,50,53,48,48,48,32,45,52,46,54,49,53,48,48,48,10,118,32,32,49,46,48,51,52,49,52,49,32,53,46,49,55,57,54,56,56,32,45,48,46,56,57,53,51,57,49,10,118,32,32,50,46,55,51,53,48,48,48,32,52,46,56,55,53,48, +48,48,32,45,49,46,54,49,57,48,54,50,10,118,32,32,52,46,50,54,50,56,57,49,32,52,46,53,55,48,51,49,51,32,45,50,46,50,54,57,49,52,48,10,118,32,32,52,46,57,50,53,57,51,56,32,52,46,49,50,53,48,48,48,32,45,50,46,53,53,49,50,53,48,10,35,32,53,51,48,32,118,101, +114,116,105,99,101,115,10,10,118,116,32,32,50,46,48,48,48,48,48,48,32,50,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,49,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48, +48,48,32,49,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,49,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48, +10,118,116,32,32,49,46,55,53,48,48,48,48,32,50,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,49,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,49,46,57,53,48,48, +48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,49,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48, +48,48,48,48,32,50,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,49,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,49,46,57,53,48,48,48,48,32,48,46,48,48,48,48, +48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,49,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,50,46,48,48, +48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,49,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,49,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46, +50,53,48,48,48,48,32,49,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,50,46,48,48,48,48,48,48,32,48,46,48,48, +48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46, +57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,50,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32, +49,46,48,48,48,48,48,48,32,49,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,57,50,53,48,48,48,32,48,46, +48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,50,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32, +49,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116, +32,32,48,46,55,53,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,50,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,57,55,53,48,48,48,32, +48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48, +48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,50,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10, +118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,57,48,48,48,48, +48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,50,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48, +48,48,48,32,49,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48, +48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,50,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,49,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,49,46,57,53,48, +48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,49,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55, +53,48,48,48,48,32,50,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,49,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,49,46,57,53,48,48,48,48,32,48,46,48,48,48, +48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,49,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,50,46,48, +48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,49,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,49,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49, +46,53,48,48,48,48,48,32,49,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,50,46,48,48,48,48,48,48,32,48,46,48, +48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,49,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,49,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,49, +46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,50,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32, +32,49,46,48,48,48,48,48,48,32,49,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,57,50,53,48,48,48,32,48, +46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,50,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48, +32,49,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118, +116,32,32,49,46,48,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,50,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,57,55,53,48,48,48, +32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48, +48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,50,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48, +10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,57,48,48,48, +48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,50,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53, +48,48,48,48,32,49,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48, +48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,50,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,57,53, +48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46, +48,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,49,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,49,46,52,53,48,48,48,48,32,48,46,48,48, +48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,49,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,49,46, +57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,49,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,49,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32, +49,46,55,53,48,48,48,48,32,49,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46, +48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,49,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,49,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32, +49,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116, +32,32,49,46,50,53,48,48,48,48,32,49,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,49,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,49,46,50,50,53,48,48,48,32, +48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48, +48,32,49,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10, +118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,54,55,53,48,48, +48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48, +48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48, +48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,48,48,48, +48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53, +48,48,48,48,48,32,49,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48, +48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,52, +53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48, +46,48,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,52,53,48,48,48,48,32,48,46,48, +48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,49, +46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,49,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,49,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32, +32,50,46,48,48,48,48,48,48,32,49,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48, +46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,49,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,49,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48, +32,49,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118, +116,32,32,49,46,53,48,48,48,48,48,32,49,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,49,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,49,46,50,50,53,48,48,48, +32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48, +48,48,32,49,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,49,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,49,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48, +10,118,116,32,32,49,46,50,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,54,55,53,48, +48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48, +48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,54,55,53,48,48,48,32,48,46,48,48,48,48, +48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,48,48, +48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46, +55,53,48,48,48,48,32,49,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48, +48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46, +52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32, +48,46,50,53,48,48,48,48,32,49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,52,53,48,48,48,48,32,48,46, +48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32, +49,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116, +32,32,48,46,48,48,48,48,48,48,32,49,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32, +48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,48,46,56,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,48,46,55,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48, +48,32,48,46,53,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10, +118,116,32,32,49,46,55,53,48,48,48,48,32,48,46,56,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,48,46,55,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,48,46,53,53,48,48,48, +48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48, +48,48,48,32,48,46,56,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,48,46,55,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,48,46,53,53,48,48,48,48,32,48,46,48,48,48,48,48, +48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,48,46,56,53,48, +48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,48,46,55,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,48,46,53,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50, +53,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,56,53,48,48,48,48,32,48,46,48,48,48, +48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,55,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,53,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,52, +48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,56,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49, +46,48,48,48,48,48,48,32,48,46,55,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,53,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48, +48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,56,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48, +46,55,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,53,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32, +32,48,46,53,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,56,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,55,48,48,48,48,48,32,48, +46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,53,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48, +32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,56,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,55,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118, +116,32,32,48,46,50,53,48,48,48,48,32,48,46,53,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48, +32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,56,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,55,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48, +48,48,32,48,46,53,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48, +10,118,116,32,32,50,46,48,48,48,48,48,48,32,48,46,56,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,48,46,55,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,48,46,53,53,48,48, +48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53, +48,48,48,48,32,48,46,56,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,48,46,55,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,48,46,53,53,48,48,48,48,32,48,46,48,48,48,48, +48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,48,46,56,53, +48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,48,46,55,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,48,46,53,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46, +53,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,48,46,56,53,48,48,48,48,32,48,46,48,48, +48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,48,46,55,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,48,46,53,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,48,46, +52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,56,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32, +49,46,48,48,48,48,48,48,32,48,46,55,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,53,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46, +48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,56,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32, +48,46,55,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,53,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116, +32,32,48,46,55,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,56,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,55,48,48,48,48,48,32, +48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,53,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48, +48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,56,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,55,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10, +118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,53,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,48,48,48,48,48, +48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,56,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,55,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48, +48,48,48,32,48,46,53,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48, +48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,56,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,55,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,53,53,48, +48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48, +48,48,48,48,48,32,48,46,51,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,48,46,50,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,48,46,49,48,48,48,48,48,32,48,46,48,48,48, +48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,48,46,51, +48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,48,46,50,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,48,46,49,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49, +46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,48,46,51,48,48,48,48,48,32,48,46,48, +48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,48,46,50,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,48,46,49,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,48, +46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,48,46,51,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32, +32,49,46,50,53,48,48,48,48,32,48,46,50,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,48,46,49,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48, +46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,51,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48, +32,48,46,50,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,49,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118, +116,32,32,49,46,48,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,51,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,50,48,48,48,48,48, +32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,49,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48, +48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,51,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,50,48,48,48,48,48,32,48,46,48,48,48,48,48,48, +10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,49,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,52,48,48,48, +48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,51,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,50,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48, +48,48,48,48,32,48,46,49,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48, +48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,51,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,50,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,49,48, +48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46, +48,48,48,48,48,48,32,48,46,51,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,50,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,49,48,48,48,48,48,32,48,46,48,48, +48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,48,46, +51,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,48,46,50,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,50,46,48,48,48,48,48,48,32,48,46,49,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32, +50,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,48,46,51,48,48,48,48,48,32,48,46, +48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,48,46,50,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32,48,46,49,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,55,53,48,48,48,48,32, +48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,48,46,51,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116, +32,32,49,46,53,48,48,48,48,48,32,48,46,50,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,48,46,49,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32, +48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,48,46,51,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48, +48,32,48,46,50,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,48,46,49,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10, +118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,51,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,50,48,48,48,48, +48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,49,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48, +48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,51,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,50,48,48,48,48,48,32,48,46,48,48,48,48,48, +48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,49,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,52,48,48, +48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,51,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,50,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55, +53,48,48,48,48,32,48,46,49,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48, +48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,51,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,50,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,49, +48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48, +46,50,53,48,48,48,48,32,48,46,51,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,50,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,49,48,48,48,48,48,32,48,46,48, +48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,52,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48, +46,51,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,50,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,49,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32, +32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,56,55,53,48,48,48,32,48, +46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,54,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48, +32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,56,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118, +116,32,32,48,46,56,55,53,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,54,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,53,48,48,48,48,48, +32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,56,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48, +48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,54,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48, +10,118,116,32,32,48,46,54,50,53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,56,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,55,53,48,48, +48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,54,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48, +48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,56,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48, +48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,54,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,48,48, +48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,56,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46, +53,48,48,48,48,48,32,48,46,54,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48, +48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,56,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46, +54,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32, +48,46,50,53,48,48,48,48,32,48,46,56,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,54,50,53,48,48,48,32,48,46, +48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32, +48,46,56,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,54,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116, +32,32,48,46,49,50,53,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,56,55,53,48,48,48,32, +48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,54,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48, +48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,51,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10, +118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48, +48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,51,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53, +48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48, +48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,51,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,50,53,48, +48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54, +50,53,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,51,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48, +48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,53, +48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,51,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48, +46,53,48,48,48,48,48,32,48,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48, +48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,51,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48, +46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32, +32,48,46,51,55,53,48,48,48,32,48,46,51,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,49,50,53,48,48,48,32,48, +46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48, +32,48,46,51,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118, +116,32,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,51,55,53,48,48,48, +32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48, +48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,51,55,53,48,48,48,32,48,46,48,48,48,48,48,48, +10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48, +48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48, +48,48,48,48,32,48,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,57,48,48,48,48,48,32,48,46,48,48,48,48, +48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,52,53, +48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46, +55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,52,53,48,48,48,48,32,48,46,48,48, +48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46, +48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32, +48,46,56,55,53,48,48,48,32,48,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46, +48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32, +48,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116, +32,32,48,46,48,48,48,48,48,48,32,48,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,54,55,53,48,48,48,32, +48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48, +48,32,48,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10, +118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,50,50,53,48,48, +48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48, +48,48,48,32,48,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48, +48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,57,48,48, +48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,50,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53, +48,48,48,48,48,32,48,46,52,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,54,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,57,48,48,48,48,48,32,48,46,48,48,48, +48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,57, +53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48, +46,54,50,53,48,48,48,32,48,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,57,53,48,48,48,48,32,48,46,48, +48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48, +46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32, +32,48,46,55,53,48,48,48,48,32,48,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,57,48,48,48,48,48,32,48, +46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48, +32,48,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118, +116,32,32,49,46,48,48,48,48,48,48,32,48,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,57,55,53,48,48,48, +32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48, +48,48,32,48,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48, +10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,57,50,53,48, +48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50, +53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,57,50,53,48,48,48,32,48,46,48,48,48,48, +48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,48,48, +48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46, +51,55,53,48,48,48,32,48,46,57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48, +48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,57,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,57,50,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46, +57,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,57,55,53,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32, +49,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46, +48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32, +49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116, +32,32,48,46,56,55,53,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32, +48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48, +48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10, +118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,50,53,48,48,48, +48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48, +48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48, +48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,55,53,48, +48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53, +48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48, +48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,48, +48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48, +46,50,53,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48, +48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48, +46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32, +32,48,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48, +46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48, +32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118, +116,32,32,49,46,48,48,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,49,46,48,48,48,48,48,48, +32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48, +48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48, +10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,50,53,48,48, +48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50, +53,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48, +48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,55,53, +48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46, +53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48, +48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46, +48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32, +48,46,51,55,53,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46, +48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32, +48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116, +32,32,48,46,49,50,53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,53,48,48,48,48,48,32, +48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48, +48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10, +118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48, +48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48, +48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48, +48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,50,53,48, +48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55, +53,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48, +48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,55, +53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48, +46,54,50,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48, +48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48, +46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32, +32,48,46,53,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48, +46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48, +32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118, +116,32,32,48,46,50,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,53,48,48,48,48,48, +32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48, +48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48, +10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,48,48,48,48, +48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48, +48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48, +48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,50,53, +48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46, +56,55,53,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48, +48,48,48,48,10,118,116,32,32,48,46,56,55,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46, +55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,55,53,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32, +48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46, +48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,54,50,53,48,48,48,32, +48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116, +32,32,48,46,53,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32, +48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48, +48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10, +118,116,32,32,48,46,51,55,53,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,53,48,48,48,48, +48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,51,55,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48, +48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48, +48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,49,46,48,48,48, +48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49, +50,53,48,48,48,32,48,46,50,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,49,50,53,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,49,46,48,48,48,48,48,48,32,48,46,48,48,48, +48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,55,53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,53,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,50, +53,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,116,32,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,35,32,56,48,48,32,116,101,120,116,117,114,101,32,118,101,114,116,105,99,101,115,10,10,118,110,32,32,45,48,46,57, +54,54,55,52,50,32,45,48,46,50,53,53,55,53,50,32,48,46,48,48,48,48,48,48,10,118,110,32,32,45,48,46,57,54,54,56,50,52,32,48,46,50,53,53,52,52,51,32,48,46,48,48,48,48,48,48,10,118,110,32,32,45,48,46,48,57,50,48,53,50,32,48,46,57,57,53,55,53,52,32,48,46, +48,48,48,48,48,48,10,118,110,32,32,48,46,54,56,50,48,53,48,32,48,46,55,51,49,51,48,53,32,48,46,48,48,48,48,48,48,10,118,110,32,32,48,46,56,55,48,51,48,49,32,48,46,52,57,50,53,50,49,32,48,46,48,48,48,48,48,48,10,118,110,32,32,45,48,46,56,57,51,48,49,52, +32,45,48,46,50,53,54,51,52,53,32,45,48,46,51,54,57,56,56,50,10,118,110,32,32,45,48,46,56,57,51,52,51,55,32,48,46,50,53,53,57,57,54,32,45,48,46,51,54,57,49,48,50,10,118,110,32,32,45,48,46,48,56,51,56,55,55,32,48,46,57,57,53,56,52,51,32,45,48,46,48,51, +53,53,48,55,10,118,110,32,32,48,46,54,50,57,55,50,52,32,48,46,55,51,49,56,54,48,32,48,46,50,54,48,52,51,57,10,118,110,32,32,48,46,56,48,51,55,50,53,32,48,46,52,57,51,51,55,48,32,48,46,51,51,50,53,56,52,10,118,110,32,32,45,48,46,54,56,51,52,48,55,32,45, +48,46,50,53,54,55,50,56,32,45,48,46,54,56,51,52,48,55,10,118,110,32,32,45,48,46,54,56,51,53,51,49,32,48,46,50,53,54,48,54,56,32,45,48,46,54,56,51,53,51,49,10,118,110,32,32,45,48,46,48,54,52,57,50,53,32,48,46,57,57,53,55,55,54,32,45,48,46,48,54,52,57, +50,53,10,118,110,32,32,48,46,52,56,49,51,57,57,32,48,46,55,51,50,52,54,57,32,48,46,52,56,49,51,57,57,10,118,110,32,32,48,46,54,49,52,56,48,52,32,48,46,52,57,51,57,57,55,32,48,46,54,49,52,56,48,52,10,118,110,32,32,45,48,46,51,54,57,56,56,50,32,45,48,46, +50,53,54,51,52,53,32,45,48,46,56,57,51,48,49,52,10,118,110,32,32,45,48,46,51,54,57,49,48,50,32,48,46,50,53,53,57,57,54,32,45,48,46,56,57,51,52,51,55,10,118,110,32,32,45,48,46,48,51,53,53,48,55,32,48,46,57,57,53,56,52,51,32,45,48,46,48,56,51,56,55,55, +10,118,110,32,32,48,46,50,54,48,52,51,57,32,48,46,55,51,49,56,54,48,32,48,46,54,50,57,55,50,52,10,118,110,32,32,48,46,51,51,50,53,56,52,32,48,46,52,57,51,51,54,57,32,48,46,56,48,51,55,50,53,10,118,110,32,32,45,48,46,48,48,50,56,52,56,32,45,48,46,50,53, +55,56,54,51,32,45,48,46,57,54,54,49,55,55,10,118,110,32,32,45,48,46,48,48,49,57,50,51,32,48,46,50,53,52,55,51,54,32,45,48,46,57,54,55,48,48,57,10,118,110,32,32,45,48,46,48,48,48,50,54,54,32,48,46,57,57,53,55,51,52,32,45,48,46,48,57,50,50,55,48,10,118, +110,32,32,48,46,48,48,48,48,50,52,32,48,46,55,51,49,50,57,53,32,48,46,54,56,50,48,54,49,10,118,110,32,32,45,48,46,48,48,48,48,48,48,32,48,46,52,57,50,53,50,49,32,48,46,56,55,48,51,48,49,10,118,110,32,32,48,46,51,55,57,48,53,56,32,45,48,46,51,53,57,51, +48,48,32,45,48,46,56,53,50,55,55,49,10,118,110,32,32,48,46,51,55,55,49,49,48,32,48,46,49,52,57,48,56,53,32,45,48,46,57,49,52,48,57,49,10,118,110,32,32,48,46,48,50,55,53,48,50,32,48,46,57,57,50,48,56,49,32,45,48,46,49,50,50,53,53,50,10,118,110,32,32,45, +48,46,50,54,49,48,49,48,32,48,46,55,50,54,55,54,50,32,48,46,54,51,53,51,54,55,10,118,110,32,32,45,48,46,51,51,50,52,56,53,32,48,46,52,57,50,53,52,54,32,48,46,56,48,52,50,55,49,10,118,110,32,32,48,46,54,54,51,53,52,56,32,45,48,46,52,49,48,55,57,48,32, +45,48,46,54,50,53,50,54,52,10,118,110,32,32,48,46,55,49,50,54,54,52,32,48,46,48,55,51,55,50,50,32,45,48,46,54,57,55,54,50,49,10,118,110,32,32,48,46,48,57,57,55,50,54,32,48,46,57,56,55,53,48,57,32,45,48,46,49,50,49,57,56,51,10,118,110,32,32,45,48,46,52, +56,55,51,50,48,32,48,46,55,50,51,55,53,52,32,48,46,52,56,56,53,54,57,10,118,110,32,32,45,48,46,54,49,53,50,52,50,32,48,46,52,57,50,54,48,50,32,48,46,54,49,53,52,56,52,10,118,110,32,32,48,46,56,56,48,48,50,56,32,45,48,46,51,51,50,57,48,54,32,45,48,46, +51,51,56,55,48,57,10,118,110,32,32,48,46,57,49,55,50,55,54,32,48,46,49,54,55,49,49,51,32,45,48,46,51,54,49,52,57,51,10,118,110,32,32,48,46,49,49,51,53,56,52,32,48,46,57,57,50,51,54,53,32,45,48,46,48,52,56,48,55,48,10,118,110,32,32,45,48,46,54,51,52,49, +53,48,32,48,46,55,50,55,53,48,56,32,48,46,50,54,49,56,56,57,10,118,110,32,32,45,48,46,56,48,52,49,50,54,32,48,46,52,57,50,54,51,52,32,48,46,51,51,50,55,48,53,10,118,110,32,32,48,46,57,54,54,54,57,48,32,45,48,46,50,53,53,55,51,56,32,48,46,48,49,48,52, +53,52,10,118,110,32,32,48,46,57,54,55,52,52,50,32,48,46,50,53,50,57,54,50,32,48,46,48,48,56,49,48,51,10,118,110,32,32,48,46,48,57,51,52,51,54,32,48,46,57,57,53,54,50,52,32,48,46,48,48,49,50,56,49,10,118,110,32,32,45,48,46,54,56,50,49,54,55,32,48,46,55, +51,49,49,57,54,32,45,48,46,48,48,48,51,52,51,10,118,110,32,32,45,48,46,56,55,48,51,50,50,32,48,46,52,57,50,52,56,51,32,45,48,46,48,48,48,48,53,52,10,118,110,32,32,48,46,56,57,51,48,49,52,32,45,48,46,50,53,54,51,52,53,32,48,46,51,54,57,56,56,50,10,118, +110,32,32,48,46,56,57,51,52,51,55,32,48,46,50,53,53,57,57,54,32,48,46,51,54,57,49,48,50,10,118,110,32,32,48,46,48,56,51,56,55,55,32,48,46,57,57,53,56,52,51,32,48,46,48,51,53,53,48,55,10,118,110,32,32,45,48,46,54,50,57,55,50,52,32,48,46,55,51,49,56,54, +48,32,45,48,46,50,54,48,52,51,57,10,118,110,32,32,45,48,46,56,48,51,55,50,53,32,48,46,52,57,51,51,55,48,32,45,48,46,51,51,50,53,56,52,10,118,110,32,32,48,46,54,56,51,52,48,55,32,45,48,46,50,53,54,55,50,56,32,48,46,54,56,51,52,48,55,10,118,110,32,32,48, +46,54,56,51,53,51,49,32,48,46,50,53,54,48,54,56,32,48,46,54,56,51,53,51,49,10,118,110,32,32,48,46,48,54,52,57,50,53,32,48,46,57,57,53,55,55,54,32,48,46,48,54,52,57,50,53,10,118,110,32,32,45,48,46,52,56,49,51,57,57,32,48,46,55,51,50,52,54,57,32,45,48, +46,52,56,49,51,57,57,10,118,110,32,32,45,48,46,54,49,52,56,48,52,32,48,46,52,57,51,57,57,55,32,45,48,46,54,49,52,56,48,52,10,118,110,32,32,48,46,51,54,57,56,56,50,32,45,48,46,50,53,54,51,52,53,32,48,46,56,57,51,48,49,52,10,118,110,32,32,48,46,51,54,57, +49,48,50,32,48,46,50,53,53,57,57,54,32,48,46,56,57,51,52,51,55,10,118,110,32,32,48,46,48,51,53,53,48,55,32,48,46,57,57,53,56,52,51,32,48,46,48,56,51,56,55,55,10,118,110,32,32,45,48,46,50,54,48,52,51,57,32,48,46,55,51,49,56,54,48,32,45,48,46,54,50,57, +55,50,52,10,118,110,32,32,45,48,46,51,51,50,53,56,52,32,48,46,52,57,51,51,54,57,32,45,48,46,56,48,51,55,50,53,10,118,110,32,32,48,46,48,48,48,48,48,48,32,45,48,46,50,53,53,55,53,50,32,48,46,57,54,54,55,52,50,10,118,110,32,32,48,46,48,48,48,48,48,48,32, +48,46,50,53,53,52,52,51,32,48,46,57,54,54,56,50,52,10,118,110,32,32,48,46,48,48,48,48,48,48,32,48,46,57,57,53,55,53,52,32,48,46,48,57,50,48,53,50,10,118,110,32,32,48,46,48,48,48,48,48,48,32,48,46,55,51,49,51,48,53,32,45,48,46,54,56,50,48,53,48,10,118, +110,32,32,48,46,48,48,48,48,48,48,32,48,46,52,57,50,53,50,49,32,45,48,46,56,55,48,51,48,49,10,118,110,32,32,45,48,46,51,54,57,56,56,50,32,45,48,46,50,53,54,51,52,53,32,48,46,56,57,51,48,49,52,10,118,110,32,32,45,48,46,51,54,57,49,48,50,32,48,46,50,53, +53,57,57,54,32,48,46,56,57,51,52,51,55,10,118,110,32,32,45,48,46,48,51,53,53,48,55,32,48,46,57,57,53,56,52,51,32,48,46,48,56,51,56,55,55,10,118,110,32,32,48,46,50,54,48,52,51,57,32,48,46,55,51,49,56,54,48,32,45,48,46,54,50,57,55,50,52,10,118,110,32,32, +48,46,51,51,50,53,56,52,32,48,46,52,57,51,51,55,48,32,45,48,46,56,48,51,55,50,53,10,118,110,32,32,45,48,46,54,56,51,52,48,55,32,45,48,46,50,53,54,55,50,56,32,48,46,54,56,51,52,48,55,10,118,110,32,32,45,48,46,54,56,51,53,51,49,32,48,46,50,53,54,48,54, +56,32,48,46,54,56,51,53,51,49,10,118,110,32,32,45,48,46,48,54,52,57,50,53,32,48,46,57,57,53,55,55,54,32,48,46,48,54,52,57,50,53,10,118,110,32,32,48,46,52,56,49,51,57,57,32,48,46,55,51,50,52,54,57,32,45,48,46,52,56,49,51,57,57,10,118,110,32,32,48,46,54, +49,52,56,48,52,32,48,46,52,57,51,57,57,55,32,45,48,46,54,49,52,56,48,52,10,118,110,32,32,45,48,46,56,57,51,48,49,52,32,45,48,46,50,53,54,51,52,53,32,48,46,51,54,57,56,56,50,10,118,110,32,32,45,48,46,56,57,51,52,51,55,32,48,46,50,53,53,57,57,54,32,48, +46,51,54,57,49,48,50,10,118,110,32,32,45,48,46,48,56,51,56,55,55,32,48,46,57,57,53,56,52,51,32,48,46,48,51,53,53,48,55,10,118,110,32,32,48,46,54,50,57,55,50,52,32,48,46,55,51,49,56,54,48,32,45,48,46,50,54,48,52,51,57,10,118,110,32,32,48,46,56,48,51,55, +50,53,32,48,46,52,57,51,51,54,57,32,45,48,46,51,51,50,53,56,52,10,118,110,32,32,48,46,57,49,53,51,50,49,32,48,46,52,48,50,55,50,53,32,45,48,46,48,48,48,48,48,48,10,118,110,32,32,48,46,57,52,49,56,48,56,32,48,46,51,51,54,49,53,49,32,48,46,48,48,48,48, +48,48,10,118,110,32,32,48,46,57,55,56,54,57,48,32,48,46,50,48,53,51,52,50,32,48,46,48,48,48,48,48,48,10,118,110,32,32,48,46,57,57,55,56,48,52,32,45,48,46,48,54,54,50,52,48,32,45,48,46,48,48,48,48,48,48,10,118,110,32,32,48,46,56,52,53,52,51,56,32,48,46, +52,48,51,53,52,54,32,48,46,51,52,57,56,51,53,10,118,110,32,32,48,46,56,54,57,57,57,54,32,48,46,51,51,54,56,53,57,32,48,46,51,54,48,48,52,55,10,118,110,32,32,48,46,57,48,52,49,57,51,32,48,46,50,48,53,55,57,49,32,48,46,51,55,52,50,56,48,10,118,110,32,32, +48,46,57,50,49,56,55,57,32,45,48,46,48,54,54,51,55,48,32,48,46,51,56,49,55,53,50,10,118,110,32,32,48,46,54,52,54,56,48,50,32,48,46,52,48,52,48,57,54,32,48,46,54,52,54,56,48,50,10,118,110,32,32,48,46,54,54,53,54,53,53,32,48,46,51,51,55,51,53,49,32,48, +46,54,54,53,54,53,53,10,118,110,32,32,48,46,54,57,49,57,50,51,32,48,46,50,48,54,49,50,48,32,48,46,54,57,49,57,50,51,10,118,110,32,32,48,46,55,48,53,53,52,51,32,45,48,46,48,54,54,52,56,48,32,48,46,55,48,53,53,52,50,10,118,110,32,32,48,46,51,52,57,56,51, +53,32,48,46,52,48,51,53,52,54,32,48,46,56,52,53,52,51,56,10,118,110,32,32,48,46,51,54,48,48,52,55,32,48,46,51,51,54,56,53,57,32,48,46,56,54,57,57,57,54,10,118,110,32,32,48,46,51,55,52,50,56,48,32,48,46,50,48,53,55,57,49,32,48,46,57,48,52,49,57,51,10, +118,110,32,32,48,46,51,56,49,55,53,50,32,45,48,46,48,54,54,51,54,57,32,48,46,57,50,49,56,55,57,10,118,110,32,32,48,46,48,48,48,48,48,48,32,48,46,52,48,50,55,50,53,32,48,46,57,49,53,51,50,49,10,118,110,32,32,45,48,46,48,48,48,48,48,48,32,48,46,51,51,54, +49,53,49,32,48,46,57,52,49,56,48,56,10,118,110,32,32,48,46,48,48,48,48,48,48,32,48,46,50,48,53,51,52,50,32,48,46,57,55,56,54,57,48,10,118,110,32,32,48,46,48,48,48,48,48,48,32,45,48,46,48,54,54,50,52,48,32,48,46,57,57,55,56,48,52,10,118,110,32,32,45,48, +46,51,52,57,56,51,53,32,48,46,52,48,51,53,52,54,32,48,46,56,52,53,52,51,56,10,118,110,32,32,45,48,46,51,54,48,48,52,55,32,48,46,51,51,54,56,53,57,32,48,46,56,54,57,57,57,54,10,118,110,32,32,45,48,46,51,55,52,50,56,48,32,48,46,50,48,53,55,57,49,32,48, +46,57,48,52,49,57,51,10,118,110,32,32,45,48,46,51,56,49,55,53,50,32,45,48,46,48,54,54,51,55,48,32,48,46,57,50,49,56,55,57,10,118,110,32,32,45,48,46,54,52,54,56,48,50,32,48,46,52,48,52,48,57,54,32,48,46,54,52,54,56,48,50,10,118,110,32,32,45,48,46,54,54, +53,54,53,53,32,48,46,51,51,55,51,53,49,32,48,46,54,54,53,54,53,53,10,118,110,32,32,45,48,46,54,57,49,57,50,51,32,48,46,50,48,54,49,50,48,32,48,46,54,57,49,57,50,51,10,118,110,32,32,45,48,46,55,48,53,53,52,50,32,45,48,46,48,54,54,52,56,48,32,48,46,55, +48,53,53,52,51,10,118,110,32,32,45,48,46,56,52,53,52,51,56,32,48,46,52,48,51,53,52,54,32,48,46,51,52,57,56,51,53,10,118,110,32,32,45,48,46,56,54,57,57,57,54,32,48,46,51,51,54,56,53,57,32,48,46,51,54,48,48,52,55,10,118,110,32,32,45,48,46,57,48,52,49,57, +51,32,48,46,50,48,53,55,57,49,32,48,46,51,55,52,50,56,48,10,118,110,32,32,45,48,46,57,50,49,56,55,57,32,45,48,46,48,54,54,51,54,57,32,48,46,51,56,49,55,53,50,10,118,110,32,32,45,48,46,57,49,53,51,50,49,32,48,46,52,48,50,55,50,53,32,48,46,48,48,48,48, +48,48,10,118,110,32,32,45,48,46,57,52,49,56,48,56,32,48,46,51,51,54,49,53,49,32,45,48,46,48,48,48,48,48,48,10,118,110,32,32,45,48,46,57,55,56,54,57,48,32,48,46,50,48,53,51,52,50,32,48,46,48,48,48,48,48,48,10,118,110,32,32,45,48,46,57,57,55,56,48,52,32, +45,48,46,48,54,54,50,52,48,32,48,46,48,48,48,48,48,48,10,118,110,32,32,45,48,46,56,52,53,52,51,56,32,48,46,52,48,51,53,52,54,32,45,48,46,51,52,57,56,51,53,10,118,110,32,32,45,48,46,56,54,57,57,57,54,32,48,46,51,51,54,56,53,57,32,45,48,46,51,54,48,48, +52,55,10,118,110,32,32,45,48,46,57,48,52,49,57,51,32,48,46,50,48,53,55,57,49,32,45,48,46,51,55,52,50,56,48,10,118,110,32,32,45,48,46,57,50,49,56,55,57,32,45,48,46,48,54,54,51,55,48,32,45,48,46,51,56,49,55,53,50,10,118,110,32,32,45,48,46,54,52,54,56,48, +50,32,48,46,52,48,52,48,57,54,32,45,48,46,54,52,54,56,48,50,10,118,110,32,32,45,48,46,54,54,53,54,53,53,32,48,46,51,51,55,51,53,49,32,45,48,46,54,54,53,54,53,53,10,118,110,32,32,45,48,46,54,57,49,57,50,51,32,48,46,50,48,54,49,50,48,32,45,48,46,54,57, +49,57,50,51,10,118,110,32,32,45,48,46,55,48,53,53,52,51,32,45,48,46,48,54,54,52,56,48,32,45,48,46,55,48,53,53,52,50,10,118,110,32,32,45,48,46,51,52,57,56,51,53,32,48,46,52,48,51,53,52,54,32,45,48,46,56,52,53,52,51,56,10,118,110,32,32,45,48,46,51,54,48, +48,52,55,32,48,46,51,51,54,56,53,57,32,45,48,46,56,54,57,57,57,54,10,118,110,32,32,45,48,46,51,55,52,50,56,48,32,48,46,50,48,53,55,57,49,32,45,48,46,57,48,52,49,57,51,10,118,110,32,32,45,48,46,51,56,49,55,53,50,32,45,48,46,48,54,54,51,54,57,32,45,48, +46,57,50,49,56,55,57,10,118,110,32,32,45,48,46,48,48,48,48,48,48,32,48,46,52,48,50,55,50,53,32,45,48,46,57,49,53,51,50,49,10,118,110,32,32,48,46,48,48,48,48,48,48,32,48,46,51,51,54,49,53,49,32,45,48,46,57,52,49,56,48,56,10,118,110,32,32,45,48,46,48,48, +48,48,48,48,32,48,46,50,48,53,51,52,50,32,45,48,46,57,55,56,54,57,48,10,118,110,32,32,45,48,46,48,48,48,48,48,48,32,45,48,46,48,54,54,50,52,48,32,45,48,46,57,57,55,56,48,52,10,118,110,32,32,48,46,51,52,57,56,51,53,32,48,46,52,48,51,53,52,54,32,45,48, +46,56,52,53,52,51,56,10,118,110,32,32,48,46,51,54,48,48,52,55,32,48,46,51,51,54,56,53,57,32,45,48,46,56,54,57,57,57,54,10,118,110,32,32,48,46,51,55,52,50,56,48,32,48,46,50,48,53,55,57,49,32,45,48,46,57,48,52,49,57,51,10,118,110,32,32,48,46,51,56,49,55, +53,50,32,45,48,46,48,54,54,51,55,48,32,45,48,46,57,50,49,56,55,57,10,118,110,32,32,48,46,54,52,54,56,48,50,32,48,46,52,48,52,48,57,54,32,45,48,46,54,52,54,56,48,50,10,118,110,32,32,48,46,54,54,53,54,53,53,32,48,46,51,51,55,51,53,49,32,45,48,46,54,54, +53,54,53,53,10,118,110,32,32,48,46,54,57,49,57,50,51,32,48,46,50,48,54,49,50,48,32,45,48,46,54,57,49,57,50,51,10,118,110,32,32,48,46,55,48,53,53,52,50,32,45,48,46,48,54,54,52,56,48,32,45,48,46,55,48,53,53,52,51,10,118,110,32,32,48,46,56,52,53,52,51,56, +32,48,46,52,48,51,53,52,54,32,45,48,46,51,52,57,56,51,53,10,118,110,32,32,48,46,56,54,57,57,57,54,32,48,46,51,51,54,56,53,57,32,45,48,46,51,54,48,48,52,55,10,118,110,32,32,48,46,57,48,52,49,57,51,32,48,46,50,48,53,55,57,49,32,45,48,46,51,55,52,50,56, +48,10,118,110,32,32,48,46,57,50,49,56,55,57,32,45,48,46,48,54,54,51,54,57,32,45,48,46,51,56,49,55,53,50,10,118,110,32,32,48,46,57,48,48,49,56,50,32,45,48,46,52,51,53,53,49,51,32,48,46,48,48,48,48,48,48,10,118,110,32,32,48,46,55,50,57,54,49,49,32,45,48, +46,54,56,51,56,54,51,32,48,46,48,48,48,48,48,48,10,118,110,32,32,48,46,54,57,51,57,53,49,32,45,48,46,55,50,48,48,50,50,32,45,48,46,48,48,48,48,48,48,10,118,110,32,32,48,46,55,57,51,57,53,48,32,45,48,46,54,48,55,57,56,51,32,48,46,48,48,48,48,48,48,10, +118,110,32,32,48,46,56,51,49,52,51,55,32,45,48,46,52,51,54,49,56,48,32,48,46,51,52,52,49,55,57,10,118,110,32,32,48,46,54,55,51,53,49,50,32,45,48,46,54,56,52,54,54,54,32,48,46,50,55,56,53,57,52,10,118,110,32,32,48,46,54,52,48,51,57,57,32,45,48,46,55,50, +48,57,50,52,32,48,46,50,54,52,56,55,52,10,118,110,32,32,48,46,55,51,50,57,52,57,32,45,48,46,54,48,56,57,57,53,32,48,46,51,48,51,49,54,55,10,118,110,32,32,48,46,54,51,54,48,57,50,32,45,48,46,52,51,54,55,55,56,32,48,46,54,51,54,48,57,50,10,118,110,32,32, +48,46,53,49,52,57,54,53,32,45,48,46,54,56,53,50,57,48,32,48,46,53,49,52,57,54,53,10,118,110,32,32,48,46,52,56,57,54,53,49,32,45,48,46,55,50,49,52,52,54,32,48,46,52,56,57,54,53,49,10,118,110,32,32,48,46,53,54,48,53,53,53,32,45,48,46,54,48,57,53,53,52, +32,48,46,53,54,48,53,53,53,10,118,110,32,32,48,46,51,52,52,49,55,57,32,45,48,46,52,51,54,49,56,48,32,48,46,56,51,49,52,51,55,10,118,110,32,32,48,46,50,55,56,53,57,53,32,45,48,46,54,56,52,54,54,54,32,48,46,54,55,51,53,49,50,10,118,110,32,32,48,46,50,54, +52,56,55,52,32,45,48,46,55,50,48,57,50,52,32,48,46,54,52,48,51,57,57,10,118,110,32,32,48,46,51,48,51,49,54,55,32,45,48,46,54,48,56,57,57,53,32,48,46,55,51,50,57,52,57,10,118,110,32,32,45,48,46,48,48,48,48,48,48,32,45,48,46,52,51,53,53,49,51,32,48,46, +57,48,48,49,56,50,10,118,110,32,32,45,48,46,48,48,48,48,48,48,32,45,48,46,54,56,51,56,54,51,32,48,46,55,50,57,54,49,49,10,118,110,32,32,48,46,48,48,48,48,48,48,32,45,48,46,55,50,48,48,50,50,32,48,46,54,57,51,57,53,49,10,118,110,32,32,45,48,46,48,48,48, +48,48,48,32,45,48,46,54,48,55,57,56,51,32,48,46,55,57,51,57,53,48,10,118,110,32,32,45,48,46,51,52,52,49,55,57,32,45,48,46,52,51,54,49,56,48,32,48,46,56,51,49,52,51,55,10,118,110,32,32,45,48,46,50,55,56,53,57,52,32,45,48,46,54,56,52,54,54,54,32,48,46, +54,55,51,53,49,50,10,118,110,32,32,45,48,46,50,54,52,56,55,52,32,45,48,46,55,50,48,57,50,52,32,48,46,54,52,48,51,57,57,10,118,110,32,32,45,48,46,51,48,51,49,54,55,32,45,48,46,54,48,56,57,57,53,32,48,46,55,51,50,57,52,57,10,118,110,32,32,45,48,46,54,51, +54,48,57,50,32,45,48,46,52,51,54,55,55,56,32,48,46,54,51,54,48,57,50,10,118,110,32,32,45,48,46,53,49,52,57,54,53,32,45,48,46,54,56,53,50,57,48,32,48,46,53,49,52,57,54,53,10,118,110,32,32,45,48,46,52,56,57,54,53,49,32,45,48,46,55,50,49,52,52,54,32,48, +46,52,56,57,54,53,49,10,118,110,32,32,45,48,46,53,54,48,53,53,53,32,45,48,46,54,48,57,53,53,52,32,48,46,53,54,48,53,53,53,10,118,110,32,32,45,48,46,56,51,49,52,51,55,32,45,48,46,52,51,54,49,56,48,32,48,46,51,52,52,49,55,57,10,118,110,32,32,45,48,46,54, +55,51,53,49,50,32,45,48,46,54,56,52,54,54,54,32,48,46,50,55,56,53,57,53,10,118,110,32,32,45,48,46,54,52,48,51,57,57,32,45,48,46,55,50,48,57,50,52,32,48,46,50,54,52,56,55,52,10,118,110,32,32,45,48,46,55,51,50,57,52,57,32,45,48,46,54,48,56,57,57,53,32, +48,46,51,48,51,49,54,55,10,118,110,32,32,45,48,46,57,48,48,49,56,50,32,45,48,46,52,51,53,53,49,51,32,45,48,46,48,48,48,48,48,48,10,118,110,32,32,45,48,46,55,50,57,54,49,49,32,45,48,46,54,56,51,56,54,51,32,45,48,46,48,48,48,48,48,48,10,118,110,32,32,45, +48,46,54,57,51,57,53,49,32,45,48,46,55,50,48,48,50,50,32,48,46,48,48,48,48,48,48,10,118,110,32,32,45,48,46,55,57,51,57,53,48,32,45,48,46,54,48,55,57,56,51,32,45,48,46,48,48,48,48,48,48,10,118,110,32,32,45,48,46,56,51,49,52,51,55,32,45,48,46,52,51,54, +49,56,48,32,45,48,46,51,52,52,49,55,57,10,118,110,32,32,45,48,46,54,55,51,53,49,50,32,45,48,46,54,56,52,54,54,54,32,45,48,46,50,55,56,53,57,52,10,118,110,32,32,45,48,46,54,52,48,51,57,57,32,45,48,46,55,50,48,57,50,52,32,45,48,46,50,54,52,56,55,52,10, +118,110,32,32,45,48,46,55,51,50,57,52,57,32,45,48,46,54,48,56,57,57,53,32,45,48,46,51,48,51,49,54,55,10,118,110,32,32,45,48,46,54,51,54,48,57,50,32,45,48,46,52,51,54,55,55,56,32,45,48,46,54,51,54,48,57,50,10,118,110,32,32,45,48,46,53,49,52,57,54,53,32, +45,48,46,54,56,53,50,57,48,32,45,48,46,53,49,52,57,54,53,10,118,110,32,32,45,48,46,52,56,57,54,53,49,32,45,48,46,55,50,49,52,52,54,32,45,48,46,52,56,57,54,53,49,10,118,110,32,32,45,48,46,53,54,48,53,53,53,32,45,48,46,54,48,57,53,53,52,32,45,48,46,53, +54,48,53,53,53,10,118,110,32,32,45,48,46,51,52,52,49,55,57,32,45,48,46,52,51,54,49,56,48,32,45,48,46,56,51,49,52,51,55,10,118,110,32,32,45,48,46,50,55,56,53,57,53,32,45,48,46,54,56,52,54,54,54,32,45,48,46,54,55,51,53,49,50,10,118,110,32,32,45,48,46,50, +54,52,56,55,52,32,45,48,46,55,50,48,57,50,52,32,45,48,46,54,52,48,51,57,57,10,118,110,32,32,45,48,46,51,48,51,49,54,55,32,45,48,46,54,48,56,57,57,53,32,45,48,46,55,51,50,57,52,57,10,118,110,32,32,48,46,48,48,48,48,48,48,32,45,48,46,52,51,53,53,49,51, +32,45,48,46,57,48,48,49,56,50,10,118,110,32,32,48,46,48,48,48,48,48,48,32,45,48,46,54,56,51,56,54,51,32,45,48,46,55,50,57,54,49,49,10,118,110,32,32,45,48,46,48,48,48,48,48,48,32,45,48,46,55,50,48,48,50,50,32,45,48,46,54,57,51,57,53,49,10,118,110,32,32, +48,46,48,48,48,48,48,48,32,45,48,46,54,48,55,57,56,51,32,45,48,46,55,57,51,57,53,48,10,118,110,32,32,48,46,51,52,52,49,55,57,32,45,48,46,52,51,54,49,56,48,32,45,48,46,56,51,49,52,51,55,10,118,110,32,32,48,46,50,55,56,53,57,52,32,45,48,46,54,56,52,54, +54,54,32,45,48,46,54,55,51,53,49,50,10,118,110,32,32,48,46,50,54,52,56,55,52,32,45,48,46,55,50,48,57,50,52,32,45,48,46,54,52,48,51,57,57,10,118,110,32,32,48,46,51,48,51,49,54,55,32,45,48,46,54,48,56,57,57,53,32,45,48,46,55,51,50,57,52,57,10,118,110,32, +32,48,46,54,51,54,48,57,50,32,45,48,46,52,51,54,55,55,56,32,45,48,46,54,51,54,48,57,50,10,118,110,32,32,48,46,53,49,52,57,54,53,32,45,48,46,54,56,53,50,57,48,32,45,48,46,53,49,52,57,54,53,10,118,110,32,32,48,46,52,56,57,54,53,49,32,45,48,46,55,50,49, +52,52,54,32,45,48,46,52,56,57,54,53,49,10,118,110,32,32,48,46,53,54,48,53,53,53,32,45,48,46,54,48,57,53,53,52,32,45,48,46,53,54,48,53,53,53,10,118,110,32,32,48,46,56,51,49,52,51,55,32,45,48,46,52,51,54,49,56,48,32,45,48,46,51,52,52,49,55,57,10,118,110, +32,32,48,46,54,55,51,53,49,50,32,45,48,46,54,56,52,54,54,54,32,45,48,46,50,55,56,53,57,53,10,118,110,32,32,48,46,54,52,48,51,57,57,32,45,48,46,55,50,48,57,50,52,32,45,48,46,50,54,52,56,55,52,10,118,110,32,32,48,46,55,51,50,57,52,57,32,45,48,46,54,48, +56,57,57,53,32,45,48,46,51,48,51,49,54,55,10,118,110,32,32,48,46,54,50,51,56,54,48,32,45,48,46,55,56,49,53,51,54,32,48,46,48,48,48,48,48,48,10,118,110,32,32,48,46,49,55,55,50,57,49,32,45,48,46,57,56,52,49,53,57,32,45,48,46,48,48,48,48,48,48,10,118,110, +32,32,48,46,48,52,57,50,48,55,32,45,48,46,57,57,56,55,56,57,32,48,46,48,48,48,48,48,48,10,118,110,32,32,48,46,48,48,48,48,48,48,32,45,49,46,48,48,48,48,48,48,32,48,46,48,48,48,48,48,48,10,118,110,32,32,48,46,53,55,54,50,51,48,32,45,48,46,55,56,49,56, +48,49,32,48,46,50,51,56,50,49,55,10,118,110,32,32,48,46,49,54,51,54,50,56,32,45,48,46,57,56,52,50,48,56,32,48,46,48,54,55,53,50,55,10,118,110,32,32,48,46,48,52,53,52,50,50,32,45,48,46,57,57,56,55,57,50,32,48,46,48,49,56,55,51,54,10,118,110,32,32,48,46, +52,52,48,52,49,54,32,45,48,46,55,56,50,51,52,56,32,48,46,52,52,48,52,49,54,10,118,110,32,32,48,46,49,50,52,57,48,51,32,45,48,46,57,56,52,50,55,54,32,48,46,49,50,52,57,48,51,10,118,110,32,32,48,46,48,51,52,54,54,50,32,45,48,46,57,57,56,55,57,56,32,48, +46,48,51,52,54,54,50,10,118,110,32,32,48,46,50,51,56,50,49,55,32,45,48,46,55,56,49,56,48,49,32,48,46,53,55,54,50,51,48,10,118,110,32,32,48,46,48,54,55,53,50,55,32,45,48,46,57,56,52,50,48,56,32,48,46,49,54,51,54,50,56,10,118,110,32,32,48,46,48,49,56,55, +51,54,32,45,48,46,57,57,56,55,57,50,32,48,46,48,52,53,52,50,50,10,118,110,32,32,45,48,46,48,48,48,48,48,48,32,45,48,46,55,56,49,53,51,54,32,48,46,54,50,51,56,54,48,10,118,110,32,32,48,46,48,48,48,48,48,48,32,45,48,46,57,56,52,49,53,57,32,48,46,49,55, +55,50,57,49,10,118,110,32,32,45,48,46,48,48,48,48,48,48,32,45,48,46,57,57,56,55,56,57,32,48,46,48,52,57,50,48,55,10,118,110,32,32,45,48,46,50,51,56,50,49,55,32,45,48,46,55,56,49,56,48,49,32,48,46,53,55,54,50,51,48,10,118,110,32,32,45,48,46,48,54,55,53, +50,55,32,45,48,46,57,56,52,50,48,56,32,48,46,49,54,51,54,50,56,10,118,110,32,32,45,48,46,48,49,56,55,51,54,32,45,48,46,57,57,56,55,57,50,32,48,46,48,52,53,52,50,50,10,118,110,32,32,45,48,46,52,52,48,52,49,54,32,45,48,46,55,56,50,51,52,56,32,48,46,52, +52,48,52,49,54,10,118,110,32,32,45,48,46,49,50,52,57,48,51,32,45,48,46,57,56,52,50,55,54,32,48,46,49,50,52,57,48,51,10,118,110,32,32,45,48,46,48,51,52,54,54,50,32,45,48,46,57,57,56,55,57,56,32,48,46,48,51,52,54,54,50,10,118,110,32,32,45,48,46,53,55,54, +50,51,48,32,45,48,46,55,56,49,56,48,49,32,48,46,50,51,56,50,49,55,10,118,110,32,32,45,48,46,49,54,51,54,50,56,32,45,48,46,57,56,52,50,48,56,32,48,46,48,54,55,53,50,55,10,118,110,32,32,45,48,46,48,52,53,52,50,50,32,45,48,46,57,57,56,55,57,50,32,48,46, +48,49,56,55,51,54,10,118,110,32,32,45,48,46,54,50,51,56,54,48,32,45,48,46,55,56,49,53,51,54,32,45,48,46,48,48,48,48,48,48,10,118,110,32,32,45,48,46,49,55,55,50,57,49,32,45,48,46,57,56,52,49,53,57,32,48,46,48,48,48,48,48,48,10,118,110,32,32,45,48,46,48, +52,57,50,48,55,32,45,48,46,57,57,56,55,56,57,32,45,48,46,48,48,48,48,48,48,10,118,110,32,32,45,48,46,53,55,54,50,51,48,32,45,48,46,55,56,49,56,48,49,32,45,48,46,50,51,56,50,49,55,10,118,110,32,32,45,48,46,49,54,51,54,50,56,32,45,48,46,57,56,52,50,48, +56,32,45,48,46,48,54,55,53,50,55,10,118,110,32,32,45,48,46,48,52,53,52,50,50,32,45,48,46,57,57,56,55,57,50,32,45,48,46,48,49,56,55,51,54,10,118,110,32,32,45,48,46,52,52,48,52,49,54,32,45,48,46,55,56,50,51,52,56,32,45,48,46,52,52,48,52,49,54,10,118,110, +32,32,45,48,46,49,50,52,57,48,51,32,45,48,46,57,56,52,50,55,54,32,45,48,46,49,50,52,57,48,51,10,118,110,32,32,45,48,46,48,51,52,54,54,50,32,45,48,46,57,57,56,55,57,56,32,45,48,46,48,51,52,54,54,50,10,118,110,32,32,45,48,46,50,51,56,50,49,55,32,45,48, +46,55,56,49,56,48,49,32,45,48,46,53,55,54,50,51,48,10,118,110,32,32,45,48,46,48,54,55,53,50,55,32,45,48,46,57,56,52,50,48,56,32,45,48,46,49,54,51,54,50,56,10,118,110,32,32,45,48,46,48,49,56,55,51,54,32,45,48,46,57,57,56,55,57,50,32,45,48,46,48,52,53, +52,50,50,10,118,110,32,32,48,46,48,48,48,48,48,48,32,45,48,46,55,56,49,53,51,54,32,45,48,46,54,50,51,56,54,48,10,118,110,32,32,45,48,46,48,48,48,48,48,48,32,45,48,46,57,56,52,49,53,57,32,45,48,46,49,55,55,50,57,49,10,118,110,32,32,48,46,48,48,48,48,48, +48,32,45,48,46,57,57,56,55,56,57,32,45,48,46,48,52,57,50,48,55,10,118,110,32,32,48,46,50,51,56,50,49,55,32,45,48,46,55,56,49,56,48,49,32,45,48,46,53,55,54,50,51,48,10,118,110,32,32,48,46,48,54,55,53,50,55,32,45,48,46,57,56,52,50,48,56,32,45,48,46,49, +54,51,54,50,56,10,118,110,32,32,48,46,48,49,56,55,51,54,32,45,48,46,57,57,56,55,57,50,32,45,48,46,48,52,53,52,50,50,10,118,110,32,32,48,46,52,52,48,52,49,54,32,45,48,46,55,56,50,51,52,56,32,45,48,46,52,52,48,52,49,54,10,118,110,32,32,48,46,49,50,52,57, +48,51,32,45,48,46,57,56,52,50,55,54,32,45,48,46,49,50,52,57,48,51,10,118,110,32,32,48,46,48,51,52,54,54,50,32,45,48,46,57,57,56,55,57,56,32,45,48,46,48,51,52,54,54,50,10,118,110,32,32,48,46,53,55,54,50,51,48,32,45,48,46,55,56,49,56,48,49,32,45,48,46, +50,51,56,50,49,55,10,118,110,32,32,48,46,49,54,51,54,50,56,32,45,48,46,57,56,52,50,48,56,32,45,48,46,48,54,55,53,50,55,10,118,110,32,32,48,46,48,52,53,52,50,50,32,45,48,46,57,57,56,55,57,50,32,45,48,46,48,49,56,55,51,54,10,118,110,32,32,48,46,48,48,55, +55,56,54,32,45,48,46,57,57,57,57,55,48,32,45,48,46,48,48,48,50,49,54,10,118,110,32,32,48,46,48,51,57,49,51,56,32,45,48,46,57,57,57,50,51,51,32,45,48,46,48,48,48,57,56,57,10,118,110,32,32,48,46,49,55,57,53,49,50,32,45,48,46,57,56,51,55,52,54,32,45,48, +46,48,48,52,51,54,57,10,118,110,32,32,48,46,54,49,50,50,57,57,32,45,48,46,55,57,48,53,53,55,32,45,48,46,48,49,48,52,54,48,10,118,110,32,32,48,46,57,56,54,49,53,50,32,45,48,46,49,54,53,55,48,56,32,45,48,46,48,48,54,54,55,48,10,118,110,32,32,48,46,48,48, +55,48,51,57,32,45,48,46,56,49,50,52,57,53,32,48,46,53,56,50,57,50,54,10,118,110,32,32,48,46,48,51,54,49,50,55,32,45,48,46,56,51,55,50,53,55,32,48,46,53,52,53,54,49,52,10,118,110,32,32,48,46,49,54,49,56,52,54,32,45,48,46,56,49,48,52,50,49,32,48,46,53, +54,51,48,52,56,10,118,110,32,32,48,46,52,56,50,51,54,53,32,45,48,46,53,57,53,49,52,56,32,48,46,54,52,50,55,52,54,10,118,110,32,32,48,46,55,51,56,55,50,48,32,45,48,46,49,49,52,53,57,52,32,48,46,54,54,52,49,57,57,10,118,110,32,32,45,48,46,48,48,49,57,48, +57,32,48,46,49,54,50,49,50,49,32,48,46,57,56,54,55,54,57,10,118,110,32,32,48,46,48,48,50,55,54,50,32,48,46,48,49,55,49,48,55,32,48,46,57,57,57,56,53,48,10,118,110,32,32,48,46,48,49,48,53,51,51,32,48,46,48,55,51,51,57,56,32,48,46,57,57,55,50,52,55,10, +118,110,32,32,45,48,46,48,54,54,48,52,49,32,48,46,49,51,48,48,55,48,32,48,46,57,56,57,51,48,51,10,118,110,32,32,45,48,46,48,57,52,52,50,55,32,48,46,48,49,54,53,57,52,32,48,46,57,57,53,51,57,51,10,118,110,32,32,45,48,46,48,48,57,50,48,51,32,48,46,56,55, +49,53,48,57,32,48,46,52,57,48,50,57,51,10,118,110,32,32,45,48,46,48,52,56,54,48,54,32,48,46,56,52,48,54,48,57,32,48,46,53,51,57,52,53,55,10,118,110,32,32,45,48,46,50,50,51,50,57,56,32,48,46,56,48,50,56,56,48,32,48,46,53,53,50,55,51,57,10,118,110,32,32, +45,48,46,53,57,54,51,54,53,32,48,46,53,53,57,57,55,49,32,48,46,53,55,53,49,51,53,10,118,110,32,32,45,48,46,56,48,51,51,51,55,32,48,46,48,54,56,50,51,54,32,48,46,53,57,49,54,48,51,10,118,110,32,32,45,48,46,48,49,48,53,54,49,32,48,46,57,57,57,57,52,52, +32,48,46,48,48,48,49,48,51,10,118,110,32,32,45,48,46,48,53,56,55,57,56,32,48,46,57,57,56,50,55,48,32,48,46,48,48,48,55,49,48,10,118,110,32,32,45,48,46,50,56,48,55,49,48,32,48,46,57,53,57,55,56,55,32,48,46,48,48,51,50,54,57,10,118,110,32,32,45,48,46,55, +52,57,55,50,51,32,48,46,54,54,49,55,51,56,32,48,46,48,48,52,50,54,56,10,118,110,32,32,45,48,46,57,57,55,51,53,49,32,48,46,48,55,50,55,49,52,32,48,46,48,48,50,48,53,57,10,118,110,32,32,45,48,46,48,48,56,55,57,50,32,48,46,56,55,49,52,57,51,32,45,48,46, +52,57,48,51,51,48,10,118,110,32,32,45,48,46,48,52,54,52,57,52,32,48,46,56,52,49,49,55,56,32,45,48,46,53,51,56,55,53,54,10,118,110,32,32,45,48,46,50,49,55,57,48,57,32,48,46,56,48,54,56,48,55,32,45,48,46,53,52,57,49,54,49,10,118,110,32,32,45,48,46,53,57, +55,50,57,49,32,48,46,53,54,48,48,50,54,32,45,48,46,53,55,52,49,50,49,10,118,110,32,32,45,48,46,56,48,52,48,48,48,32,48,46,48,54,50,57,49,51,32,45,48,46,53,57,49,50,57,50,10,118,110,32,32,45,48,46,48,48,49,56,48,54,32,48,46,49,54,49,54,57,49,32,45,48, +46,57,56,54,56,52,48,10,118,110,32,32,48,46,48,48,50,48,51,49,32,48,46,48,49,52,53,53,53,32,45,48,46,57,57,57,56,57,50,10,118,110,32,32,48,46,48,48,57,50,49,53,32,48,46,48,54,48,48,54,57,32,45,48,46,57,57,56,49,53,50,10,118,110,32,32,45,48,46,48,53,57, +51,51,52,32,48,46,49,49,51,56,54,53,32,45,48,46,57,57,49,55,50,51,10,118,110,32,32,45,48,46,48,56,54,56,57,57,32,48,46,48,49,50,50,57,48,32,45,48,46,57,57,54,49,52,49,10,118,110,32,32,48,46,48,48,54,52,49,56,32,45,48,46,56,49,50,51,55,57,32,45,48,46, +53,56,51,48,57,53,10,118,110,32,32,48,46,48,51,51,55,56,51,32,45,48,46,56,51,55,53,49,50,32,45,48,46,53,52,53,51,55,51,10,118,110,32,32,48,46,49,53,55,49,49,51,32,45,48,46,56,49,49,57,52,55,32,45,48,46,53,54,50,49,57,48,10,118,110,32,32,48,46,52,56,52, +52,48,54,32,45,48,46,53,56,57,51,54,54,32,45,48,46,54,52,54,53,50,56,10,118,110,32,32,48,46,55,51,56,56,55,48,32,45,48,46,49,48,49,51,50,48,32,45,48,46,54,54,54,49,56,55,10,118,110,32,32,48,46,57,52,54,53,49,50,32,48,46,51,50,50,54,53,48,32,45,48,46, +48,48,51,51,53,55,10,118,110,32,32,48,46,56,50,53,56,51,48,32,48,46,53,54,51,56,55,48,32,45,48,46,48,48,55,52,53,50,10,118,110,32,32,48,46,54,53,48,48,49,49,32,48,46,55,53,57,56,57,51,32,45,48,46,48,48,54,57,51,55,10,118,110,32,32,48,46,53,51,50,52,50, +57,32,48,46,56,52,54,52,53,57,32,45,48,46,48,48,53,50,52,53,10,118,110,32,32,48,46,55,50,53,54,48,56,32,48,46,50,53,57,51,53,49,32,48,46,54,51,55,51,54,49,10,118,110,32,32,48,46,54,52,53,57,52,53,32,48,46,52,54,49,57,56,56,32,48,46,54,48,55,55,49,57, +10,118,110,32,32,48,46,53,51,49,54,49,53,32,48,46,54,51,54,54,54,48,32,48,46,53,53,56,54,49,52,10,118,110,32,32,48,46,52,50,52,57,54,52,32,48,46,54,56,49,55,49,55,32,48,46,53,57,53,53,52,48,10,118,110,32,32,45,48,46,48,52,57,53,54,50,32,45,48,46,48,49, +57,55,53,53,32,48,46,57,57,56,53,55,54,10,118,110,32,32,45,48,46,48,51,55,56,49,54,32,45,48,46,48,51,53,54,50,52,32,48,46,57,57,56,54,53,48,10,118,110,32,32,45,48,46,48,51,55,57,49,52,32,45,48,46,48,51,54,53,49,50,32,48,46,57,57,56,54,49,52,10,118,110, +32,32,45,48,46,49,54,56,56,53,52,32,45,48,46,50,57,55,57,52,53,32,48,46,57,51,57,53,51,48,10,118,110,32,32,45,48,46,55,52,50,51,52,50,32,45,48,46,50,57,57,49,54,54,32,48,46,53,57,57,53,50,51,10,118,110,32,32,45,48,46,54,49,57,54,48,50,32,45,48,46,53, +50,57,52,48,54,32,48,46,53,55,57,53,48,50,10,118,110,32,32,45,48,46,52,56,51,55,48,56,32,45,48,46,54,56,53,55,54,48,32,48,46,53,52,51,56,51,55,10,118,110,32,32,45,48,46,52,52,53,50,57,51,32,45,48,46,55,57,52,51,53,53,32,48,46,52,49,51,49,55,55,10,118, +110,32,32,45,48,46,57,50,54,53,49,51,32,45,48,46,51,55,54,50,53,56,32,48,46,48,48,49,57,57,54,10,118,110,32,32,45,48,46,55,53,51,57,50,48,32,45,48,46,54,53,54,57,53,50,32,48,46,48,48,52,51,49,55,10,118,110,32,32,45,48,46,53,54,54,50,50,52,32,45,48,46, +56,50,52,50,52,52,32,48,46,48,48,51,52,54,49,10,118,110,32,32,45,48,46,52,56,49,56,48,52,32,45,48,46,56,55,54,50,55,55,32,48,46,48,48,49,56,53,48,10,118,110,32,32,45,48,46,55,52,52,54,55,53,32,45,48,46,50,57,52,52,50,53,32,45,48,46,53,57,56,57,55,55, +10,118,110,32,32,45,48,46,54,50,49,57,52,57,32,45,48,46,53,50,56,49,49,52,32,45,48,46,53,55,56,49,54,53,10,118,110,32,32,45,48,46,52,56,49,49,55,49,32,45,48,46,54,56,56,51,52,48,32,45,48,46,53,52,50,56,50,56,10,118,110,32,32,45,48,46,52,51,56,48,53,53, +32,45,48,46,55,57,55,48,51,53,32,45,48,46,52,49,53,55,52,52,10,118,110,32,32,45,48,46,48,52,52,51,51,55,32,45,48,46,48,49,55,48,53,54,32,45,48,46,57,57,56,56,55,49,10,118,110,32,32,45,48,46,48,50,54,49,55,54,32,45,48,46,48,50,56,49,54,54,32,45,48,46, +57,57,57,50,54,48,10,118,110,32,32,45,48,46,48,50,53,50,57,52,32,45,48,46,48,50,56,51,51,50,32,45,48,46,57,57,57,50,55,56,10,118,110,32,32,45,48,46,49,53,55,52,56,50,32,45,48,46,50,56,57,51,57,50,32,45,48,46,57,52,52,49,54,55,10,118,110,32,32,48,46,55, +50,56,50,52,52,32,48,46,50,53,50,52,49,48,32,45,48,46,54,51,55,49,52,50,10,118,110,32,32,48,46,54,52,55,48,53,53,32,48,46,52,53,57,55,50,53,32,45,48,46,54,48,56,50,53,52,10,118,110,32,32,48,46,53,50,50,57,57,52,32,48,46,54,52,48,54,53,55,32,45,48,46, +53,54,50,49,55,48,10,118,110,32,32,48,46,52,48,57,57,55,56,32,48,46,54,56,50,56,53,55,32,45,48,46,54,48,52,54,54,57,10,118,110,32,32,45,48,46,50,51,48,55,56,55,32,48,46,57,55,50,57,56,50,32,45,48,46,48,48,54,53,50,51,10,118,110,32,32,45,48,46,53,52,56, +57,51,54,32,48,46,56,51,53,56,54,51,32,45,48,46,48,48,49,53,49,49,10,118,110,32,32,45,48,46,56,55,53,54,55,49,32,48,46,52,56,50,56,48,54,32,48,46,48,48,57,56,57,51,10,118,110,32,32,45,48,46,56,55,55,53,53,52,32,48,46,52,55,57,48,57,55,32,48,46,48,49, +57,48,57,50,10,118,110,32,32,45,48,46,54,57,54,49,57,48,32,48,46,55,49,55,52,51,57,32,48,46,48,50,52,52,57,55,10,118,110,32,32,45,48,46,49,53,50,56,55,55,32,48,46,54,56,55,50,49,49,32,48,46,55,49,48,49,57,48,10,118,110,32,32,45,48,46,51,49,54,55,50,49, +32,48,46,54,51,55,55,53,48,32,48,46,55,48,50,49,49,51,10,118,110,32,32,45,48,46,54,48,49,48,54,55,32,48,46,52,55,49,52,53,50,32,48,46,54,52,53,51,51,48,10,118,110,32,32,45,48,46,54,51,53,56,56,57,32,48,46,52,52,54,48,57,48,32,48,46,54,50,57,56,48,49, +10,118,110,32,32,45,48,46,52,51,53,55,52,54,32,48,46,54,48,49,48,48,56,32,48,46,54,55,48,48,49,49,10,118,110,32,32,48,46,49,49,49,49,49,51,32,45,48,46,48,56,53,48,55,48,32,48,46,57,57,48,49,54,48,10,118,110,32,32,48,46,50,50,51,51,49,48,32,48,46,48,48, +54,53,52,48,32,48,46,57,55,52,55,50,54,10,118,110,32,32,48,46,49,57,48,48,57,55,32,48,46,49,53,52,57,54,52,32,48,46,57,54,57,52,53,56,10,118,110,32,32,48,46,48,48,53,50,55,49,32,48,46,49,56,57,52,56,50,32,48,46,57,56,49,56,55,48,10,118,110,32,32,45,48, +46,48,49,49,55,53,50,32,48,46,50,52,54,54,56,56,32,48,46,57,54,57,48,50,52,10,118,110,32,32,48,46,51,52,51,57,48,54,32,45,48,46,55,50,50,55,57,54,32,48,46,53,57,57,52,49,50,10,118,110,32,32,48,46,53,55,50,52,56,57,32,45,48,46,53,54,55,54,53,54,32,48, +46,53,57,49,54,50,55,10,118,110,32,32,48,46,55,56,55,52,51,54,32,45,48,46,50,53,54,52,53,57,32,48,46,53,54,48,53,49,50,10,118,110,32,32,48,46,54,52,55,48,57,55,32,45,48,46,51,48,54,51,55,52,32,48,46,54,57,56,49,52,49,10,118,110,32,32,48,46,52,50,55,53, +50,56,32,45,48,46,52,57,57,51,52,51,32,48,46,55,53,51,53,55,54,10,118,110,32,32,48,46,52,49,48,57,50,54,32,45,48,46,57,49,49,54,54,56,32,48,46,48,48,49,50,56,52,10,118,110,32,32,48,46,54,55,49,53,50,48,32,45,48,46,55,52,48,57,56,54,32,45,48,46,48,48, +48,56,57,57,10,118,110,32,32,48,46,57,50,50,48,50,54,32,45,48,46,51,56,55,48,54,48,32,45,48,46,48,48,55,50,53,51,10,118,110,32,32,48,46,56,52,54,57,49,48,32,45,48,46,53,51,49,53,53,54,32,45,48,46,48,49,51,56,53,52,10,118,110,32,32,48,46,53,51,53,57,50, +52,32,45,48,46,56,52,52,50,48,49,32,45,48,46,48,49,48,53,48,53,10,118,110,32,32,48,46,51,52,49,49,56,56,32,45,48,46,55,50,50,56,50,51,32,45,48,46,54,48,48,57,51,49,10,118,110,32,32,48,46,53,55,56,54,54,52,32,45,48,46,53,54,49,49,51,57,32,45,48,46,53, +57,49,56,51,56,10,118,110,32,32,48,46,55,56,52,56,54,57,32,45,48,46,50,53,49,48,50,48,32,45,48,46,53,54,54,53,52,50,10,118,110,32,32,48,46,54,52,50,54,56,49,32,45,48,46,51,48,50,50,53,55,32,45,48,46,55,48,51,57,57,48,10,118,110,32,32,48,46,52,49,56,53, +56,57,32,45,48,46,53,48,48,48,52,50,32,45,48,46,55,53,56,49,49,55,10,118,110,32,32,48,46,49,49,53,56,48,54,32,45,48,46,48,55,57,49,51,57,32,45,48,46,57,57,48,49,49,52,10,118,110,32,32,48,46,50,51,50,56,49,49,32,48,46,48,49,50,53,54,53,32,45,48,46,57, +55,50,52,52,49,10,118,110,32,32,48,46,50,48,54,54,54,50,32,48,46,49,53,51,54,48,49,32,45,48,46,57,54,54,50,56,48,10,118,110,32,32,48,46,48,50,52,53,48,48,32,48,46,49,54,49,52,52,51,32,45,48,46,57,56,54,53,55,56,10,118,110,32,32,48,46,48,48,51,51,56,50, +32,48,46,50,49,49,49,49,53,32,45,48,46,57,55,55,52,53,53,10,118,110,32,32,45,48,46,49,51,52,57,49,50,32,48,46,54,56,55,52,57,49,32,45,48,46,55,49,51,53,53,49,10,118,110,32,32,45,48,46,51,49,57,53,52,48,32,48,46,54,51,51,48,55,51,32,45,48,46,55,48,53, +48,54,51,10,118,110,32,32,45,48,46,54,48,51,57,48,50,32,48,46,52,54,49,52,52,50,32,45,48,46,54,52,57,57,48,51,10,118,110,32,32,45,48,46,54,51,49,56,49,53,32,48,46,52,51,55,49,54,57,32,45,48,46,54,52,48,48,55,50,10,118,110,32,32,45,48,46,52,50,52,51,48, +54,32,48,46,54,49,50,55,48,54,32,45,48,46,54,54,54,55,53,48,10,118,110,32,32,45,48,46,52,50,53,56,48,49,32,48,46,57,48,52,55,53,51,32,48,46,48,49,48,56,48,53,10,118,110,32,32,48,46,48,50,50,48,52,54,32,48,46,57,57,57,55,53,54,32,48,46,48,48,49,54,50, +51,10,118,110,32,32,48,46,57,57,57,53,57,56,32,48,46,48,50,53,56,55,53,32,48,46,48,49,49,53,53,54,10,118,110,32,32,48,46,55,48,57,53,56,55,32,45,48,46,55,48,52,53,53,50,32,48,46,48,48,57,54,55,50,10,118,110,32,32,45,48,46,50,53,57,56,53,56,32,48,46,55, +57,49,57,51,55,32,48,46,53,53,50,53,52,56,10,118,110,32,32,48,46,48,48,57,53,51,57,32,48,46,57,57,57,55,50,48,32,45,48,46,48,50,49,54,55,52,10,118,110,32,32,48,46,52,49,48,49,53,55,32,48,46,51,51,50,57,49,50,32,45,48,46,56,52,57,48,56,50,10,118,110,32, +32,48,46,53,52,49,53,50,51,32,45,48,46,53,52,56,54,49,57,32,45,48,46,54,51,55,48,48,49,10,118,110,32,32,48,46,48,52,54,51,49,49,32,48,46,52,53,53,50,50,51,32,48,46,56,56,57,49,55,50,10,118,110,32,32,45,48,46,48,49,48,54,56,56,32,48,46,57,56,56,55,57, +52,32,48,46,49,52,56,57,48,48,10,118,110,32,32,45,48,46,48,52,52,51,55,54,32,48,46,54,56,50,57,52,54,32,45,48,46,55,50,57,49,50,48,10,118,110,32,32,48,46,49,50,50,56,50,52,32,48,46,48,48,57,50,51,51,32,45,48,46,57,57,50,51,56,53,10,118,110,32,32,48,46, +52,56,49,56,51,57,32,45,48,46,49,56,48,52,52,48,32,48,46,56,53,55,52,56,48,10,118,110,32,32,48,46,52,53,53,50,55,50,32,48,46,55,51,54,55,53,50,32,48,46,52,57,57,57,50,53,10,118,110,32,32,45,48,46,50,50,48,53,52,50,32,48,46,57,48,55,49,57,51,32,45,48, +46,51,53,56,50,55,55,10,118,110,32,32,45,48,46,50,51,53,57,49,57,32,48,46,54,53,55,50,53,48,32,45,48,46,55,49,53,55,57,55,10,118,110,32,32,48,46,55,50,56,48,57,52,32,45,48,46,54,56,53,51,48,48,32,45,48,46,48,49,53,53,56,53,10,118,110,32,32,48,46,56,56, +56,55,51,56,32,48,46,52,53,56,49,49,50,32,45,48,46,48,49,54,54,55,57,10,118,110,32,32,45,48,46,50,54,48,48,57,56,32,48,46,57,54,53,53,56,50,32,48,46,48,48,48,56,48,48,10,118,110,32,32,45,48,46,51,55,49,54,49,49,32,48,46,57,50,56,51,55,56,32,45,48,46, +48,48,52,52,49,56,10,118,110,32,32,48,46,52,56,48,49,54,53,32,45,48,46,49,55,56,51,54,50,32,45,48,46,56,53,56,56,53,51,10,118,110,32,32,48,46,52,56,56,49,48,50,32,48,46,55,49,54,56,48,50,32,45,48,46,52,57,55,57,52,55,10,118,110,32,32,45,48,46,50,50,50, +48,48,52,32,48,46,57,48,53,51,57,57,32,48,46,51,54,49,56,57,50,10,118,110,32,32,45,48,46,50,51,53,52,48,53,32,48,46,54,54,51,49,56,48,32,48,46,55,49,48,52,55,55,10,118,110,32,32,48,46,48,53,56,55,50,48,32,48,46,52,51,55,55,48,50,32,45,48,46,56,57,55, +50,48,48,10,118,110,32,32,48,46,48,48,49,51,50,54,32,48,46,57,56,54,52,53,57,32,45,48,46,49,54,52,48,48,50,10,118,110,32,32,45,48,46,48,52,52,49,57,48,32,48,46,54,56,49,54,55,53,32,48,46,55,51,48,51,49,57,10,118,110,32,32,48,46,49,51,56,56,48,49,32,45, +48,46,48,51,52,49,56,56,32,48,46,57,56,57,55,51,48,10,118,110,32,32,45,48,46,50,53,56,56,57,48,32,48,46,55,57,55,50,48,54,32,45,48,46,53,52,53,51,56,48,10,118,110,32,32,48,46,48,49,50,50,55,48,32,48,46,57,57,57,55,51,57,32,48,46,48,49,57,50,56,55,10, +118,110,32,32,48,46,51,57,56,54,51,50,32,48,46,51,53,52,56,57,48,32,48,46,56,52,53,54,54,51,10,118,110,32,32,48,46,53,51,55,53,54,52,32,45,48,46,53,56,49,51,57,56,32,48,46,54,49,48,55,51,56,10,118,110,32,32,48,46,48,48,48,48,48,48,32,49,46,48,48,48,48, +48,48,32,48,46,48,48,48,48,48,48,10,118,110,32,32,48,46,56,50,52,53,52,48,32,48,46,53,54,53,56,48,52,32,48,46,48,48,48,48,49,55,10,118,110,32,32,48,46,57,49,55,55,48,49,32,45,48,46,51,57,55,50,55,50,32,48,46,48,48,48,48,51,52,10,118,110,32,32,48,46,57, +51,53,50,54,57,32,45,48,46,51,53,51,57,51,57,32,48,46,48,48,48,49,49,51,10,118,110,32,32,48,46,55,56,48,55,49,50,32,48,46,54,50,52,56,57,48,32,48,46,48,48,48,48,55,53,10,118,110,32,32,48,46,55,54,50,54,52,48,32,48,46,53,54,53,48,51,53,32,48,46,51,49, +52,56,50,53,10,118,110,32,32,48,46,56,52,55,57,56,50,32,45,48,46,51,57,55,57,57,56,32,48,46,51,53,48,48,51,52,10,118,110,32,32,48,46,56,54,52,49,52,49,32,45,48,46,51,53,53,50,54,49,32,48,46,51,53,54,52,52,49,10,118,110,32,32,48,46,55,50,48,57,57,50,32, +48,46,54,50,53,54,50,53,32,48,46,50,57,55,57,51,51,10,118,110,32,32,48,46,53,56,51,51,53,55,32,48,46,53,54,53,49,54,53,32,48,46,53,56,51,51,51,56,10,118,110,32,32,48,46,54,52,56,52,56,53,32,45,48,46,51,57,56,55,50,54,32,48,46,54,52,56,52,52,56,10,118, +110,32,32,48,46,54,54,48,56,55,50,32,45,48,46,51,53,53,56,57,52,32,48,46,54,54,48,55,52,56,10,118,110,32,32,48,46,53,53,49,56,54,50,32,48,46,54,50,53,50,57,48,32,48,46,53,53,49,55,56,48,10,118,110,32,32,48,46,51,49,52,56,50,52,32,48,46,53,54,53,48,53, +49,32,48,46,55,54,50,54,50,57,10,118,110,32,32,48,46,51,53,48,48,52,53,32,45,48,46,51,57,55,57,55,54,32,48,46,56,52,55,57,56,56,10,118,110,32,32,48,46,51,53,54,52,55,52,32,45,48,46,51,53,53,49,57,57,32,48,46,56,54,52,49,53,51,10,118,110,32,32,48,46,50, +57,55,57,56,51,32,48,46,54,50,53,53,49,53,32,48,46,55,50,49,48,54,55,10,118,110,32,32,45,48,46,48,48,48,48,49,55,32,48,46,53,54,53,56,48,52,32,48,46,56,50,52,53,52,48,10,118,110,32,32,45,48,46,48,48,48,48,51,52,32,45,48,46,51,57,55,50,55,50,32,48,46, +57,49,55,55,48,49,10,118,110,32,32,45,48,46,48,48,48,49,49,51,32,45,48,46,51,53,51,57,51,57,32,48,46,57,51,53,50,54,57,10,118,110,32,32,45,48,46,48,48,48,48,55,53,32,48,46,54,50,52,56,57,48,32,48,46,55,56,48,55,49,50,10,118,110,32,32,45,48,46,51,49,52, +56,50,53,32,48,46,53,54,53,48,51,53,32,48,46,55,54,50,54,52,48,10,118,110,32,32,45,48,46,51,53,48,48,51,52,32,45,48,46,51,57,55,57,57,56,32,48,46,56,52,55,57,56,50,10,118,110,32,32,45,48,46,51,53,54,52,52,49,32,45,48,46,51,53,53,50,54,49,32,48,46,56, +54,52,49,52,49,10,118,110,32,32,45,48,46,50,57,55,57,51,51,32,48,46,54,50,53,54,50,53,32,48,46,55,50,48,57,57,50,10,118,110,32,32,45,48,46,53,56,51,51,51,56,32,48,46,53,54,53,49,54,53,32,48,46,53,56,51,51,53,55,10,118,110,32,32,45,48,46,54,52,56,52,52, +56,32,45,48,46,51,57,56,55,50,54,32,48,46,54,52,56,52,56,53,10,118,110,32,32,45,48,46,54,54,48,55,52,56,32,45,48,46,51,53,53,56,57,52,32,48,46,54,54,48,56,55,50,10,118,110,32,32,45,48,46,53,53,49,55,56,48,32,48,46,54,50,53,50,57,48,32,48,46,53,53,49, +56,54,50,10,118,110,32,32,45,48,46,55,54,50,54,50,57,32,48,46,53,54,53,48,53,49,32,48,46,51,49,52,56,50,52,10,118,110,32,32,45,48,46,56,52,55,57,56,56,32,45,48,46,51,57,55,57,55,54,32,48,46,51,53,48,48,52,53,10,118,110,32,32,45,48,46,56,54,52,49,53,51, +32,45,48,46,51,53,53,49,57,57,32,48,46,51,53,54,52,55,52,10,118,110,32,32,45,48,46,55,50,49,48,54,55,32,48,46,54,50,53,53,49,53,32,48,46,50,57,55,57,56,51,10,118,110,32,32,45,48,46,56,50,52,53,52,48,32,48,46,53,54,53,56,48,52,32,45,48,46,48,48,48,48, +49,55,10,118,110,32,32,45,48,46,57,49,55,55,48,49,32,45,48,46,51,57,55,50,55,50,32,45,48,46,48,48,48,48,51,52,10,118,110,32,32,45,48,46,57,51,53,50,54,57,32,45,48,46,51,53,51,57,51,57,32,45,48,46,48,48,48,49,49,51,10,118,110,32,32,45,48,46,55,56,48,55, +49,50,32,48,46,54,50,52,56,57,48,32,45,48,46,48,48,48,48,55,53,10,118,110,32,32,45,48,46,55,54,50,54,52,48,32,48,46,53,54,53,48,51,53,32,45,48,46,51,49,52,56,50,53,10,118,110,32,32,45,48,46,56,52,55,57,56,50,32,45,48,46,51,57,55,57,57,56,32,45,48,46, +51,53,48,48,51,52,10,118,110,32,32,45,48,46,56,54,52,49,52,49,32,45,48,46,51,53,53,50,54,49,32,45,48,46,51,53,54,52,52,49,10,118,110,32,32,45,48,46,55,50,48,57,57,50,32,48,46,54,50,53,54,50,53,32,45,48,46,50,57,55,57,51,51,10,118,110,32,32,45,48,46,53, +56,51,51,53,55,32,48,46,53,54,53,49,54,53,32,45,48,46,53,56,51,51,51,56,10,118,110,32,32,45,48,46,54,52,56,52,56,53,32,45,48,46,51,57,56,55,50,54,32,45,48,46,54,52,56,52,52,56,10,118,110,32,32,45,48,46,54,54,48,56,55,50,32,45,48,46,51,53,53,56,57,52, +32,45,48,46,54,54,48,55,52,56,10,118,110,32,32,45,48,46,53,53,49,56,54,50,32,48,46,54,50,53,50,57,48,32,45,48,46,53,53,49,55,56,48,10,118,110,32,32,45,48,46,51,49,52,56,50,52,32,48,46,53,54,53,48,53,49,32,45,48,46,55,54,50,54,50,57,10,118,110,32,32,45, +48,46,51,53,48,48,52,53,32,45,48,46,51,57,55,57,55,54,32,45,48,46,56,52,55,57,56,56,10,118,110,32,32,45,48,46,51,53,54,52,55,52,32,45,48,46,51,53,53,49,57,57,32,45,48,46,56,54,52,49,53,51,10,118,110,32,32,45,48,46,50,57,55,57,56,51,32,48,46,54,50,53, +53,49,53,32,45,48,46,55,50,49,48,54,55,10,118,110,32,32,48,46,48,48,48,48,49,55,32,48,46,53,54,53,56,48,52,32,45,48,46,56,50,52,53,52,48,10,118,110,32,32,48,46,48,48,48,48,51,52,32,45,48,46,51,57,55,50,55,50,32,45,48,46,57,49,55,55,48,49,10,118,110,32, +32,48,46,48,48,48,49,49,51,32,45,48,46,51,53,51,57,51,57,32,45,48,46,57,51,53,50,54,57,10,118,110,32,32,48,46,48,48,48,48,55,53,32,48,46,54,50,52,56,57,48,32,45,48,46,55,56,48,55,49,50,10,118,110,32,32,48,46,51,49,52,56,50,53,32,48,46,53,54,53,48,51, +53,32,45,48,46,55,54,50,54,52,48,10,118,110,32,32,48,46,51,53,48,48,51,52,32,45,48,46,51,57,55,57,57,56,32,45,48,46,56,52,55,57,56,50,10,118,110,32,32,48,46,51,53,54,52,52,49,32,45,48,46,51,53,53,50,54,49,32,45,48,46,56,54,52,49,52,49,10,118,110,32,32, +48,46,50,57,55,57,51,51,32,48,46,54,50,53,54,50,53,32,45,48,46,55,50,48,57,57,50,10,118,110,32,32,48,46,53,56,51,51,51,56,32,48,46,53,54,53,49,54,53,32,45,48,46,53,56,51,51,53,55,10,118,110,32,32,48,46,54,52,56,52,52,56,32,45,48,46,51,57,56,55,50,54, +32,45,48,46,54,52,56,52,56,53,10,118,110,32,32,48,46,54,54,48,55,52,56,32,45,48,46,51,53,53,56,57,52,32,45,48,46,54,54,48,56,55,50,10,118,110,32,32,48,46,53,53,49,55,56,48,32,48,46,54,50,53,50,57,48,32,45,48,46,53,53,49,56,54,50,10,118,110,32,32,48,46, +55,54,50,54,50,57,32,48,46,53,54,53,48,53,49,32,45,48,46,51,49,52,56,50,52,10,118,110,32,32,48,46,56,52,55,57,56,56,32,45,48,46,51,57,55,57,55,54,32,45,48,46,51,53,48,48,52,53,10,118,110,32,32,48,46,56,54,52,49,53,51,32,45,48,46,51,53,53,49,57,57,32, +45,48,46,51,53,54,52,55,52,10,118,110,32,32,48,46,55,50,49,48,54,55,32,48,46,54,50,53,53,49,53,32,45,48,46,50,57,55,57,56,51,10,118,110,32,32,48,46,50,51,54,53,56,51,32,48,46,57,55,49,54,49,49,32,45,48,46,48,48,48,48,48,48,10,118,110,32,32,48,46,49,55, +51,48,56,52,32,48,46,57,56,52,57,48,55,32,45,48,46,48,48,48,48,48,48,10,118,110,32,32,48,46,51,55,57,55,48,51,32,48,46,57,50,53,49,48,56,32,45,48,46,48,48,48,48,48,48,10,118,110,32,32,48,46,53,50,54,54,55,51,32,48,46,56,53,48,48,54,56,32,48,46,48,48, +48,48,48,48,10,118,110,32,32,48,46,50,49,55,57,55,56,32,48,46,57,55,49,55,55,53,32,48,46,48,57,48,50,49,54,10,118,110,32,32,48,46,49,53,57,53,56,57,32,48,46,57,56,52,57,55,55,32,48,46,48,54,53,57,54,49,10,118,110,32,32,48,46,51,53,48,52,57,56,32,48,46, +57,50,53,51,49,49,32,48,46,49,52,52,55,52,48,10,118,110,32,32,48,46,52,56,53,53,57,48,32,48,46,56,53,48,54,53,51,32,48,46,50,48,49,52,55,52,10,118,110,32,32,48,46,49,54,54,54,51,49,32,48,46,57,55,49,56,51,56,32,48,46,49,54,54,54,51,49,10,118,110,32,32, +48,46,49,50,49,57,48,56,32,48,46,57,56,53,48,50,54,32,48,46,49,50,49,57,48,56,10,118,110,32,32,48,46,50,54,55,54,54,56,32,48,46,57,50,53,53,56,53,32,48,46,50,54,55,54,54,56,10,118,110,32,32,48,46,51,55,49,51,49,53,32,48,46,56,53,49,48,50,57,32,48,46, +51,55,49,51,49,53,10,118,110,32,32,48,46,48,57,48,50,49,54,32,48,46,57,55,49,55,55,53,32,48,46,50,49,55,57,55,56,10,118,110,32,32,48,46,48,54,53,57,54,49,32,48,46,57,56,52,57,55,55,32,48,46,49,53,57,53,56,57,10,118,110,32,32,48,46,49,52,52,55,52,48,32, +48,46,57,50,53,51,49,49,32,48,46,51,53,48,52,57,56,10,118,110,32,32,48,46,50,48,49,52,55,53,32,48,46,56,53,48,54,53,51,32,48,46,52,56,53,53,57,48,10,118,110,32,32,48,46,48,48,48,48,48,48,32,48,46,57,55,49,54,49,49,32,48,46,50,51,54,53,56,51,10,118,110, +32,32,48,46,48,48,48,48,48,48,32,48,46,57,56,52,57,48,55,32,48,46,49,55,51,48,56,52,10,118,110,32,32,48,46,48,48,48,48,48,48,32,48,46,57,50,53,49,48,56,32,48,46,51,55,57,55,48,51,10,118,110,32,32,45,48,46,48,48,48,48,48,48,32,48,46,56,53,48,48,54,56, +32,48,46,53,50,54,54,55,51,10,118,110,32,32,45,48,46,48,57,48,50,49,54,32,48,46,57,55,49,55,55,53,32,48,46,50,49,55,57,55,56,10,118,110,32,32,45,48,46,48,54,53,57,54,49,32,48,46,57,56,52,57,55,55,32,48,46,49,53,57,53,56,57,10,118,110,32,32,45,48,46,49, +52,52,55,52,48,32,48,46,57,50,53,51,49,49,32,48,46,51,53,48,52,57,56,10,118,110,32,32,45,48,46,50,48,49,52,55,52,32,48,46,56,53,48,54,53,51,32,48,46,52,56,53,53,57,48,10,118,110,32,32,45,48,46,49,54,54,54,51,49,32,48,46,57,55,49,56,51,56,32,48,46,49, +54,54,54,51,49,10,118,110,32,32,45,48,46,49,50,49,57,48,56,32,48,46,57,56,53,48,50,54,32,48,46,49,50,49,57,48,56,10,118,110,32,32,45,48,46,50,54,55,54,54,56,32,48,46,57,50,53,53,56,53,32,48,46,50,54,55,54,54,56,10,118,110,32,32,45,48,46,51,55,49,51,49, +53,32,48,46,56,53,49,48,50,57,32,48,46,51,55,49,51,49,53,10,118,110,32,32,45,48,46,50,49,55,57,55,56,32,48,46,57,55,49,55,55,53,32,48,46,48,57,48,50,49,54,10,118,110,32,32,45,48,46,49,53,57,53,56,57,32,48,46,57,56,52,57,55,55,32,48,46,48,54,53,57,54, +49,10,118,110,32,32,45,48,46,51,53,48,52,57,56,32,48,46,57,50,53,51,49,49,32,48,46,49,52,52,55,52,48,10,118,110,32,32,45,48,46,52,56,53,53,57,48,32,48,46,56,53,48,54,53,51,32,48,46,50,48,49,52,55,53,10,118,110,32,32,45,48,46,50,51,54,53,56,51,32,48,46, +57,55,49,54,49,49,32,48,46,48,48,48,48,48,48,10,118,110,32,32,45,48,46,49,55,51,48,56,52,32,48,46,57,56,52,57,48,55,32,48,46,48,48,48,48,48,48,10,118,110,32,32,45,48,46,51,55,57,55,48,51,32,48,46,57,50,53,49,48,56,32,48,46,48,48,48,48,48,48,10,118,110, +32,32,45,48,46,53,50,54,54,55,51,32,48,46,56,53,48,48,54,56,32,45,48,46,48,48,48,48,48,48,10,118,110,32,32,45,48,46,50,49,55,57,55,56,32,48,46,57,55,49,55,55,53,32,45,48,46,48,57,48,50,49,54,10,118,110,32,32,45,48,46,49,53,57,53,56,57,32,48,46,57,56, +52,57,55,55,32,45,48,46,48,54,53,57,54,49,10,118,110,32,32,45,48,46,51,53,48,52,57,56,32,48,46,57,50,53,51,49,49,32,45,48,46,49,52,52,55,52,48,10,118,110,32,32,45,48,46,52,56,53,53,57,48,32,48,46,56,53,48,54,53,51,32,45,48,46,50,48,49,52,55,52,10,118, +110,32,32,45,48,46,49,54,54,54,51,49,32,48,46,57,55,49,56,51,56,32,45,48,46,49,54,54,54,51,49,10,118,110,32,32,45,48,46,49,50,49,57,48,56,32,48,46,57,56,53,48,50,54,32,45,48,46,49,50,49,57,48,56,10,118,110,32,32,45,48,46,50,54,55,54,54,56,32,48,46,57, +50,53,53,56,53,32,45,48,46,50,54,55,54,54,56,10,118,110,32,32,45,48,46,51,55,49,51,49,53,32,48,46,56,53,49,48,50,57,32,45,48,46,51,55,49,51,49,53,10,118,110,32,32,45,48,46,48,57,48,50,49,54,32,48,46,57,55,49,55,55,53,32,45,48,46,50,49,55,57,55,56,10, +118,110,32,32,45,48,46,48,54,53,57,54,49,32,48,46,57,56,52,57,55,55,32,45,48,46,49,53,57,53,56,57,10,118,110,32,32,45,48,46,49,52,52,55,52,48,32,48,46,57,50,53,51,49,49,32,45,48,46,51,53,48,52,57,56,10,118,110,32,32,45,48,46,50,48,49,52,55,53,32,48,46, +56,53,48,54,53,51,32,45,48,46,52,56,53,53,57,48,10,118,110,32,32,45,48,46,48,48,48,48,48,48,32,48,46,57,55,49,54,49,49,32,45,48,46,50,51,54,53,56,51,10,118,110,32,32,45,48,46,48,48,48,48,48,48,32,48,46,57,56,52,57,48,55,32,45,48,46,49,55,51,48,56,52, +10,118,110,32,32,45,48,46,48,48,48,48,48,48,32,48,46,57,50,53,49,48,56,32,45,48,46,51,55,57,55,48,51,10,118,110,32,32,48,46,48,48,48,48,48,48,32,48,46,56,53,48,48,54,56,32,45,48,46,53,50,54,54,55,51,10,118,110,32,32,48,46,48,57,48,50,49,54,32,48,46,57, +55,49,55,55,53,32,45,48,46,50,49,55,57,55,56,10,118,110,32,32,48,46,48,54,53,57,54,49,32,48,46,57,56,52,57,55,55,32,45,48,46,49,53,57,53,56,57,10,118,110,32,32,48,46,49,52,52,55,52,48,32,48,46,57,50,53,51,49,49,32,45,48,46,51,53,48,52,57,56,10,118,110, +32,32,48,46,50,48,49,52,55,52,32,48,46,56,53,48,54,53,51,32,45,48,46,52,56,53,53,57,48,10,118,110,32,32,48,46,49,54,54,54,51,49,32,48,46,57,55,49,56,51,56,32,45,48,46,49,54,54,54,51,49,10,118,110,32,32,48,46,49,50,49,57,48,56,32,48,46,57,56,53,48,50, +54,32,45,48,46,49,50,49,57,48,56,10,118,110,32,32,48,46,50,54,55,54,54,56,32,48,46,57,50,53,53,56,53,32,45,48,46,50,54,55,54,54,56,10,118,110,32,32,48,46,51,55,49,51,49,53,32,48,46,56,53,49,48,50,57,32,45,48,46,51,55,49,51,49,53,10,118,110,32,32,48,46, +50,49,55,57,55,56,32,48,46,57,55,49,55,55,53,32,45,48,46,48,57,48,50,49,54,10,118,110,32,32,48,46,49,53,57,53,56,57,32,48,46,57,56,52,57,55,55,32,45,48,46,48,54,53,57,54,49,10,118,110,32,32,48,46,51,53,48,52,57,56,32,48,46,57,50,53,51,49,49,32,45,48, +46,49,52,52,55,52,48,10,118,110,32,32,48,46,52,56,53,53,57,48,32,48,46,56,53,48,54,53,51,32,45,48,46,50,48,49,52,55,53,10,35,32,53,51,48,32,118,101,114,116,101,120,32,110,111,114,109,97,108,115,10,10,103,32,84,101,97,112,111,116,48,49,10,102,32,49,47, +49,47,49,32,54,47,54,47,54,32,55,47,55,47,55,10,102,32,55,47,55,47,55,32,50,47,50,47,50,32,49,47,49,47,49,10,102,32,50,47,50,47,50,32,55,47,55,47,55,32,56,47,56,47,56,10,102,32,56,47,56,47,56,32,51,47,51,47,51,32,50,47,50,47,50,10,102,32,51,47,51,47, +51,32,56,47,56,47,56,32,57,47,57,47,57,10,102,32,57,47,57,47,57,32,52,47,52,47,52,32,51,47,51,47,51,10,102,32,52,47,52,47,52,32,57,47,57,47,57,32,49,48,47,49,48,47,49,48,10,102,32,49,48,47,49,48,47,49,48,32,53,47,53,47,53,32,52,47,52,47,52,10,102,32, +54,47,54,47,54,32,49,49,47,49,49,47,49,49,32,49,50,47,49,50,47,49,50,10,102,32,49,50,47,49,50,47,49,50,32,55,47,55,47,55,32,54,47,54,47,54,10,102,32,55,47,55,47,55,32,49,50,47,49,50,47,49,50,32,49,51,47,49,51,47,49,51,10,102,32,49,51,47,49,51,47,49,51, +32,56,47,56,47,56,32,55,47,55,47,55,10,102,32,56,47,56,47,56,32,49,51,47,49,51,47,49,51,32,49,52,47,49,52,47,49,52,10,102,32,49,52,47,49,52,47,49,52,32,57,47,57,47,57,32,56,47,56,47,56,10,102,32,57,47,57,47,57,32,49,52,47,49,52,47,49,52,32,49,53,47,49, +53,47,49,53,10,102,32,49,53,47,49,53,47,49,53,32,49,48,47,49,48,47,49,48,32,57,47,57,47,57,10,102,32,49,49,47,49,49,47,49,49,32,49,54,47,49,54,47,49,54,32,49,55,47,49,55,47,49,55,10,102,32,49,55,47,49,55,47,49,55,32,49,50,47,49,50,47,49,50,32,49,49,47, +49,49,47,49,49,10,102,32,49,50,47,49,50,47,49,50,32,49,55,47,49,55,47,49,55,32,49,56,47,49,56,47,49,56,10,102,32,49,56,47,49,56,47,49,56,32,49,51,47,49,51,47,49,51,32,49,50,47,49,50,47,49,50,10,102,32,49,51,47,49,51,47,49,51,32,49,56,47,49,56,47,49,56, +32,49,57,47,49,57,47,49,57,10,102,32,49,57,47,49,57,47,49,57,32,49,52,47,49,52,47,49,52,32,49,51,47,49,51,47,49,51,10,102,32,49,52,47,49,52,47,49,52,32,49,57,47,49,57,47,49,57,32,50,48,47,50,48,47,50,48,10,102,32,50,48,47,50,48,47,50,48,32,49,53,47,49, +53,47,49,53,32,49,52,47,49,52,47,49,52,10,102,32,49,54,47,49,54,47,49,54,32,50,49,47,50,49,47,50,49,32,50,50,47,50,50,47,50,50,10,102,32,50,50,47,50,50,47,50,50,32,49,55,47,49,55,47,49,55,32,49,54,47,49,54,47,49,54,10,102,32,49,55,47,49,55,47,49,55,32, +50,50,47,50,50,47,50,50,32,50,51,47,50,51,47,50,51,10,102,32,50,51,47,50,51,47,50,51,32,49,56,47,49,56,47,49,56,32,49,55,47,49,55,47,49,55,10,102,32,49,56,47,49,56,47,49,56,32,50,51,47,50,51,47,50,51,32,50,52,47,50,52,47,50,52,10,102,32,50,52,47,50,52, +47,50,52,32,49,57,47,49,57,47,49,57,32,49,56,47,49,56,47,49,56,10,102,32,49,57,47,49,57,47,49,57,32,50,52,47,50,52,47,50,52,32,50,53,47,50,53,47,50,53,10,102,32,50,53,47,50,53,47,50,53,32,50,48,47,50,48,47,50,48,32,49,57,47,49,57,47,49,57,10,102,32,50, +49,47,50,54,47,50,49,32,50,54,47,51,49,47,50,54,32,50,55,47,51,50,47,50,55,10,102,32,50,55,47,51,50,47,50,55,32,50,50,47,50,55,47,50,50,32,50,49,47,50,54,47,50,49,10,102,32,50,50,47,50,55,47,50,50,32,50,55,47,51,50,47,50,55,32,50,56,47,51,51,47,50,56, +10,102,32,50,56,47,51,51,47,50,56,32,50,51,47,50,56,47,50,51,32,50,50,47,50,55,47,50,50,10,102,32,50,51,47,50,56,47,50,51,32,50,56,47,51,51,47,50,56,32,50,57,47,51,52,47,50,57,10,102,32,50,57,47,51,52,47,50,57,32,50,52,47,50,57,47,50,52,32,50,51,47,50, +56,47,50,51,10,102,32,50,52,47,50,57,47,50,52,32,50,57,47,51,52,47,50,57,32,51,48,47,51,53,47,51,48,10,102,32,51,48,47,51,53,47,51,48,32,50,53,47,51,48,47,50,53,32,50,52,47,50,57,47,50,52,10,102,32,50,54,47,51,49,47,50,54,32,51,49,47,51,54,47,51,49,32, +51,50,47,51,55,47,51,50,10,102,32,51,50,47,51,55,47,51,50,32,50,55,47,51,50,47,50,55,32,50,54,47,51,49,47,50,54,10,102,32,50,55,47,51,50,47,50,55,32,51,50,47,51,55,47,51,50,32,51,51,47,51,56,47,51,51,10,102,32,51,51,47,51,56,47,51,51,32,50,56,47,51,51, +47,50,56,32,50,55,47,51,50,47,50,55,10,102,32,50,56,47,51,51,47,50,56,32,51,51,47,51,56,47,51,51,32,51,52,47,51,57,47,51,52,10,102,32,51,52,47,51,57,47,51,52,32,50,57,47,51,52,47,50,57,32,50,56,47,51,51,47,50,56,10,102,32,50,57,47,51,52,47,50,57,32,51, +52,47,51,57,47,51,52,32,51,53,47,52,48,47,51,53,10,102,32,51,53,47,52,48,47,51,53,32,51,48,47,51,53,47,51,48,32,50,57,47,51,52,47,50,57,10,102,32,51,49,47,51,54,47,51,49,32,51,54,47,52,49,47,51,54,32,51,55,47,52,50,47,51,55,10,102,32,51,55,47,52,50,47, +51,55,32,51,50,47,51,55,47,51,50,32,51,49,47,51,54,47,51,49,10,102,32,51,50,47,51,55,47,51,50,32,51,55,47,52,50,47,51,55,32,51,56,47,52,51,47,51,56,10,102,32,51,56,47,52,51,47,51,56,32,51,51,47,51,56,47,51,51,32,51,50,47,51,55,47,51,50,10,102,32,51,51, +47,51,56,47,51,51,32,51,56,47,52,51,47,51,56,32,51,57,47,52,52,47,51,57,10,102,32,51,57,47,52,52,47,51,57,32,51,52,47,51,57,47,51,52,32,51,51,47,51,56,47,51,51,10,102,32,51,52,47,51,57,47,51,52,32,51,57,47,52,52,47,51,57,32,52,48,47,52,53,47,52,48,10, +102,32,52,48,47,52,53,47,52,48,32,51,53,47,52,48,47,51,53,32,51,52,47,51,57,47,51,52,10,102,32,51,54,47,52,49,47,51,54,32,52,49,47,52,54,47,52,49,32,52,50,47,52,55,47,52,50,10,102,32,52,50,47,52,55,47,52,50,32,51,55,47,52,50,47,51,55,32,51,54,47,52,49, +47,51,54,10,102,32,51,55,47,52,50,47,51,55,32,52,50,47,52,55,47,52,50,32,52,51,47,52,56,47,52,51,10,102,32,52,51,47,52,56,47,52,51,32,51,56,47,52,51,47,51,56,32,51,55,47,52,50,47,51,55,10,102,32,51,56,47,52,51,47,51,56,32,52,51,47,52,56,47,52,51,32,52, +52,47,52,57,47,52,52,10,102,32,52,52,47,52,57,47,52,52,32,51,57,47,52,52,47,51,57,32,51,56,47,52,51,47,51,56,10,102,32,51,57,47,52,52,47,51,57,32,52,52,47,52,57,47,52,52,32,52,53,47,53,48,47,52,53,10,102,32,52,53,47,53,48,47,52,53,32,52,48,47,52,53,47, +52,48,32,51,57,47,52,52,47,51,57,10,102,32,52,49,47,53,49,47,52,49,32,52,54,47,53,54,47,52,54,32,52,55,47,53,55,47,52,55,10,102,32,52,55,47,53,55,47,52,55,32,52,50,47,53,50,47,52,50,32,52,49,47,53,49,47,52,49,10,102,32,52,50,47,53,50,47,52,50,32,52,55, +47,53,55,47,52,55,32,52,56,47,53,56,47,52,56,10,102,32,52,56,47,53,56,47,52,56,32,52,51,47,53,51,47,52,51,32,52,50,47,53,50,47,52,50,10,102,32,52,51,47,53,51,47,52,51,32,52,56,47,53,56,47,52,56,32,52,57,47,53,57,47,52,57,10,102,32,52,57,47,53,57,47,52, +57,32,52,52,47,53,52,47,52,52,32,52,51,47,53,51,47,52,51,10,102,32,52,52,47,53,52,47,52,52,32,52,57,47,53,57,47,52,57,32,53,48,47,54,48,47,53,48,10,102,32,53,48,47,54,48,47,53,48,32,52,53,47,53,53,47,52,53,32,52,52,47,53,52,47,52,52,10,102,32,52,54,47, +53,54,47,52,54,32,53,49,47,54,49,47,53,49,32,53,50,47,54,50,47,53,50,10,102,32,53,50,47,54,50,47,53,50,32,52,55,47,53,55,47,52,55,32,52,54,47,53,54,47,52,54,10,102,32,52,55,47,53,55,47,52,55,32,53,50,47,54,50,47,53,50,32,53,51,47,54,51,47,53,51,10,102, +32,53,51,47,54,51,47,53,51,32,52,56,47,53,56,47,52,56,32,52,55,47,53,55,47,52,55,10,102,32,52,56,47,53,56,47,52,56,32,53,51,47,54,51,47,53,51,32,53,52,47,54,52,47,53,52,10,102,32,53,52,47,54,52,47,53,52,32,52,57,47,53,57,47,52,57,32,52,56,47,53,56,47, +52,56,10,102,32,52,57,47,53,57,47,52,57,32,53,52,47,54,52,47,53,52,32,53,53,47,54,53,47,53,53,10,102,32,53,53,47,54,53,47,53,53,32,53,48,47,54,48,47,53,48,32,52,57,47,53,57,47,52,57,10,102,32,53,49,47,54,49,47,53,49,32,53,54,47,54,54,47,53,54,32,53,55, +47,54,55,47,53,55,10,102,32,53,55,47,54,55,47,53,55,32,53,50,47,54,50,47,53,50,32,53,49,47,54,49,47,53,49,10,102,32,53,50,47,54,50,47,53,50,32,53,55,47,54,55,47,53,55,32,53,56,47,54,56,47,53,56,10,102,32,53,56,47,54,56,47,53,56,32,53,51,47,54,51,47,53, +51,32,53,50,47,54,50,47,53,50,10,102,32,53,51,47,54,51,47,53,51,32,53,56,47,54,56,47,53,56,32,53,57,47,54,57,47,53,57,10,102,32,53,57,47,54,57,47,53,57,32,53,52,47,54,52,47,53,52,32,53,51,47,54,51,47,53,51,10,102,32,53,52,47,54,52,47,53,52,32,53,57,47, +54,57,47,53,57,32,54,48,47,55,48,47,54,48,10,102,32,54,48,47,55,48,47,54,48,32,53,53,47,54,53,47,53,53,32,53,52,47,54,52,47,53,52,10,102,32,53,54,47,54,54,47,53,54,32,54,49,47,55,49,47,54,49,32,54,50,47,55,50,47,54,50,10,102,32,54,50,47,55,50,47,54,50, +32,53,55,47,54,55,47,53,55,32,53,54,47,54,54,47,53,54,10,102,32,53,55,47,54,55,47,53,55,32,54,50,47,55,50,47,54,50,32,54,51,47,55,51,47,54,51,10,102,32,54,51,47,55,51,47,54,51,32,53,56,47,54,56,47,53,56,32,53,55,47,54,55,47,53,55,10,102,32,53,56,47,54, +56,47,53,56,32,54,51,47,55,51,47,54,51,32,54,52,47,55,52,47,54,52,10,102,32,54,52,47,55,52,47,54,52,32,53,57,47,54,57,47,53,57,32,53,56,47,54,56,47,53,56,10,102,32,53,57,47,54,57,47,53,57,32,54,52,47,55,52,47,54,52,32,54,53,47,55,53,47,54,53,10,102,32, +54,53,47,55,53,47,54,53,32,54,48,47,55,48,47,54,48,32,53,57,47,54,57,47,53,57,10,102,32,54,49,47,55,54,47,54,49,32,54,54,47,56,49,47,54,54,32,54,55,47,56,50,47,54,55,10,102,32,54,55,47,56,50,47,54,55,32,54,50,47,55,55,47,54,50,32,54,49,47,55,54,47,54, +49,10,102,32,54,50,47,55,55,47,54,50,32,54,55,47,56,50,47,54,55,32,54,56,47,56,51,47,54,56,10,102,32,54,56,47,56,51,47,54,56,32,54,51,47,55,56,47,54,51,32,54,50,47,55,55,47,54,50,10,102,32,54,51,47,55,56,47,54,51,32,54,56,47,56,51,47,54,56,32,54,57,47, +56,52,47,54,57,10,102,32,54,57,47,56,52,47,54,57,32,54,52,47,55,57,47,54,52,32,54,51,47,55,56,47,54,51,10,102,32,54,52,47,55,57,47,54,52,32,54,57,47,56,52,47,54,57,32,55,48,47,56,53,47,55,48,10,102,32,55,48,47,56,53,47,55,48,32,54,53,47,56,48,47,54,53, +32,54,52,47,55,57,47,54,52,10,102,32,54,54,47,56,49,47,54,54,32,55,49,47,56,54,47,55,49,32,55,50,47,56,55,47,55,50,10,102,32,55,50,47,56,55,47,55,50,32,54,55,47,56,50,47,54,55,32,54,54,47,56,49,47,54,54,10,102,32,54,55,47,56,50,47,54,55,32,55,50,47,56, +55,47,55,50,32,55,51,47,56,56,47,55,51,10,102,32,55,51,47,56,56,47,55,51,32,54,56,47,56,51,47,54,56,32,54,55,47,56,50,47,54,55,10,102,32,54,56,47,56,51,47,54,56,32,55,51,47,56,56,47,55,51,32,55,52,47,56,57,47,55,52,10,102,32,55,52,47,56,57,47,55,52,32, +54,57,47,56,52,47,54,57,32,54,56,47,56,51,47,54,56,10,102,32,54,57,47,56,52,47,54,57,32,55,52,47,56,57,47,55,52,32,55,53,47,57,48,47,55,53,10,102,32,55,53,47,57,48,47,55,53,32,55,48,47,56,53,47,55,48,32,54,57,47,56,52,47,54,57,10,102,32,55,49,47,56,54, +47,55,49,32,55,54,47,57,49,47,55,54,32,55,55,47,57,50,47,55,55,10,102,32,55,55,47,57,50,47,55,55,32,55,50,47,56,55,47,55,50,32,55,49,47,56,54,47,55,49,10,102,32,55,50,47,56,55,47,55,50,32,55,55,47,57,50,47,55,55,32,55,56,47,57,51,47,55,56,10,102,32,55, +56,47,57,51,47,55,56,32,55,51,47,56,56,47,55,51,32,55,50,47,56,55,47,55,50,10,102,32,55,51,47,56,56,47,55,51,32,55,56,47,57,51,47,55,56,32,55,57,47,57,52,47,55,57,10,102,32,55,57,47,57,52,47,55,57,32,55,52,47,56,57,47,55,52,32,55,51,47,56,56,47,55,51, +10,102,32,55,52,47,56,57,47,55,52,32,55,57,47,57,52,47,55,57,32,56,48,47,57,53,47,56,48,10,102,32,56,48,47,57,53,47,56,48,32,55,53,47,57,48,47,55,53,32,55,52,47,56,57,47,55,52,10,102,32,55,54,47,57,49,47,55,54,32,49,47,57,54,47,49,32,50,47,57,55,47,50, +10,102,32,50,47,57,55,47,50,32,55,55,47,57,50,47,55,55,32,55,54,47,57,49,47,55,54,10,102,32,55,55,47,57,50,47,55,55,32,50,47,57,55,47,50,32,51,47,57,56,47,51,10,102,32,51,47,57,56,47,51,32,55,56,47,57,51,47,55,56,32,55,55,47,57,50,47,55,55,10,102,32, +55,56,47,57,51,47,55,56,32,51,47,57,56,47,51,32,52,47,57,57,47,52,10,102,32,52,47,57,57,47,52,32,55,57,47,57,52,47,55,57,32,55,56,47,57,51,47,55,56,10,102,32,55,57,47,57,52,47,55,57,32,52,47,57,57,47,52,32,53,47,49,48,48,47,53,10,102,32,53,47,49,48,48, +47,53,32,56,48,47,57,53,47,56,48,32,55,57,47,57,52,47,55,57,10,102,32,53,47,49,48,49,47,53,32,49,48,47,49,48,54,47,49,48,32,56,53,47,49,48,55,47,56,53,10,102,32,56,53,47,49,48,55,47,56,53,32,56,49,47,49,48,50,47,56,49,32,53,47,49,48,49,47,53,10,102,32, +56,49,47,49,48,50,47,56,49,32,56,53,47,49,48,55,47,56,53,32,56,54,47,49,48,56,47,56,54,10,102,32,56,54,47,49,48,56,47,56,54,32,56,50,47,49,48,51,47,56,50,32,56,49,47,49,48,50,47,56,49,10,102,32,56,50,47,49,48,51,47,56,50,32,56,54,47,49,48,56,47,56,54, +32,56,55,47,49,48,57,47,56,55,10,102,32,56,55,47,49,48,57,47,56,55,32,56,51,47,49,48,52,47,56,51,32,56,50,47,49,48,51,47,56,50,10,102,32,56,51,47,49,48,52,47,56,51,32,56,55,47,49,48,57,47,56,55,32,56,56,47,49,49,48,47,56,56,10,102,32,56,56,47,49,49,48, +47,56,56,32,56,52,47,49,48,53,47,56,52,32,56,51,47,49,48,52,47,56,51,10,102,32,49,48,47,49,48,54,47,49,48,32,49,53,47,49,49,49,47,49,53,32,56,57,47,49,49,50,47,56,57,10,102,32,56,57,47,49,49,50,47,56,57,32,56,53,47,49,48,55,47,56,53,32,49,48,47,49,48, +54,47,49,48,10,102,32,56,53,47,49,48,55,47,56,53,32,56,57,47,49,49,50,47,56,57,32,57,48,47,49,49,51,47,57,48,10,102,32,57,48,47,49,49,51,47,57,48,32,56,54,47,49,48,56,47,56,54,32,56,53,47,49,48,55,47,56,53,10,102,32,56,54,47,49,48,56,47,56,54,32,57,48, +47,49,49,51,47,57,48,32,57,49,47,49,49,52,47,57,49,10,102,32,57,49,47,49,49,52,47,57,49,32,56,55,47,49,48,57,47,56,55,32,56,54,47,49,48,56,47,56,54,10,102,32,56,55,47,49,48,57,47,56,55,32,57,49,47,49,49,52,47,57,49,32,57,50,47,49,49,53,47,57,50,10,102, +32,57,50,47,49,49,53,47,57,50,32,56,56,47,49,49,48,47,56,56,32,56,55,47,49,48,57,47,56,55,10,102,32,49,53,47,49,49,49,47,49,53,32,50,48,47,49,49,54,47,50,48,32,57,51,47,49,49,55,47,57,51,10,102,32,57,51,47,49,49,55,47,57,51,32,56,57,47,49,49,50,47,56, +57,32,49,53,47,49,49,49,47,49,53,10,102,32,56,57,47,49,49,50,47,56,57,32,57,51,47,49,49,55,47,57,51,32,57,52,47,49,49,56,47,57,52,10,102,32,57,52,47,49,49,56,47,57,52,32,57,48,47,49,49,51,47,57,48,32,56,57,47,49,49,50,47,56,57,10,102,32,57,48,47,49,49, +51,47,57,48,32,57,52,47,49,49,56,47,57,52,32,57,53,47,49,49,57,47,57,53,10,102,32,57,53,47,49,49,57,47,57,53,32,57,49,47,49,49,52,47,57,49,32,57,48,47,49,49,51,47,57,48,10,102,32,57,49,47,49,49,52,47,57,49,32,57,53,47,49,49,57,47,57,53,32,57,54,47,49, +50,48,47,57,54,10,102,32,57,54,47,49,50,48,47,57,54,32,57,50,47,49,49,53,47,57,50,32,57,49,47,49,49,52,47,57,49,10,102,32,50,48,47,49,49,54,47,50,48,32,50,53,47,49,50,49,47,50,53,32,57,55,47,49,50,50,47,57,55,10,102,32,57,55,47,49,50,50,47,57,55,32,57, +51,47,49,49,55,47,57,51,32,50,48,47,49,49,54,47,50,48,10,102,32,57,51,47,49,49,55,47,57,51,32,57,55,47,49,50,50,47,57,55,32,57,56,47,49,50,51,47,57,56,10,102,32,57,56,47,49,50,51,47,57,56,32,57,52,47,49,49,56,47,57,52,32,57,51,47,49,49,55,47,57,51,10, +102,32,57,52,47,49,49,56,47,57,52,32,57,56,47,49,50,51,47,57,56,32,57,57,47,49,50,52,47,57,57,10,102,32,57,57,47,49,50,52,47,57,57,32,57,53,47,49,49,57,47,57,53,32,57,52,47,49,49,56,47,57,52,10,102,32,57,53,47,49,49,57,47,57,53,32,57,57,47,49,50,52,47, +57,57,32,49,48,48,47,49,50,53,47,49,48,48,10,102,32,49,48,48,47,49,50,53,47,49,48,48,32,57,54,47,49,50,48,47,57,54,32,57,53,47,49,49,57,47,57,53,10,102,32,50,53,47,49,50,54,47,50,53,32,51,48,47,49,51,49,47,51,48,32,49,48,49,47,49,51,50,47,49,48,49,10, +102,32,49,48,49,47,49,51,50,47,49,48,49,32,57,55,47,49,50,55,47,57,55,32,50,53,47,49,50,54,47,50,53,10,102,32,57,55,47,49,50,55,47,57,55,32,49,48,49,47,49,51,50,47,49,48,49,32,49,48,50,47,49,51,51,47,49,48,50,10,102,32,49,48,50,47,49,51,51,47,49,48,50, +32,57,56,47,49,50,56,47,57,56,32,57,55,47,49,50,55,47,57,55,10,102,32,57,56,47,49,50,56,47,57,56,32,49,48,50,47,49,51,51,47,49,48,50,32,49,48,51,47,49,51,52,47,49,48,51,10,102,32,49,48,51,47,49,51,52,47,49,48,51,32,57,57,47,49,50,57,47,57,57,32,57,56, +47,49,50,56,47,57,56,10,102,32,57,57,47,49,50,57,47,57,57,32,49,48,51,47,49,51,52,47,49,48,51,32,49,48,52,47,49,51,53,47,49,48,52,10,102,32,49,48,52,47,49,51,53,47,49,48,52,32,49,48,48,47,49,51,48,47,49,48,48,32,57,57,47,49,50,57,47,57,57,10,102,32,51, +48,47,49,51,49,47,51,48,32,51,53,47,49,51,54,47,51,53,32,49,48,53,47,49,51,55,47,49,48,53,10,102,32,49,48,53,47,49,51,55,47,49,48,53,32,49,48,49,47,49,51,50,47,49,48,49,32,51,48,47,49,51,49,47,51,48,10,102,32,49,48,49,47,49,51,50,47,49,48,49,32,49,48, +53,47,49,51,55,47,49,48,53,32,49,48,54,47,49,51,56,47,49,48,54,10,102,32,49,48,54,47,49,51,56,47,49,48,54,32,49,48,50,47,49,51,51,47,49,48,50,32,49,48,49,47,49,51,50,47,49,48,49,10,102,32,49,48,50,47,49,51,51,47,49,48,50,32,49,48,54,47,49,51,56,47,49, +48,54,32,49,48,55,47,49,51,57,47,49,48,55,10,102,32,49,48,55,47,49,51,57,47,49,48,55,32,49,48,51,47,49,51,52,47,49,48,51,32,49,48,50,47,49,51,51,47,49,48,50,10,102,32,49,48,51,47,49,51,52,47,49,48,51,32,49,48,55,47,49,51,57,47,49,48,55,32,49,48,56,47, +49,52,48,47,49,48,56,10,102,32,49,48,56,47,49,52,48,47,49,48,56,32,49,48,52,47,49,51,53,47,49,48,52,32,49,48,51,47,49,51,52,47,49,48,51,10,102,32,51,53,47,49,51,54,47,51,53,32,52,48,47,49,52,49,47,52,48,32,49,48,57,47,49,52,50,47,49,48,57,10,102,32,49, +48,57,47,49,52,50,47,49,48,57,32,49,48,53,47,49,51,55,47,49,48,53,32,51,53,47,49,51,54,47,51,53,10,102,32,49,48,53,47,49,51,55,47,49,48,53,32,49,48,57,47,49,52,50,47,49,48,57,32,49,49,48,47,49,52,51,47,49,49,48,10,102,32,49,49,48,47,49,52,51,47,49,49, +48,32,49,48,54,47,49,51,56,47,49,48,54,32,49,48,53,47,49,51,55,47,49,48,53,10,102,32,49,48,54,47,49,51,56,47,49,48,54,32,49,49,48,47,49,52,51,47,49,49,48,32,49,49,49,47,49,52,52,47,49,49,49,10,102,32,49,49,49,47,49,52,52,47,49,49,49,32,49,48,55,47,49, +51,57,47,49,48,55,32,49,48,54,47,49,51,56,47,49,48,54,10,102,32,49,48,55,47,49,51,57,47,49,48,55,32,49,49,49,47,49,52,52,47,49,49,49,32,49,49,50,47,49,52,53,47,49,49,50,10,102,32,49,49,50,47,49,52,53,47,49,49,50,32,49,48,56,47,49,52,48,47,49,48,56,32, +49,48,55,47,49,51,57,47,49,48,55,10,102,32,52,48,47,49,52,49,47,52,48,32,52,53,47,49,52,54,47,52,53,32,49,49,51,47,49,52,55,47,49,49,51,10,102,32,49,49,51,47,49,52,55,47,49,49,51,32,49,48,57,47,49,52,50,47,49,48,57,32,52,48,47,49,52,49,47,52,48,10,102, +32,49,48,57,47,49,52,50,47,49,48,57,32,49,49,51,47,49,52,55,47,49,49,51,32,49,49,52,47,49,52,56,47,49,49,52,10,102,32,49,49,52,47,49,52,56,47,49,49,52,32,49,49,48,47,49,52,51,47,49,49,48,32,49,48,57,47,49,52,50,47,49,48,57,10,102,32,49,49,48,47,49,52, +51,47,49,49,48,32,49,49,52,47,49,52,56,47,49,49,52,32,49,49,53,47,49,52,57,47,49,49,53,10,102,32,49,49,53,47,49,52,57,47,49,49,53,32,49,49,49,47,49,52,52,47,49,49,49,32,49,49,48,47,49,52,51,47,49,49,48,10,102,32,49,49,49,47,49,52,52,47,49,49,49,32,49, +49,53,47,49,52,57,47,49,49,53,32,49,49,54,47,49,53,48,47,49,49,54,10,102,32,49,49,54,47,49,53,48,47,49,49,54,32,49,49,50,47,49,52,53,47,49,49,50,32,49,49,49,47,49,52,52,47,49,49,49,10,102,32,52,53,47,49,53,49,47,52,53,32,53,48,47,49,53,54,47,53,48,32, +49,49,55,47,49,53,55,47,49,49,55,10,102,32,49,49,55,47,49,53,55,47,49,49,55,32,49,49,51,47,49,53,50,47,49,49,51,32,52,53,47,49,53,49,47,52,53,10,102,32,49,49,51,47,49,53,50,47,49,49,51,32,49,49,55,47,49,53,55,47,49,49,55,32,49,49,56,47,49,53,56,47,49, +49,56,10,102,32,49,49,56,47,49,53,56,47,49,49,56,32,49,49,52,47,49,53,51,47,49,49,52,32,49,49,51,47,49,53,50,47,49,49,51,10,102,32,49,49,52,47,49,53,51,47,49,49,52,32,49,49,56,47,49,53,56,47,49,49,56,32,49,49,57,47,49,53,57,47,49,49,57,10,102,32,49,49, +57,47,49,53,57,47,49,49,57,32,49,49,53,47,49,53,52,47,49,49,53,32,49,49,52,47,49,53,51,47,49,49,52,10,102,32,49,49,53,47,49,53,52,47,49,49,53,32,49,49,57,47,49,53,57,47,49,49,57,32,49,50,48,47,49,54,48,47,49,50,48,10,102,32,49,50,48,47,49,54,48,47,49, +50,48,32,49,49,54,47,49,53,53,47,49,49,54,32,49,49,53,47,49,53,52,47,49,49,53,10,102,32,53,48,47,49,53,54,47,53,48,32,53,53,47,49,54,49,47,53,53,32,49,50,49,47,49,54,50,47,49,50,49,10,102,32,49,50,49,47,49,54,50,47,49,50,49,32,49,49,55,47,49,53,55,47, +49,49,55,32,53,48,47,49,53,54,47,53,48,10,102,32,49,49,55,47,49,53,55,47,49,49,55,32,49,50,49,47,49,54,50,47,49,50,49,32,49,50,50,47,49,54,51,47,49,50,50,10,102,32,49,50,50,47,49,54,51,47,49,50,50,32,49,49,56,47,49,53,56,47,49,49,56,32,49,49,55,47,49, +53,55,47,49,49,55,10,102,32,49,49,56,47,49,53,56,47,49,49,56,32,49,50,50,47,49,54,51,47,49,50,50,32,49,50,51,47,49,54,52,47,49,50,51,10,102,32,49,50,51,47,49,54,52,47,49,50,51,32,49,49,57,47,49,53,57,47,49,49,57,32,49,49,56,47,49,53,56,47,49,49,56,10, +102,32,49,49,57,47,49,53,57,47,49,49,57,32,49,50,51,47,49,54,52,47,49,50,51,32,49,50,52,47,49,54,53,47,49,50,52,10,102,32,49,50,52,47,49,54,53,47,49,50,52,32,49,50,48,47,49,54,48,47,49,50,48,32,49,49,57,47,49,53,57,47,49,49,57,10,102,32,53,53,47,49,54, +49,47,53,53,32,54,48,47,49,54,54,47,54,48,32,49,50,53,47,49,54,55,47,49,50,53,10,102,32,49,50,53,47,49,54,55,47,49,50,53,32,49,50,49,47,49,54,50,47,49,50,49,32,53,53,47,49,54,49,47,53,53,10,102,32,49,50,49,47,49,54,50,47,49,50,49,32,49,50,53,47,49,54, +55,47,49,50,53,32,49,50,54,47,49,54,56,47,49,50,54,10,102,32,49,50,54,47,49,54,56,47,49,50,54,32,49,50,50,47,49,54,51,47,49,50,50,32,49,50,49,47,49,54,50,47,49,50,49,10,102,32,49,50,50,47,49,54,51,47,49,50,50,32,49,50,54,47,49,54,56,47,49,50,54,32,49, +50,55,47,49,54,57,47,49,50,55,10,102,32,49,50,55,47,49,54,57,47,49,50,55,32,49,50,51,47,49,54,52,47,49,50,51,32,49,50,50,47,49,54,51,47,49,50,50,10,102,32,49,50,51,47,49,54,52,47,49,50,51,32,49,50,55,47,49,54,57,47,49,50,55,32,49,50,56,47,49,55,48,47, +49,50,56,10,102,32,49,50,56,47,49,55,48,47,49,50,56,32,49,50,52,47,49,54,53,47,49,50,52,32,49,50,51,47,49,54,52,47,49,50,51,10,102,32,54,48,47,49,54,54,47,54,48,32,54,53,47,49,55,49,47,54,53,32,49,50,57,47,49,55,50,47,49,50,57,10,102,32,49,50,57,47,49, +55,50,47,49,50,57,32,49,50,53,47,49,54,55,47,49,50,53,32,54,48,47,49,54,54,47,54,48,10,102,32,49,50,53,47,49,54,55,47,49,50,53,32,49,50,57,47,49,55,50,47,49,50,57,32,49,51,48,47,49,55,51,47,49,51,48,10,102,32,49,51,48,47,49,55,51,47,49,51,48,32,49,50, +54,47,49,54,56,47,49,50,54,32,49,50,53,47,49,54,55,47,49,50,53,10,102,32,49,50,54,47,49,54,56,47,49,50,54,32,49,51,48,47,49,55,51,47,49,51,48,32,49,51,49,47,49,55,52,47,49,51,49,10,102,32,49,51,49,47,49,55,52,47,49,51,49,32,49,50,55,47,49,54,57,47,49, +50,55,32,49,50,54,47,49,54,56,47,49,50,54,10,102,32,49,50,55,47,49,54,57,47,49,50,55,32,49,51,49,47,49,55,52,47,49,51,49,32,49,51,50,47,49,55,53,47,49,51,50,10,102,32,49,51,50,47,49,55,53,47,49,51,50,32,49,50,56,47,49,55,48,47,49,50,56,32,49,50,55,47, +49,54,57,47,49,50,55,10,102,32,54,53,47,49,55,54,47,54,53,32,55,48,47,49,56,49,47,55,48,32,49,51,51,47,49,56,50,47,49,51,51,10,102,32,49,51,51,47,49,56,50,47,49,51,51,32,49,50,57,47,49,55,55,47,49,50,57,32,54,53,47,49,55,54,47,54,53,10,102,32,49,50,57, +47,49,55,55,47,49,50,57,32,49,51,51,47,49,56,50,47,49,51,51,32,49,51,52,47,49,56,51,47,49,51,52,10,102,32,49,51,52,47,49,56,51,47,49,51,52,32,49,51,48,47,49,55,56,47,49,51,48,32,49,50,57,47,49,55,55,47,49,50,57,10,102,32,49,51,48,47,49,55,56,47,49,51, +48,32,49,51,52,47,49,56,51,47,49,51,52,32,49,51,53,47,49,56,52,47,49,51,53,10,102,32,49,51,53,47,49,56,52,47,49,51,53,32,49,51,49,47,49,55,57,47,49,51,49,32,49,51,48,47,49,55,56,47,49,51,48,10,102,32,49,51,49,47,49,55,57,47,49,51,49,32,49,51,53,47,49, +56,52,47,49,51,53,32,49,51,54,47,49,56,53,47,49,51,54,10,102,32,49,51,54,47,49,56,53,47,49,51,54,32,49,51,50,47,49,56,48,47,49,51,50,32,49,51,49,47,49,55,57,47,49,51,49,10,102,32,55,48,47,49,56,49,47,55,48,32,55,53,47,49,56,54,47,55,53,32,49,51,55,47, +49,56,55,47,49,51,55,10,102,32,49,51,55,47,49,56,55,47,49,51,55,32,49,51,51,47,49,56,50,47,49,51,51,32,55,48,47,49,56,49,47,55,48,10,102,32,49,51,51,47,49,56,50,47,49,51,51,32,49,51,55,47,49,56,55,47,49,51,55,32,49,51,56,47,49,56,56,47,49,51,56,10,102, +32,49,51,56,47,49,56,56,47,49,51,56,32,49,51,52,47,49,56,51,47,49,51,52,32,49,51,51,47,49,56,50,47,49,51,51,10,102,32,49,51,52,47,49,56,51,47,49,51,52,32,49,51,56,47,49,56,56,47,49,51,56,32,49,51,57,47,49,56,57,47,49,51,57,10,102,32,49,51,57,47,49,56, +57,47,49,51,57,32,49,51,53,47,49,56,52,47,49,51,53,32,49,51,52,47,49,56,51,47,49,51,52,10,102,32,49,51,53,47,49,56,52,47,49,51,53,32,49,51,57,47,49,56,57,47,49,51,57,32,49,52,48,47,49,57,48,47,49,52,48,10,102,32,49,52,48,47,49,57,48,47,49,52,48,32,49, +51,54,47,49,56,53,47,49,51,54,32,49,51,53,47,49,56,52,47,49,51,53,10,102,32,55,53,47,49,56,54,47,55,53,32,56,48,47,49,57,49,47,56,48,32,49,52,49,47,49,57,50,47,49,52,49,10,102,32,49,52,49,47,49,57,50,47,49,52,49,32,49,51,55,47,49,56,55,47,49,51,55,32, +55,53,47,49,56,54,47,55,53,10,102,32,49,51,55,47,49,56,55,47,49,51,55,32,49,52,49,47,49,57,50,47,49,52,49,32,49,52,50,47,49,57,51,47,49,52,50,10,102,32,49,52,50,47,49,57,51,47,49,52,50,32,49,51,56,47,49,56,56,47,49,51,56,32,49,51,55,47,49,56,55,47,49, +51,55,10,102,32,49,51,56,47,49,56,56,47,49,51,56,32,49,52,50,47,49,57,51,47,49,52,50,32,49,52,51,47,49,57,52,47,49,52,51,10,102,32,49,52,51,47,49,57,52,47,49,52,51,32,49,51,57,47,49,56,57,47,49,51,57,32,49,51,56,47,49,56,56,47,49,51,56,10,102,32,49,51, +57,47,49,56,57,47,49,51,57,32,49,52,51,47,49,57,52,47,49,52,51,32,49,52,52,47,49,57,53,47,49,52,52,10,102,32,49,52,52,47,49,57,53,47,49,52,52,32,49,52,48,47,49,57,48,47,49,52,48,32,49,51,57,47,49,56,57,47,49,51,57,10,102,32,56,48,47,49,57,49,47,56,48, +32,53,47,49,57,54,47,53,32,56,49,47,49,57,55,47,56,49,10,102,32,56,49,47,49,57,55,47,56,49,32,49,52,49,47,49,57,50,47,49,52,49,32,56,48,47,49,57,49,47,56,48,10,102,32,49,52,49,47,49,57,50,47,49,52,49,32,56,49,47,49,57,55,47,56,49,32,56,50,47,49,57,56, +47,56,50,10,102,32,56,50,47,49,57,56,47,56,50,32,49,52,50,47,49,57,51,47,49,52,50,32,49,52,49,47,49,57,50,47,49,52,49,10,102,32,49,52,50,47,49,57,51,47,49,52,50,32,56,50,47,49,57,56,47,56,50,32,56,51,47,49,57,57,47,56,51,10,102,32,56,51,47,49,57,57,47, +56,51,32,49,52,51,47,49,57,52,47,49,52,51,32,49,52,50,47,49,57,51,47,49,52,50,10,102,32,49,52,51,47,49,57,52,47,49,52,51,32,56,51,47,49,57,57,47,56,51,32,56,52,47,50,48,48,47,56,52,10,102,32,56,52,47,50,48,48,47,56,52,32,49,52,52,47,49,57,53,47,49,52, +52,32,49,52,51,47,49,57,52,47,49,52,51,10,102,32,56,52,47,50,48,49,47,56,52,32,56,56,47,50,48,54,47,56,56,32,49,52,57,47,50,48,55,47,49,52,57,10,102,32,49,52,57,47,50,48,55,47,49,52,57,32,49,52,53,47,50,48,50,47,49,52,53,32,56,52,47,50,48,49,47,56,52, +10,102,32,49,52,53,47,50,48,50,47,49,52,53,32,49,52,57,47,50,48,55,47,49,52,57,32,49,53,48,47,50,48,56,47,49,53,48,10,102,32,49,53,48,47,50,48,56,47,49,53,48,32,49,52,54,47,50,48,51,47,49,52,54,32,49,52,53,47,50,48,50,47,49,52,53,10,102,32,49,52,54,47, +50,48,51,47,49,52,54,32,49,53,48,47,50,48,56,47,49,53,48,32,49,53,49,47,50,48,57,47,49,53,49,10,102,32,49,53,49,47,50,48,57,47,49,53,49,32,49,52,55,47,50,48,52,47,49,52,55,32,49,52,54,47,50,48,51,47,49,52,54,10,102,32,49,52,55,47,50,48,52,47,49,52,55, +32,49,53,49,47,50,48,57,47,49,53,49,32,49,53,50,47,50,49,48,47,49,53,50,10,102,32,49,53,50,47,50,49,48,47,49,53,50,32,49,52,56,47,50,48,53,47,49,52,56,32,49,52,55,47,50,48,52,47,49,52,55,10,102,32,56,56,47,50,48,54,47,56,56,32,57,50,47,50,49,49,47,57, +50,32,49,53,51,47,50,49,50,47,49,53,51,10,102,32,49,53,51,47,50,49,50,47,49,53,51,32,49,52,57,47,50,48,55,47,49,52,57,32,56,56,47,50,48,54,47,56,56,10,102,32,49,52,57,47,50,48,55,47,49,52,57,32,49,53,51,47,50,49,50,47,49,53,51,32,49,53,52,47,50,49,51, +47,49,53,52,10,102,32,49,53,52,47,50,49,51,47,49,53,52,32,49,53,48,47,50,48,56,47,49,53,48,32,49,52,57,47,50,48,55,47,49,52,57,10,102,32,49,53,48,47,50,48,56,47,49,53,48,32,49,53,52,47,50,49,51,47,49,53,52,32,49,53,53,47,50,49,52,47,49,53,53,10,102,32, +49,53,53,47,50,49,52,47,49,53,53,32,49,53,49,47,50,48,57,47,49,53,49,32,49,53,48,47,50,48,56,47,49,53,48,10,102,32,49,53,49,47,50,48,57,47,49,53,49,32,49,53,53,47,50,49,52,47,49,53,53,32,49,53,54,47,50,49,53,47,49,53,54,10,102,32,49,53,54,47,50,49,53, +47,49,53,54,32,49,53,50,47,50,49,48,47,49,53,50,32,49,53,49,47,50,48,57,47,49,53,49,10,102,32,57,50,47,50,49,49,47,57,50,32,57,54,47,50,49,54,47,57,54,32,49,53,55,47,50,49,55,47,49,53,55,10,102,32,49,53,55,47,50,49,55,47,49,53,55,32,49,53,51,47,50,49, +50,47,49,53,51,32,57,50,47,50,49,49,47,57,50,10,102,32,49,53,51,47,50,49,50,47,49,53,51,32,49,53,55,47,50,49,55,47,49,53,55,32,49,53,56,47,50,49,56,47,49,53,56,10,102,32,49,53,56,47,50,49,56,47,49,53,56,32,49,53,52,47,50,49,51,47,49,53,52,32,49,53,51, +47,50,49,50,47,49,53,51,10,102,32,49,53,52,47,50,49,51,47,49,53,52,32,49,53,56,47,50,49,56,47,49,53,56,32,49,53,57,47,50,49,57,47,49,53,57,10,102,32,49,53,57,47,50,49,57,47,49,53,57,32,49,53,53,47,50,49,52,47,49,53,53,32,49,53,52,47,50,49,51,47,49,53, +52,10,102,32,49,53,53,47,50,49,52,47,49,53,53,32,49,53,57,47,50,49,57,47,49,53,57,32,49,54,48,47,50,50,48,47,49,54,48,10,102,32,49,54,48,47,50,50,48,47,49,54,48,32,49,53,54,47,50,49,53,47,49,53,54,32,49,53,53,47,50,49,52,47,49,53,53,10,102,32,57,54,47, +50,49,54,47,57,54,32,49,48,48,47,50,50,49,47,49,48,48,32,49,54,49,47,50,50,50,47,49,54,49,10,102,32,49,54,49,47,50,50,50,47,49,54,49,32,49,53,55,47,50,49,55,47,49,53,55,32,57,54,47,50,49,54,47,57,54,10,102,32,49,53,55,47,50,49,55,47,49,53,55,32,49,54, +49,47,50,50,50,47,49,54,49,32,49,54,50,47,50,50,51,47,49,54,50,10,102,32,49,54,50,47,50,50,51,47,49,54,50,32,49,53,56,47,50,49,56,47,49,53,56,32,49,53,55,47,50,49,55,47,49,53,55,10,102,32,49,53,56,47,50,49,56,47,49,53,56,32,49,54,50,47,50,50,51,47,49, +54,50,32,49,54,51,47,50,50,52,47,49,54,51,10,102,32,49,54,51,47,50,50,52,47,49,54,51,32,49,53,57,47,50,49,57,47,49,53,57,32,49,53,56,47,50,49,56,47,49,53,56,10,102,32,49,53,57,47,50,49,57,47,49,53,57,32,49,54,51,47,50,50,52,47,49,54,51,32,49,54,52,47, +50,50,53,47,49,54,52,10,102,32,49,54,52,47,50,50,53,47,49,54,52,32,49,54,48,47,50,50,48,47,49,54,48,32,49,53,57,47,50,49,57,47,49,53,57,10,102,32,49,48,48,47,50,50,54,47,49,48,48,32,49,48,52,47,50,51,49,47,49,48,52,32,49,54,53,47,50,51,50,47,49,54,53, +10,102,32,49,54,53,47,50,51,50,47,49,54,53,32,49,54,49,47,50,50,55,47,49,54,49,32,49,48,48,47,50,50,54,47,49,48,48,10,102,32,49,54,49,47,50,50,55,47,49,54,49,32,49,54,53,47,50,51,50,47,49,54,53,32,49,54,54,47,50,51,51,47,49,54,54,10,102,32,49,54,54,47, +50,51,51,47,49,54,54,32,49,54,50,47,50,50,56,47,49,54,50,32,49,54,49,47,50,50,55,47,49,54,49,10,102,32,49,54,50,47,50,50,56,47,49,54,50,32,49,54,54,47,50,51,51,47,49,54,54,32,49,54,55,47,50,51,52,47,49,54,55,10,102,32,49,54,55,47,50,51,52,47,49,54,55, +32,49,54,51,47,50,50,57,47,49,54,51,32,49,54,50,47,50,50,56,47,49,54,50,10,102,32,49,54,51,47,50,50,57,47,49,54,51,32,49,54,55,47,50,51,52,47,49,54,55,32,49,54,56,47,50,51,53,47,49,54,56,10,102,32,49,54,56,47,50,51,53,47,49,54,56,32,49,54,52,47,50,51, +48,47,49,54,52,32,49,54,51,47,50,50,57,47,49,54,51,10,102,32,49,48,52,47,50,51,49,47,49,48,52,32,49,48,56,47,50,51,54,47,49,48,56,32,49,54,57,47,50,51,55,47,49,54,57,10,102,32,49,54,57,47,50,51,55,47,49,54,57,32,49,54,53,47,50,51,50,47,49,54,53,32,49, +48,52,47,50,51,49,47,49,48,52,10,102,32,49,54,53,47,50,51,50,47,49,54,53,32,49,54,57,47,50,51,55,47,49,54,57,32,49,55,48,47,50,51,56,47,49,55,48,10,102,32,49,55,48,47,50,51,56,47,49,55,48,32,49,54,54,47,50,51,51,47,49,54,54,32,49,54,53,47,50,51,50,47, +49,54,53,10,102,32,49,54,54,47,50,51,51,47,49,54,54,32,49,55,48,47,50,51,56,47,49,55,48,32,49,55,49,47,50,51,57,47,49,55,49,10,102,32,49,55,49,47,50,51,57,47,49,55,49,32,49,54,55,47,50,51,52,47,49,54,55,32,49,54,54,47,50,51,51,47,49,54,54,10,102,32,49, +54,55,47,50,51,52,47,49,54,55,32,49,55,49,47,50,51,57,47,49,55,49,32,49,55,50,47,50,52,48,47,49,55,50,10,102,32,49,55,50,47,50,52,48,47,49,55,50,32,49,54,56,47,50,51,53,47,49,54,56,32,49,54,55,47,50,51,52,47,49,54,55,10,102,32,49,48,56,47,50,51,54,47, +49,48,56,32,49,49,50,47,50,52,49,47,49,49,50,32,49,55,51,47,50,52,50,47,49,55,51,10,102,32,49,55,51,47,50,52,50,47,49,55,51,32,49,54,57,47,50,51,55,47,49,54,57,32,49,48,56,47,50,51,54,47,49,48,56,10,102,32,49,54,57,47,50,51,55,47,49,54,57,32,49,55,51, +47,50,52,50,47,49,55,51,32,49,55,52,47,50,52,51,47,49,55,52,10,102,32,49,55,52,47,50,52,51,47,49,55,52,32,49,55,48,47,50,51,56,47,49,55,48,32,49,54,57,47,50,51,55,47,49,54,57,10,102,32,49,55,48,47,50,51,56,47,49,55,48,32,49,55,52,47,50,52,51,47,49,55, +52,32,49,55,53,47,50,52,52,47,49,55,53,10,102,32,49,55,53,47,50,52,52,47,49,55,53,32,49,55,49,47,50,51,57,47,49,55,49,32,49,55,48,47,50,51,56,47,49,55,48,10,102,32,49,55,49,47,50,51,57,47,49,55,49,32,49,55,53,47,50,52,52,47,49,55,53,32,49,55,54,47,50, +52,53,47,49,55,54,10,102,32,49,55,54,47,50,52,53,47,49,55,54,32,49,55,50,47,50,52,48,47,49,55,50,32,49,55,49,47,50,51,57,47,49,55,49,10,102,32,49,49,50,47,50,52,49,47,49,49,50,32,49,49,54,47,50,52,54,47,49,49,54,32,49,55,55,47,50,52,55,47,49,55,55,10, +102,32,49,55,55,47,50,52,55,47,49,55,55,32,49,55,51,47,50,52,50,47,49,55,51,32,49,49,50,47,50,52,49,47,49,49,50,10,102,32,49,55,51,47,50,52,50,47,49,55,51,32,49,55,55,47,50,52,55,47,49,55,55,32,49,55,56,47,50,52,56,47,49,55,56,10,102,32,49,55,56,47,50, +52,56,47,49,55,56,32,49,55,52,47,50,52,51,47,49,55,52,32,49,55,51,47,50,52,50,47,49,55,51,10,102,32,49,55,52,47,50,52,51,47,49,55,52,32,49,55,56,47,50,52,56,47,49,55,56,32,49,55,57,47,50,52,57,47,49,55,57,10,102,32,49,55,57,47,50,52,57,47,49,55,57,32, +49,55,53,47,50,52,52,47,49,55,53,32,49,55,52,47,50,52,51,47,49,55,52,10,102,32,49,55,53,47,50,52,52,47,49,55,53,32,49,55,57,47,50,52,57,47,49,55,57,32,49,56,48,47,50,53,48,47,49,56,48,10,102,32,49,56,48,47,50,53,48,47,49,56,48,32,49,55,54,47,50,52,53, +47,49,55,54,32,49,55,53,47,50,52,52,47,49,55,53,10,102,32,49,49,54,47,50,53,49,47,49,49,54,32,49,50,48,47,50,53,54,47,49,50,48,32,49,56,49,47,50,53,55,47,49,56,49,10,102,32,49,56,49,47,50,53,55,47,49,56,49,32,49,55,55,47,50,53,50,47,49,55,55,32,49,49, +54,47,50,53,49,47,49,49,54,10,102,32,49,55,55,47,50,53,50,47,49,55,55,32,49,56,49,47,50,53,55,47,49,56,49,32,49,56,50,47,50,53,56,47,49,56,50,10,102,32,49,56,50,47,50,53,56,47,49,56,50,32,49,55,56,47,50,53,51,47,49,55,56,32,49,55,55,47,50,53,50,47,49, +55,55,10,102,32,49,55,56,47,50,53,51,47,49,55,56,32,49,56,50,47,50,53,56,47,49,56,50,32,49,56,51,47,50,53,57,47,49,56,51,10,102,32,49,56,51,47,50,53,57,47,49,56,51,32,49,55,57,47,50,53,52,47,49,55,57,32,49,55,56,47,50,53,51,47,49,55,56,10,102,32,49,55, +57,47,50,53,52,47,49,55,57,32,49,56,51,47,50,53,57,47,49,56,51,32,49,56,52,47,50,54,48,47,49,56,52,10,102,32,49,56,52,47,50,54,48,47,49,56,52,32,49,56,48,47,50,53,53,47,49,56,48,32,49,55,57,47,50,53,52,47,49,55,57,10,102,32,49,50,48,47,50,53,54,47,49, +50,48,32,49,50,52,47,50,54,49,47,49,50,52,32,49,56,53,47,50,54,50,47,49,56,53,10,102,32,49,56,53,47,50,54,50,47,49,56,53,32,49,56,49,47,50,53,55,47,49,56,49,32,49,50,48,47,50,53,54,47,49,50,48,10,102,32,49,56,49,47,50,53,55,47,49,56,49,32,49,56,53,47, +50,54,50,47,49,56,53,32,49,56,54,47,50,54,51,47,49,56,54,10,102,32,49,56,54,47,50,54,51,47,49,56,54,32,49,56,50,47,50,53,56,47,49,56,50,32,49,56,49,47,50,53,55,47,49,56,49,10,102,32,49,56,50,47,50,53,56,47,49,56,50,32,49,56,54,47,50,54,51,47,49,56,54, +32,49,56,55,47,50,54,52,47,49,56,55,10,102,32,49,56,55,47,50,54,52,47,49,56,55,32,49,56,51,47,50,53,57,47,49,56,51,32,49,56,50,47,50,53,56,47,49,56,50,10,102,32,49,56,51,47,50,53,57,47,49,56,51,32,49,56,55,47,50,54,52,47,49,56,55,32,49,56,56,47,50,54, +53,47,49,56,56,10,102,32,49,56,56,47,50,54,53,47,49,56,56,32,49,56,52,47,50,54,48,47,49,56,52,32,49,56,51,47,50,53,57,47,49,56,51,10,102,32,49,50,52,47,50,54,49,47,49,50,52,32,49,50,56,47,50,54,54,47,49,50,56,32,49,56,57,47,50,54,55,47,49,56,57,10,102, +32,49,56,57,47,50,54,55,47,49,56,57,32,49,56,53,47,50,54,50,47,49,56,53,32,49,50,52,47,50,54,49,47,49,50,52,10,102,32,49,56,53,47,50,54,50,47,49,56,53,32,49,56,57,47,50,54,55,47,49,56,57,32,49,57,48,47,50,54,56,47,49,57,48,10,102,32,49,57,48,47,50,54, +56,47,49,57,48,32,49,56,54,47,50,54,51,47,49,56,54,32,49,56,53,47,50,54,50,47,49,56,53,10,102,32,49,56,54,47,50,54,51,47,49,56,54,32,49,57,48,47,50,54,56,47,49,57,48,32,49,57,49,47,50,54,57,47,49,57,49,10,102,32,49,57,49,47,50,54,57,47,49,57,49,32,49, +56,55,47,50,54,52,47,49,56,55,32,49,56,54,47,50,54,51,47,49,56,54,10,102,32,49,56,55,47,50,54,52,47,49,56,55,32,49,57,49,47,50,54,57,47,49,57,49,32,49,57,50,47,50,55,48,47,49,57,50,10,102,32,49,57,50,47,50,55,48,47,49,57,50,32,49,56,56,47,50,54,53,47, +49,56,56,32,49,56,55,47,50,54,52,47,49,56,55,10,102,32,49,50,56,47,50,54,54,47,49,50,56,32,49,51,50,47,50,55,49,47,49,51,50,32,49,57,51,47,50,55,50,47,49,57,51,10,102,32,49,57,51,47,50,55,50,47,49,57,51,32,49,56,57,47,50,54,55,47,49,56,57,32,49,50,56, +47,50,54,54,47,49,50,56,10,102,32,49,56,57,47,50,54,55,47,49,56,57,32,49,57,51,47,50,55,50,47,49,57,51,32,49,57,52,47,50,55,51,47,49,57,52,10,102,32,49,57,52,47,50,55,51,47,49,57,52,32,49,57,48,47,50,54,56,47,49,57,48,32,49,56,57,47,50,54,55,47,49,56, +57,10,102,32,49,57,48,47,50,54,56,47,49,57,48,32,49,57,52,47,50,55,51,47,49,57,52,32,49,57,53,47,50,55,52,47,49,57,53,10,102,32,49,57,53,47,50,55,52,47,49,57,53,32,49,57,49,47,50,54,57,47,49,57,49,32,49,57,48,47,50,54,56,47,49,57,48,10,102,32,49,57,49, +47,50,54,57,47,49,57,49,32,49,57,53,47,50,55,52,47,49,57,53,32,49,57,54,47,50,55,53,47,49,57,54,10,102,32,49,57,54,47,50,55,53,47,49,57,54,32,49,57,50,47,50,55,48,47,49,57,50,32,49,57,49,47,50,54,57,47,49,57,49,10,102,32,49,51,50,47,50,55,54,47,49,51, +50,32,49,51,54,47,50,56,49,47,49,51,54,32,49,57,55,47,50,56,50,47,49,57,55,10,102,32,49,57,55,47,50,56,50,47,49,57,55,32,49,57,51,47,50,55,55,47,49,57,51,32,49,51,50,47,50,55,54,47,49,51,50,10,102,32,49,57,51,47,50,55,55,47,49,57,51,32,49,57,55,47,50, +56,50,47,49,57,55,32,49,57,56,47,50,56,51,47,49,57,56,10,102,32,49,57,56,47,50,56,51,47,49,57,56,32,49,57,52,47,50,55,56,47,49,57,52,32,49,57,51,47,50,55,55,47,49,57,51,10,102,32,49,57,52,47,50,55,56,47,49,57,52,32,49,57,56,47,50,56,51,47,49,57,56,32, +49,57,57,47,50,56,52,47,49,57,57,10,102,32,49,57,57,47,50,56,52,47,49,57,57,32,49,57,53,47,50,55,57,47,49,57,53,32,49,57,52,47,50,55,56,47,49,57,52,10,102,32,49,57,53,47,50,55,57,47,49,57,53,32,49,57,57,47,50,56,52,47,49,57,57,32,50,48,48,47,50,56,53, +47,50,48,48,10,102,32,50,48,48,47,50,56,53,47,50,48,48,32,49,57,54,47,50,56,48,47,49,57,54,32,49,57,53,47,50,55,57,47,49,57,53,10,102,32,49,51,54,47,50,56,49,47,49,51,54,32,49,52,48,47,50,56,54,47,49,52,48,32,50,48,49,47,50,56,55,47,50,48,49,10,102,32, +50,48,49,47,50,56,55,47,50,48,49,32,49,57,55,47,50,56,50,47,49,57,55,32,49,51,54,47,50,56,49,47,49,51,54,10,102,32,49,57,55,47,50,56,50,47,49,57,55,32,50,48,49,47,50,56,55,47,50,48,49,32,50,48,50,47,50,56,56,47,50,48,50,10,102,32,50,48,50,47,50,56,56, +47,50,48,50,32,49,57,56,47,50,56,51,47,49,57,56,32,49,57,55,47,50,56,50,47,49,57,55,10,102,32,49,57,56,47,50,56,51,47,49,57,56,32,50,48,50,47,50,56,56,47,50,48,50,32,50,48,51,47,50,56,57,47,50,48,51,10,102,32,50,48,51,47,50,56,57,47,50,48,51,32,49,57, +57,47,50,56,52,47,49,57,57,32,49,57,56,47,50,56,51,47,49,57,56,10,102,32,49,57,57,47,50,56,52,47,49,57,57,32,50,48,51,47,50,56,57,47,50,48,51,32,50,48,52,47,50,57,48,47,50,48,52,10,102,32,50,48,52,47,50,57,48,47,50,48,52,32,50,48,48,47,50,56,53,47,50, +48,48,32,49,57,57,47,50,56,52,47,49,57,57,10,102,32,49,52,48,47,50,56,54,47,49,52,48,32,49,52,52,47,50,57,49,47,49,52,52,32,50,48,53,47,50,57,50,47,50,48,53,10,102,32,50,48,53,47,50,57,50,47,50,48,53,32,50,48,49,47,50,56,55,47,50,48,49,32,49,52,48,47, +50,56,54,47,49,52,48,10,102,32,50,48,49,47,50,56,55,47,50,48,49,32,50,48,53,47,50,57,50,47,50,48,53,32,50,48,54,47,50,57,51,47,50,48,54,10,102,32,50,48,54,47,50,57,51,47,50,48,54,32,50,48,50,47,50,56,56,47,50,48,50,32,50,48,49,47,50,56,55,47,50,48,49, +10,102,32,50,48,50,47,50,56,56,47,50,48,50,32,50,48,54,47,50,57,51,47,50,48,54,32,50,48,55,47,50,57,52,47,50,48,55,10,102,32,50,48,55,47,50,57,52,47,50,48,55,32,50,48,51,47,50,56,57,47,50,48,51,32,50,48,50,47,50,56,56,47,50,48,50,10,102,32,50,48,51,47, +50,56,57,47,50,48,51,32,50,48,55,47,50,57,52,47,50,48,55,32,50,48,56,47,50,57,53,47,50,48,56,10,102,32,50,48,56,47,50,57,53,47,50,48,56,32,50,48,52,47,50,57,48,47,50,48,52,32,50,48,51,47,50,56,57,47,50,48,51,10,102,32,49,52,52,47,50,57,49,47,49,52,52, +32,56,52,47,50,57,54,47,56,52,32,49,52,53,47,50,57,55,47,49,52,53,10,102,32,49,52,53,47,50,57,55,47,49,52,53,32,50,48,53,47,50,57,50,47,50,48,53,32,49,52,52,47,50,57,49,47,49,52,52,10,102,32,50,48,53,47,50,57,50,47,50,48,53,32,49,52,53,47,50,57,55,47, +49,52,53,32,49,52,54,47,50,57,56,47,49,52,54,10,102,32,49,52,54,47,50,57,56,47,49,52,54,32,50,48,54,47,50,57,51,47,50,48,54,32,50,48,53,47,50,57,50,47,50,48,53,10,102,32,50,48,54,47,50,57,51,47,50,48,54,32,49,52,54,47,50,57,56,47,49,52,54,32,49,52,55, +47,50,57,57,47,49,52,55,10,102,32,49,52,55,47,50,57,57,47,49,52,55,32,50,48,55,47,50,57,52,47,50,48,55,32,50,48,54,47,50,57,51,47,50,48,54,10,102,32,50,48,55,47,50,57,52,47,50,48,55,32,49,52,55,47,50,57,57,47,49,52,55,32,49,52,56,47,51,48,48,47,49,52, +56,10,102,32,49,52,56,47,51,48,48,47,49,52,56,32,50,48,56,47,50,57,53,47,50,48,56,32,50,48,55,47,50,57,52,47,50,48,55,10,102,32,49,52,56,47,51,48,49,47,49,52,56,32,49,53,50,47,51,48,54,47,49,53,50,32,50,49,51,47,51,48,55,47,50,49,51,10,102,32,50,49,51, +47,51,48,55,47,50,49,51,32,50,48,57,47,51,48,50,47,50,48,57,32,49,52,56,47,51,48,49,47,49,52,56,10,102,32,50,48,57,47,51,48,50,47,50,48,57,32,50,49,51,47,51,48,55,47,50,49,51,32,50,49,52,47,51,48,56,47,50,49,52,10,102,32,50,49,52,47,51,48,56,47,50,49, +52,32,50,49,48,47,51,48,51,47,50,49,48,32,50,48,57,47,51,48,50,47,50,48,57,10,102,32,50,49,48,47,51,48,51,47,50,49,48,32,50,49,52,47,51,48,56,47,50,49,52,32,50,49,53,47,51,48,57,47,50,49,53,10,102,32,50,49,53,47,51,48,57,47,50,49,53,32,50,49,49,47,51, +48,52,47,50,49,49,32,50,49,48,47,51,48,51,47,50,49,48,10,102,32,50,49,49,47,51,48,52,47,50,49,49,32,50,49,53,47,51,48,57,47,50,49,53,32,50,49,50,47,51,49,48,47,50,49,50,10,102,32,49,53,50,47,51,48,54,47,49,53,50,32,49,53,54,47,51,49,49,47,49,53,54,32, +50,49,54,47,51,49,50,47,50,49,54,10,102,32,50,49,54,47,51,49,50,47,50,49,54,32,50,49,51,47,51,48,55,47,50,49,51,32,49,53,50,47,51,48,54,47,49,53,50,10,102,32,50,49,51,47,51,48,55,47,50,49,51,32,50,49,54,47,51,49,50,47,50,49,54,32,50,49,55,47,51,49,51, +47,50,49,55,10,102,32,50,49,55,47,51,49,51,47,50,49,55,32,50,49,52,47,51,48,56,47,50,49,52,32,50,49,51,47,51,48,55,47,50,49,51,10,102,32,50,49,52,47,51,48,56,47,50,49,52,32,50,49,55,47,51,49,51,47,50,49,55,32,50,49,56,47,51,49,52,47,50,49,56,10,102,32, +50,49,56,47,51,49,52,47,50,49,56,32,50,49,53,47,51,48,57,47,50,49,53,32,50,49,52,47,51,48,56,47,50,49,52,10,102,32,50,49,53,47,51,48,57,47,50,49,53,32,50,49,56,47,51,49,52,47,50,49,56,32,50,49,50,47,51,49,53,47,50,49,50,10,102,32,49,53,54,47,51,49,49, +47,49,53,54,32,49,54,48,47,51,49,54,47,49,54,48,32,50,49,57,47,51,49,55,47,50,49,57,10,102,32,50,49,57,47,51,49,55,47,50,49,57,32,50,49,54,47,51,49,50,47,50,49,54,32,49,53,54,47,51,49,49,47,49,53,54,10,102,32,50,49,54,47,51,49,50,47,50,49,54,32,50,49, +57,47,51,49,55,47,50,49,57,32,50,50,48,47,51,49,56,47,50,50,48,10,102,32,50,50,48,47,51,49,56,47,50,50,48,32,50,49,55,47,51,49,51,47,50,49,55,32,50,49,54,47,51,49,50,47,50,49,54,10,102,32,50,49,55,47,51,49,51,47,50,49,55,32,50,50,48,47,51,49,56,47,50, +50,48,32,50,50,49,47,51,49,57,47,50,50,49,10,102,32,50,50,49,47,51,49,57,47,50,50,49,32,50,49,56,47,51,49,52,47,50,49,56,32,50,49,55,47,51,49,51,47,50,49,55,10,102,32,50,49,56,47,51,49,52,47,50,49,56,32,50,50,49,47,51,49,57,47,50,50,49,32,50,49,50,47, +51,50,48,47,50,49,50,10,102,32,49,54,48,47,51,49,54,47,49,54,48,32,49,54,52,47,51,50,49,47,49,54,52,32,50,50,50,47,51,50,50,47,50,50,50,10,102,32,50,50,50,47,51,50,50,47,50,50,50,32,50,49,57,47,51,49,55,47,50,49,57,32,49,54,48,47,51,49,54,47,49,54,48, +10,102,32,50,49,57,47,51,49,55,47,50,49,57,32,50,50,50,47,51,50,50,47,50,50,50,32,50,50,51,47,51,50,51,47,50,50,51,10,102,32,50,50,51,47,51,50,51,47,50,50,51,32,50,50,48,47,51,49,56,47,50,50,48,32,50,49,57,47,51,49,55,47,50,49,57,10,102,32,50,50,48,47, +51,49,56,47,50,50,48,32,50,50,51,47,51,50,51,47,50,50,51,32,50,50,52,47,51,50,52,47,50,50,52,10,102,32,50,50,52,47,51,50,52,47,50,50,52,32,50,50,49,47,51,49,57,47,50,50,49,32,50,50,48,47,51,49,56,47,50,50,48,10,102,32,50,50,49,47,51,49,57,47,50,50,49, +32,50,50,52,47,51,50,52,47,50,50,52,32,50,49,50,47,51,50,53,47,50,49,50,10,102,32,49,54,52,47,51,50,54,47,49,54,52,32,49,54,56,47,51,51,49,47,49,54,56,32,50,50,53,47,51,51,50,47,50,50,53,10,102,32,50,50,53,47,51,51,50,47,50,50,53,32,50,50,50,47,51,50, +55,47,50,50,50,32,49,54,52,47,51,50,54,47,49,54,52,10,102,32,50,50,50,47,51,50,55,47,50,50,50,32,50,50,53,47,51,51,50,47,50,50,53,32,50,50,54,47,51,51,51,47,50,50,54,10,102,32,50,50,54,47,51,51,51,47,50,50,54,32,50,50,51,47,51,50,56,47,50,50,51,32,50, +50,50,47,51,50,55,47,50,50,50,10,102,32,50,50,51,47,51,50,56,47,50,50,51,32,50,50,54,47,51,51,51,47,50,50,54,32,50,50,55,47,51,51,52,47,50,50,55,10,102,32,50,50,55,47,51,51,52,47,50,50,55,32,50,50,52,47,51,50,57,47,50,50,52,32,50,50,51,47,51,50,56,47, +50,50,51,10,102,32,50,50,52,47,51,50,57,47,50,50,52,32,50,50,55,47,51,51,52,47,50,50,55,32,50,49,50,47,51,51,53,47,50,49,50,10,102,32,49,54,56,47,51,51,49,47,49,54,56,32,49,55,50,47,51,51,54,47,49,55,50,32,50,50,56,47,51,51,55,47,50,50,56,10,102,32,50, +50,56,47,51,51,55,47,50,50,56,32,50,50,53,47,51,51,50,47,50,50,53,32,49,54,56,47,51,51,49,47,49,54,56,10,102,32,50,50,53,47,51,51,50,47,50,50,53,32,50,50,56,47,51,51,55,47,50,50,56,32,50,50,57,47,51,51,56,47,50,50,57,10,102,32,50,50,57,47,51,51,56,47, +50,50,57,32,50,50,54,47,51,51,51,47,50,50,54,32,50,50,53,47,51,51,50,47,50,50,53,10,102,32,50,50,54,47,51,51,51,47,50,50,54,32,50,50,57,47,51,51,56,47,50,50,57,32,50,51,48,47,51,51,57,47,50,51,48,10,102,32,50,51,48,47,51,51,57,47,50,51,48,32,50,50,55, +47,51,51,52,47,50,50,55,32,50,50,54,47,51,51,51,47,50,50,54,10,102,32,50,50,55,47,51,51,52,47,50,50,55,32,50,51,48,47,51,51,57,47,50,51,48,32,50,49,50,47,51,52,48,47,50,49,50,10,102,32,49,55,50,47,51,51,54,47,49,55,50,32,49,55,54,47,51,52,49,47,49,55, +54,32,50,51,49,47,51,52,50,47,50,51,49,10,102,32,50,51,49,47,51,52,50,47,50,51,49,32,50,50,56,47,51,51,55,47,50,50,56,32,49,55,50,47,51,51,54,47,49,55,50,10,102,32,50,50,56,47,51,51,55,47,50,50,56,32,50,51,49,47,51,52,50,47,50,51,49,32,50,51,50,47,51, +52,51,47,50,51,50,10,102,32,50,51,50,47,51,52,51,47,50,51,50,32,50,50,57,47,51,51,56,47,50,50,57,32,50,50,56,47,51,51,55,47,50,50,56,10,102,32,50,50,57,47,51,51,56,47,50,50,57,32,50,51,50,47,51,52,51,47,50,51,50,32,50,51,51,47,51,52,52,47,50,51,51,10, +102,32,50,51,51,47,51,52,52,47,50,51,51,32,50,51,48,47,51,51,57,47,50,51,48,32,50,50,57,47,51,51,56,47,50,50,57,10,102,32,50,51,48,47,51,51,57,47,50,51,48,32,50,51,51,47,51,52,52,47,50,51,51,32,50,49,50,47,51,52,53,47,50,49,50,10,102,32,49,55,54,47,51, +52,49,47,49,55,54,32,49,56,48,47,51,52,54,47,49,56,48,32,50,51,52,47,51,52,55,47,50,51,52,10,102,32,50,51,52,47,51,52,55,47,50,51,52,32,50,51,49,47,51,52,50,47,50,51,49,32,49,55,54,47,51,52,49,47,49,55,54,10,102,32,50,51,49,47,51,52,50,47,50,51,49,32, +50,51,52,47,51,52,55,47,50,51,52,32,50,51,53,47,51,52,56,47,50,51,53,10,102,32,50,51,53,47,51,52,56,47,50,51,53,32,50,51,50,47,51,52,51,47,50,51,50,32,50,51,49,47,51,52,50,47,50,51,49,10,102,32,50,51,50,47,51,52,51,47,50,51,50,32,50,51,53,47,51,52,56, +47,50,51,53,32,50,51,54,47,51,52,57,47,50,51,54,10,102,32,50,51,54,47,51,52,57,47,50,51,54,32,50,51,51,47,51,52,52,47,50,51,51,32,50,51,50,47,51,52,51,47,50,51,50,10,102,32,50,51,51,47,51,52,52,47,50,51,51,32,50,51,54,47,51,52,57,47,50,51,54,32,50,49, +50,47,51,53,48,47,50,49,50,10,102,32,49,56,48,47,51,53,49,47,49,56,48,32,49,56,52,47,51,53,54,47,49,56,52,32,50,51,55,47,51,53,55,47,50,51,55,10,102,32,50,51,55,47,51,53,55,47,50,51,55,32,50,51,52,47,51,53,50,47,50,51,52,32,49,56,48,47,51,53,49,47,49, +56,48,10,102,32,50,51,52,47,51,53,50,47,50,51,52,32,50,51,55,47,51,53,55,47,50,51,55,32,50,51,56,47,51,53,56,47,50,51,56,10,102,32,50,51,56,47,51,53,56,47,50,51,56,32,50,51,53,47,51,53,51,47,50,51,53,32,50,51,52,47,51,53,50,47,50,51,52,10,102,32,50,51, +53,47,51,53,51,47,50,51,53,32,50,51,56,47,51,53,56,47,50,51,56,32,50,51,57,47,51,53,57,47,50,51,57,10,102,32,50,51,57,47,51,53,57,47,50,51,57,32,50,51,54,47,51,53,52,47,50,51,54,32,50,51,53,47,51,53,51,47,50,51,53,10,102,32,50,51,54,47,51,53,52,47,50, +51,54,32,50,51,57,47,51,53,57,47,50,51,57,32,50,49,50,47,51,54,48,47,50,49,50,10,102,32,49,56,52,47,51,53,54,47,49,56,52,32,49,56,56,47,51,54,49,47,49,56,56,32,50,52,48,47,51,54,50,47,50,52,48,10,102,32,50,52,48,47,51,54,50,47,50,52,48,32,50,51,55,47, +51,53,55,47,50,51,55,32,49,56,52,47,51,53,54,47,49,56,52,10,102,32,50,51,55,47,51,53,55,47,50,51,55,32,50,52,48,47,51,54,50,47,50,52,48,32,50,52,49,47,51,54,51,47,50,52,49,10,102,32,50,52,49,47,51,54,51,47,50,52,49,32,50,51,56,47,51,53,56,47,50,51,56, +32,50,51,55,47,51,53,55,47,50,51,55,10,102,32,50,51,56,47,51,53,56,47,50,51,56,32,50,52,49,47,51,54,51,47,50,52,49,32,50,52,50,47,51,54,52,47,50,52,50,10,102,32,50,52,50,47,51,54,52,47,50,52,50,32,50,51,57,47,51,53,57,47,50,51,57,32,50,51,56,47,51,53, +56,47,50,51,56,10,102,32,50,51,57,47,51,53,57,47,50,51,57,32,50,52,50,47,51,54,52,47,50,52,50,32,50,49,50,47,51,54,53,47,50,49,50,10,102,32,49,56,56,47,51,54,49,47,49,56,56,32,49,57,50,47,51,54,54,47,49,57,50,32,50,52,51,47,51,54,55,47,50,52,51,10,102, +32,50,52,51,47,51,54,55,47,50,52,51,32,50,52,48,47,51,54,50,47,50,52,48,32,49,56,56,47,51,54,49,47,49,56,56,10,102,32,50,52,48,47,51,54,50,47,50,52,48,32,50,52,51,47,51,54,55,47,50,52,51,32,50,52,52,47,51,54,56,47,50,52,52,10,102,32,50,52,52,47,51,54, +56,47,50,52,52,32,50,52,49,47,51,54,51,47,50,52,49,32,50,52,48,47,51,54,50,47,50,52,48,10,102,32,50,52,49,47,51,54,51,47,50,52,49,32,50,52,52,47,51,54,56,47,50,52,52,32,50,52,53,47,51,54,57,47,50,52,53,10,102,32,50,52,53,47,51,54,57,47,50,52,53,32,50, +52,50,47,51,54,52,47,50,52,50,32,50,52,49,47,51,54,51,47,50,52,49,10,102,32,50,52,50,47,51,54,52,47,50,52,50,32,50,52,53,47,51,54,57,47,50,52,53,32,50,49,50,47,51,55,48,47,50,49,50,10,102,32,49,57,50,47,51,54,54,47,49,57,50,32,49,57,54,47,51,55,49,47, +49,57,54,32,50,52,54,47,51,55,50,47,50,52,54,10,102,32,50,52,54,47,51,55,50,47,50,52,54,32,50,52,51,47,51,54,55,47,50,52,51,32,49,57,50,47,51,54,54,47,49,57,50,10,102,32,50,52,51,47,51,54,55,47,50,52,51,32,50,52,54,47,51,55,50,47,50,52,54,32,50,52,55, +47,51,55,51,47,50,52,55,10,102,32,50,52,55,47,51,55,51,47,50,52,55,32,50,52,52,47,51,54,56,47,50,52,52,32,50,52,51,47,51,54,55,47,50,52,51,10,102,32,50,52,52,47,51,54,56,47,50,52,52,32,50,52,55,47,51,55,51,47,50,52,55,32,50,52,56,47,51,55,52,47,50,52, +56,10,102,32,50,52,56,47,51,55,52,47,50,52,56,32,50,52,53,47,51,54,57,47,50,52,53,32,50,52,52,47,51,54,56,47,50,52,52,10,102,32,50,52,53,47,51,54,57,47,50,52,53,32,50,52,56,47,51,55,52,47,50,52,56,32,50,49,50,47,51,55,53,47,50,49,50,10,102,32,49,57,54, +47,51,55,54,47,49,57,54,32,50,48,48,47,51,56,49,47,50,48,48,32,50,52,57,47,51,56,50,47,50,52,57,10,102,32,50,52,57,47,51,56,50,47,50,52,57,32,50,52,54,47,51,55,55,47,50,52,54,32,49,57,54,47,51,55,54,47,49,57,54,10,102,32,50,52,54,47,51,55,55,47,50,52, +54,32,50,52,57,47,51,56,50,47,50,52,57,32,50,53,48,47,51,56,51,47,50,53,48,10,102,32,50,53,48,47,51,56,51,47,50,53,48,32,50,52,55,47,51,55,56,47,50,52,55,32,50,52,54,47,51,55,55,47,50,52,54,10,102,32,50,52,55,47,51,55,56,47,50,52,55,32,50,53,48,47,51, +56,51,47,50,53,48,32,50,53,49,47,51,56,52,47,50,53,49,10,102,32,50,53,49,47,51,56,52,47,50,53,49,32,50,52,56,47,51,55,57,47,50,52,56,32,50,52,55,47,51,55,56,47,50,52,55,10,102,32,50,52,56,47,51,55,57,47,50,52,56,32,50,53,49,47,51,56,52,47,50,53,49,32, +50,49,50,47,51,56,53,47,50,49,50,10,102,32,50,48,48,47,51,56,49,47,50,48,48,32,50,48,52,47,51,56,54,47,50,48,52,32,50,53,50,47,51,56,55,47,50,53,50,10,102,32,50,53,50,47,51,56,55,47,50,53,50,32,50,52,57,47,51,56,50,47,50,52,57,32,50,48,48,47,51,56,49, +47,50,48,48,10,102,32,50,52,57,47,51,56,50,47,50,52,57,32,50,53,50,47,51,56,55,47,50,53,50,32,50,53,51,47,51,56,56,47,50,53,51,10,102,32,50,53,51,47,51,56,56,47,50,53,51,32,50,53,48,47,51,56,51,47,50,53,48,32,50,52,57,47,51,56,50,47,50,52,57,10,102,32, +50,53,48,47,51,56,51,47,50,53,48,32,50,53,51,47,51,56,56,47,50,53,51,32,50,53,52,47,51,56,57,47,50,53,52,10,102,32,50,53,52,47,51,56,57,47,50,53,52,32,50,53,49,47,51,56,52,47,50,53,49,32,50,53,48,47,51,56,51,47,50,53,48,10,102,32,50,53,49,47,51,56,52, +47,50,53,49,32,50,53,52,47,51,56,57,47,50,53,52,32,50,49,50,47,51,57,48,47,50,49,50,10,102,32,50,48,52,47,51,56,54,47,50,48,52,32,50,48,56,47,51,57,49,47,50,48,56,32,50,53,53,47,51,57,50,47,50,53,53,10,102,32,50,53,53,47,51,57,50,47,50,53,53,32,50,53, +50,47,51,56,55,47,50,53,50,32,50,48,52,47,51,56,54,47,50,48,52,10,102,32,50,53,50,47,51,56,55,47,50,53,50,32,50,53,53,47,51,57,50,47,50,53,53,32,50,53,54,47,51,57,51,47,50,53,54,10,102,32,50,53,54,47,51,57,51,47,50,53,54,32,50,53,51,47,51,56,56,47,50, +53,51,32,50,53,50,47,51,56,55,47,50,53,50,10,102,32,50,53,51,47,51,56,56,47,50,53,51,32,50,53,54,47,51,57,51,47,50,53,54,32,50,53,55,47,51,57,52,47,50,53,55,10,102,32,50,53,55,47,51,57,52,47,50,53,55,32,50,53,52,47,51,56,57,47,50,53,52,32,50,53,51,47, +51,56,56,47,50,53,51,10,102,32,50,53,52,47,51,56,57,47,50,53,52,32,50,53,55,47,51,57,52,47,50,53,55,32,50,49,50,47,51,57,53,47,50,49,50,10,102,32,50,48,56,47,51,57,49,47,50,48,56,32,49,52,56,47,51,57,54,47,49,52,56,32,50,48,57,47,51,57,55,47,50,48,57, +10,102,32,50,48,57,47,51,57,55,47,50,48,57,32,50,53,53,47,51,57,50,47,50,53,53,32,50,48,56,47,51,57,49,47,50,48,56,10,102,32,50,53,53,47,51,57,50,47,50,53,53,32,50,48,57,47,51,57,55,47,50,48,57,32,50,49,48,47,51,57,56,47,50,49,48,10,102,32,50,49,48,47, +51,57,56,47,50,49,48,32,50,53,54,47,51,57,51,47,50,53,54,32,50,53,53,47,51,57,50,47,50,53,53,10,102,32,50,53,54,47,51,57,51,47,50,53,54,32,50,49,48,47,51,57,56,47,50,49,48,32,50,49,49,47,51,57,57,47,50,49,49,10,102,32,50,49,49,47,51,57,57,47,50,49,49, +32,50,53,55,47,51,57,52,47,50,53,55,32,50,53,54,47,51,57,51,47,50,53,54,10,102,32,50,53,55,47,51,57,52,47,50,53,55,32,50,49,49,47,51,57,57,47,50,49,49,32,50,49,50,47,52,48,48,47,50,49,50,10,102,32,50,53,56,47,52,48,49,47,50,53,56,32,50,54,51,47,52,48, +54,47,50,54,51,32,50,54,52,47,52,48,55,47,50,54,52,10,102,32,50,54,52,47,52,48,55,47,50,54,52,32,50,53,57,47,52,48,50,47,50,53,57,32,50,53,56,47,52,48,49,47,50,53,56,10,102,32,50,53,57,47,52,48,50,47,50,53,57,32,50,54,52,47,52,48,55,47,50,54,52,32,50, +54,53,47,52,48,56,47,50,54,53,10,102,32,50,54,53,47,52,48,56,47,50,54,53,32,50,54,48,47,52,48,51,47,50,54,48,32,50,53,57,47,52,48,50,47,50,53,57,10,102,32,50,54,48,47,52,48,51,47,50,54,48,32,50,54,53,47,52,48,56,47,50,54,53,32,50,54,54,47,52,48,57,47, +50,54,54,10,102,32,50,54,54,47,52,48,57,47,50,54,54,32,50,54,49,47,52,48,52,47,50,54,49,32,50,54,48,47,52,48,51,47,50,54,48,10,102,32,50,54,49,47,52,48,52,47,50,54,49,32,50,54,54,47,52,48,57,47,50,54,54,32,50,54,55,47,52,49,48,47,50,54,55,10,102,32,50, +54,55,47,52,49,48,47,50,54,55,32,50,54,50,47,52,48,53,47,50,54,50,32,50,54,49,47,52,48,52,47,50,54,49,10,102,32,50,54,51,47,52,48,54,47,50,54,51,32,50,54,56,47,52,49,49,47,50,54,56,32,50,54,57,47,52,49,50,47,50,54,57,10,102,32,50,54,57,47,52,49,50,47, +50,54,57,32,50,54,52,47,52,48,55,47,50,54,52,32,50,54,51,47,52,48,54,47,50,54,51,10,102,32,50,54,52,47,52,48,55,47,50,54,52,32,50,54,57,47,52,49,50,47,50,54,57,32,50,55,48,47,52,49,51,47,50,55,48,10,102,32,50,55,48,47,52,49,51,47,50,55,48,32,50,54,53, +47,52,48,56,47,50,54,53,32,50,54,52,47,52,48,55,47,50,54,52,10,102,32,50,54,53,47,52,48,56,47,50,54,53,32,50,55,48,47,52,49,51,47,50,55,48,32,50,55,49,47,52,49,52,47,50,55,49,10,102,32,50,55,49,47,52,49,52,47,50,55,49,32,50,54,54,47,52,48,57,47,50,54, +54,32,50,54,53,47,52,48,56,47,50,54,53,10,102,32,50,54,54,47,52,48,57,47,50,54,54,32,50,55,49,47,52,49,52,47,50,55,49,32,50,55,50,47,52,49,53,47,50,55,50,10,102,32,50,55,50,47,52,49,53,47,50,55,50,32,50,54,55,47,52,49,48,47,50,54,55,32,50,54,54,47,52, +48,57,47,50,54,54,10,102,32,50,54,56,47,52,49,49,47,50,54,56,32,50,55,51,47,52,49,54,47,50,55,51,32,50,55,52,47,52,49,55,47,50,55,52,10,102,32,50,55,52,47,52,49,55,47,50,55,52,32,50,54,57,47,52,49,50,47,50,54,57,32,50,54,56,47,52,49,49,47,50,54,56,10, +102,32,50,54,57,47,52,49,50,47,50,54,57,32,50,55,52,47,52,49,55,47,50,55,52,32,50,55,53,47,52,49,56,47,50,55,53,10,102,32,50,55,53,47,52,49,56,47,50,55,53,32,50,55,48,47,52,49,51,47,50,55,48,32,50,54,57,47,52,49,50,47,50,54,57,10,102,32,50,55,48,47,52, +49,51,47,50,55,48,32,50,55,53,47,52,49,56,47,50,55,53,32,50,55,54,47,52,49,57,47,50,55,54,10,102,32,50,55,54,47,52,49,57,47,50,55,54,32,50,55,49,47,52,49,52,47,50,55,49,32,50,55,48,47,52,49,51,47,50,55,48,10,102,32,50,55,49,47,52,49,52,47,50,55,49,32, +50,55,54,47,52,49,57,47,50,55,54,32,50,55,55,47,52,50,48,47,50,55,55,10,102,32,50,55,55,47,52,50,48,47,50,55,55,32,50,55,50,47,52,49,53,47,50,55,50,32,50,55,49,47,52,49,52,47,50,55,49,10,102,32,50,55,51,47,52,49,54,47,50,55,51,32,50,55,56,47,52,50,49, +47,50,55,56,32,50,55,57,47,52,50,50,47,50,55,57,10,102,32,50,55,57,47,52,50,50,47,50,55,57,32,50,55,52,47,52,49,55,47,50,55,52,32,50,55,51,47,52,49,54,47,50,55,51,10,102,32,50,55,52,47,52,49,55,47,50,55,52,32,50,55,57,47,52,50,50,47,50,55,57,32,50,56, +48,47,52,50,51,47,50,56,48,10,102,32,50,56,48,47,52,50,51,47,50,56,48,32,50,55,53,47,52,49,56,47,50,55,53,32,50,55,52,47,52,49,55,47,50,55,52,10,102,32,50,55,53,47,52,49,56,47,50,55,53,32,50,56,48,47,52,50,51,47,50,56,48,32,50,56,49,47,52,50,52,47,50, +56,49,10,102,32,50,56,49,47,52,50,52,47,50,56,49,32,50,55,54,47,52,49,57,47,50,55,54,32,50,55,53,47,52,49,56,47,50,55,53,10,102,32,50,55,54,47,52,49,57,47,50,55,54,32,50,56,49,47,52,50,52,47,50,56,49,32,50,56,50,47,52,50,53,47,50,56,50,10,102,32,50,56, +50,47,52,50,53,47,50,56,50,32,50,55,55,47,52,50,48,47,50,55,55,32,50,55,54,47,52,49,57,47,50,55,54,10,102,32,50,55,56,47,52,50,54,47,50,55,56,32,50,56,51,47,52,51,49,47,50,56,51,32,50,56,52,47,52,51,50,47,50,56,52,10,102,32,50,56,52,47,52,51,50,47,50, +56,52,32,50,55,57,47,52,50,55,47,50,55,57,32,50,55,56,47,52,50,54,47,50,55,56,10,102,32,50,55,57,47,52,50,55,47,50,55,57,32,50,56,52,47,52,51,50,47,50,56,52,32,50,56,53,47,52,51,51,47,50,56,53,10,102,32,50,56,53,47,52,51,51,47,50,56,53,32,50,56,48,47, +52,50,56,47,50,56,48,32,50,55,57,47,52,50,55,47,50,55,57,10,102,32,50,56,48,47,52,50,56,47,50,56,48,32,50,56,53,47,52,51,51,47,50,56,53,32,50,56,54,47,52,51,52,47,50,56,54,10,102,32,50,56,54,47,52,51,52,47,50,56,54,32,50,56,49,47,52,50,57,47,50,56,49, +32,50,56,48,47,52,50,56,47,50,56,48,10,102,32,50,56,49,47,52,50,57,47,50,56,49,32,50,56,54,47,52,51,52,47,50,56,54,32,50,56,55,47,52,51,53,47,50,56,55,10,102,32,50,56,55,47,52,51,53,47,50,56,55,32,50,56,50,47,52,51,48,47,50,56,50,32,50,56,49,47,52,50, +57,47,50,56,49,10,102,32,50,56,51,47,52,51,49,47,50,56,51,32,50,56,56,47,52,51,54,47,50,56,56,32,50,56,57,47,52,51,55,47,50,56,57,10,102,32,50,56,57,47,52,51,55,47,50,56,57,32,50,56,52,47,52,51,50,47,50,56,52,32,50,56,51,47,52,51,49,47,50,56,51,10,102, +32,50,56,52,47,52,51,50,47,50,56,52,32,50,56,57,47,52,51,55,47,50,56,57,32,50,57,48,47,52,51,56,47,50,57,48,10,102,32,50,57,48,47,52,51,56,47,50,57,48,32,50,56,53,47,52,51,51,47,50,56,53,32,50,56,52,47,52,51,50,47,50,56,52,10,102,32,50,56,53,47,52,51, +51,47,50,56,53,32,50,57,48,47,52,51,56,47,50,57,48,32,50,57,49,47,52,51,57,47,50,57,49,10,102,32,50,57,49,47,52,51,57,47,50,57,49,32,50,56,54,47,52,51,52,47,50,56,54,32,50,56,53,47,52,51,51,47,50,56,53,10,102,32,50,56,54,47,52,51,52,47,50,56,54,32,50, +57,49,47,52,51,57,47,50,57,49,32,50,57,50,47,52,52,48,47,50,57,50,10,102,32,50,57,50,47,52,52,48,47,50,57,50,32,50,56,55,47,52,51,53,47,50,56,55,32,50,56,54,47,52,51,52,47,50,56,54,10,102,32,50,56,56,47,52,51,54,47,50,56,56,32,50,57,51,47,52,52,49,47, +50,57,51,32,50,57,52,47,52,52,50,47,50,57,52,10,102,32,50,57,52,47,52,52,50,47,50,57,52,32,50,56,57,47,52,51,55,47,50,56,57,32,50,56,56,47,52,51,54,47,50,56,56,10,102,32,50,56,57,47,52,51,55,47,50,56,57,32,50,57,52,47,52,52,50,47,50,57,52,32,50,57,53, +47,52,52,51,47,50,57,53,10,102,32,50,57,53,47,52,52,51,47,50,57,53,32,50,57,48,47,52,51,56,47,50,57,48,32,50,56,57,47,52,51,55,47,50,56,57,10,102,32,50,57,48,47,52,51,56,47,50,57,48,32,50,57,53,47,52,52,51,47,50,57,53,32,50,57,54,47,52,52,52,47,50,57, +54,10,102,32,50,57,54,47,52,52,52,47,50,57,54,32,50,57,49,47,52,51,57,47,50,57,49,32,50,57,48,47,52,51,56,47,50,57,48,10,102,32,50,57,49,47,52,51,57,47,50,57,49,32,50,57,54,47,52,52,52,47,50,57,54,32,50,57,55,47,52,52,53,47,50,57,55,10,102,32,50,57,55, +47,52,52,53,47,50,57,55,32,50,57,50,47,52,52,48,47,50,57,50,32,50,57,49,47,52,51,57,47,50,57,49,10,102,32,50,57,51,47,52,52,49,47,50,57,51,32,50,53,56,47,52,52,54,47,50,53,56,32,50,53,57,47,52,52,55,47,50,53,57,10,102,32,50,53,57,47,52,52,55,47,50,53, +57,32,50,57,52,47,52,52,50,47,50,57,52,32,50,57,51,47,52,52,49,47,50,57,51,10,102,32,50,57,52,47,52,52,50,47,50,57,52,32,50,53,57,47,52,52,55,47,50,53,57,32,50,54,48,47,52,52,56,47,50,54,48,10,102,32,50,54,48,47,52,52,56,47,50,54,48,32,50,57,53,47,52, +52,51,47,50,57,53,32,50,57,52,47,52,52,50,47,50,57,52,10,102,32,50,57,53,47,52,52,51,47,50,57,53,32,50,54,48,47,52,52,56,47,50,54,48,32,50,54,49,47,52,52,57,47,50,54,49,10,102,32,50,54,49,47,52,52,57,47,50,54,49,32,50,57,54,47,52,52,52,47,50,57,54,32, +50,57,53,47,52,52,51,47,50,57,53,10,102,32,50,57,54,47,52,52,52,47,50,57,54,32,50,54,49,47,52,52,57,47,50,54,49,32,50,54,50,47,52,53,48,47,50,54,50,10,102,32,50,54,50,47,52,53,48,47,50,54,50,32,50,57,55,47,52,52,53,47,50,57,55,32,50,57,54,47,52,52,52, +47,50,57,54,10,102,32,50,54,50,47,52,53,49,47,50,54,50,32,50,54,55,47,52,53,54,47,50,54,55,32,51,48,50,47,52,53,55,47,51,48,50,10,102,32,51,48,50,47,52,53,55,47,51,48,50,32,50,57,56,47,52,53,50,47,50,57,56,32,50,54,50,47,52,53,49,47,50,54,50,10,102,32, +50,57,56,47,52,53,50,47,50,57,56,32,51,48,50,47,52,53,55,47,51,48,50,32,51,48,51,47,52,53,56,47,51,48,51,10,102,32,51,48,51,47,52,53,56,47,51,48,51,32,50,57,57,47,52,53,51,47,50,57,57,32,50,57,56,47,52,53,50,47,50,57,56,10,102,32,50,57,57,47,52,53,51, +47,50,57,57,32,51,48,51,47,52,53,56,47,51,48,51,32,51,48,52,47,52,53,57,47,51,48,52,10,102,32,51,48,52,47,52,53,57,47,51,48,52,32,51,48,48,47,52,53,52,47,51,48,48,32,50,57,57,47,52,53,51,47,50,57,57,10,102,32,51,48,48,47,52,53,52,47,51,48,48,32,51,48, +52,47,52,53,57,47,51,48,52,32,51,48,53,47,52,54,48,47,51,48,53,10,102,32,51,48,53,47,52,54,48,47,51,48,53,32,51,48,49,47,52,53,53,47,51,48,49,32,51,48,48,47,52,53,52,47,51,48,48,10,102,32,50,54,55,47,52,53,54,47,50,54,55,32,50,55,50,47,52,54,49,47,50, +55,50,32,51,48,54,47,52,54,50,47,51,48,54,10,102,32,51,48,54,47,52,54,50,47,51,48,54,32,51,48,50,47,52,53,55,47,51,48,50,32,50,54,55,47,52,53,54,47,50,54,55,10,102,32,51,48,50,47,52,53,55,47,51,48,50,32,51,48,54,47,52,54,50,47,51,48,54,32,51,48,55,47, +52,54,51,47,51,48,55,10,102,32,51,48,55,47,52,54,51,47,51,48,55,32,51,48,51,47,52,53,56,47,51,48,51,32,51,48,50,47,52,53,55,47,51,48,50,10,102,32,51,48,51,47,52,53,56,47,51,48,51,32,51,48,55,47,52,54,51,47,51,48,55,32,51,48,56,47,52,54,52,47,51,48,56, +10,102,32,51,48,56,47,52,54,52,47,51,48,56,32,51,48,52,47,52,53,57,47,51,48,52,32,51,48,51,47,52,53,56,47,51,48,51,10,102,32,51,48,52,47,52,53,57,47,51,48,52,32,51,48,56,47,52,54,52,47,51,48,56,32,51,48,57,47,52,54,53,47,51,48,57,10,102,32,51,48,57,47, +52,54,53,47,51,48,57,32,51,48,53,47,52,54,48,47,51,48,53,32,51,48,52,47,52,53,57,47,51,48,52,10,102,32,50,55,50,47,52,54,49,47,50,55,50,32,50,55,55,47,52,54,54,47,50,55,55,32,51,49,48,47,52,54,55,47,51,49,48,10,102,32,51,49,48,47,52,54,55,47,51,49,48, +32,51,48,54,47,52,54,50,47,51,48,54,32,50,55,50,47,52,54,49,47,50,55,50,10,102,32,51,48,54,47,52,54,50,47,51,48,54,32,51,49,48,47,52,54,55,47,51,49,48,32,51,49,49,47,52,54,56,47,51,49,49,10,102,32,51,49,49,47,52,54,56,47,51,49,49,32,51,48,55,47,52,54, +51,47,51,48,55,32,51,48,54,47,52,54,50,47,51,48,54,10,102,32,51,48,55,47,52,54,51,47,51,48,55,32,51,49,49,47,52,54,56,47,51,49,49,32,51,49,50,47,52,54,57,47,51,49,50,10,102,32,51,49,50,47,52,54,57,47,51,49,50,32,51,48,56,47,52,54,52,47,51,48,56,32,51, +48,55,47,52,54,51,47,51,48,55,10,102,32,51,48,56,47,52,54,52,47,51,48,56,32,51,49,50,47,52,54,57,47,51,49,50,32,51,49,51,47,52,55,48,47,51,49,51,10,102,32,51,49,51,47,52,55,48,47,51,49,51,32,51,48,57,47,52,54,53,47,51,48,57,32,51,48,56,47,52,54,52,47, +51,48,56,10,102,32,50,55,55,47,52,54,54,47,50,55,55,32,50,56,50,47,52,55,49,47,50,56,50,32,51,49,52,47,52,55,50,47,51,49,52,10,102,32,51,49,52,47,52,55,50,47,51,49,52,32,51,49,48,47,52,54,55,47,51,49,48,32,50,55,55,47,52,54,54,47,50,55,55,10,102,32,51, +49,48,47,52,54,55,47,51,49,48,32,51,49,52,47,52,55,50,47,51,49,52,32,51,49,53,47,52,55,51,47,51,49,53,10,102,32,51,49,53,47,52,55,51,47,51,49,53,32,51,49,49,47,52,54,56,47,51,49,49,32,51,49,48,47,52,54,55,47,51,49,48,10,102,32,51,49,49,47,52,54,56,47, +51,49,49,32,51,49,53,47,52,55,51,47,51,49,53,32,51,49,54,47,52,55,52,47,51,49,54,10,102,32,51,49,54,47,52,55,52,47,51,49,54,32,51,49,50,47,52,54,57,47,51,49,50,32,51,49,49,47,52,54,56,47,51,49,49,10,102,32,51,49,50,47,52,54,57,47,51,49,50,32,51,49,54, +47,52,55,52,47,51,49,54,32,51,49,55,47,52,55,53,47,51,49,55,10,102,32,51,49,55,47,52,55,53,47,51,49,55,32,51,49,51,47,52,55,48,47,51,49,51,32,51,49,50,47,52,54,57,47,51,49,50,10,102,32,50,56,50,47,52,55,54,47,50,56,50,32,50,56,55,47,52,56,49,47,50,56, +55,32,51,49,56,47,52,56,50,47,51,49,56,10,102,32,51,49,56,47,52,56,50,47,51,49,56,32,51,49,52,47,52,55,55,47,51,49,52,32,50,56,50,47,52,55,54,47,50,56,50,10,102,32,51,49,52,47,52,55,55,47,51,49,52,32,51,49,56,47,52,56,50,47,51,49,56,32,51,49,57,47,52, +56,51,47,51,49,57,10,102,32,51,49,57,47,52,56,51,47,51,49,57,32,51,49,53,47,52,55,56,47,51,49,53,32,51,49,52,47,52,55,55,47,51,49,52,10,102,32,51,49,53,47,52,55,56,47,51,49,53,32,51,49,57,47,52,56,51,47,51,49,57,32,51,50,48,47,52,56,52,47,51,50,48,10, +102,32,51,50,48,47,52,56,52,47,51,50,48,32,51,49,54,47,52,55,57,47,51,49,54,32,51,49,53,47,52,55,56,47,51,49,53,10,102,32,51,49,54,47,52,55,57,47,51,49,54,32,51,50,48,47,52,56,52,47,51,50,48,32,51,50,49,47,52,56,53,47,51,50,49,10,102,32,51,50,49,47,52, +56,53,47,51,50,49,32,51,49,55,47,52,56,48,47,51,49,55,32,51,49,54,47,52,55,57,47,51,49,54,10,102,32,50,56,55,47,52,56,49,47,50,56,55,32,50,57,50,47,52,56,54,47,50,57,50,32,51,50,50,47,52,56,55,47,51,50,50,10,102,32,51,50,50,47,52,56,55,47,51,50,50,32, +51,49,56,47,52,56,50,47,51,49,56,32,50,56,55,47,52,56,49,47,50,56,55,10,102,32,51,49,56,47,52,56,50,47,51,49,56,32,51,50,50,47,52,56,55,47,51,50,50,32,51,50,51,47,52,56,56,47,51,50,51,10,102,32,51,50,51,47,52,56,56,47,51,50,51,32,51,49,57,47,52,56,51, +47,51,49,57,32,51,49,56,47,52,56,50,47,51,49,56,10,102,32,51,49,57,47,52,56,51,47,51,49,57,32,51,50,51,47,52,56,56,47,51,50,51,32,51,50,52,47,52,56,57,47,51,50,52,10,102,32,51,50,52,47,52,56,57,47,51,50,52,32,51,50,48,47,52,56,52,47,51,50,48,32,51,49, +57,47,52,56,51,47,51,49,57,10,102,32,51,50,48,47,52,56,52,47,51,50,48,32,51,50,52,47,52,56,57,47,51,50,52,32,51,50,53,47,52,57,48,47,51,50,53,10,102,32,51,50,53,47,52,57,48,47,51,50,53,32,51,50,49,47,52,56,53,47,51,50,49,32,51,50,48,47,52,56,52,47,51, +50,48,10,102,32,50,57,50,47,52,56,54,47,50,57,50,32,50,57,55,47,52,57,49,47,50,57,55,32,51,50,54,47,52,57,50,47,51,50,54,10,102,32,51,50,54,47,52,57,50,47,51,50,54,32,51,50,50,47,52,56,55,47,51,50,50,32,50,57,50,47,52,56,54,47,50,57,50,10,102,32,51,50, +50,47,52,56,55,47,51,50,50,32,51,50,54,47,52,57,50,47,51,50,54,32,51,50,55,47,52,57,51,47,51,50,55,10,102,32,51,50,55,47,52,57,51,47,51,50,55,32,51,50,51,47,52,56,56,47,51,50,51,32,51,50,50,47,52,56,55,47,51,50,50,10,102,32,51,50,51,47,52,56,56,47,51, +50,51,32,51,50,55,47,52,57,51,47,51,50,55,32,51,50,56,47,52,57,52,47,51,50,56,10,102,32,51,50,56,47,52,57,52,47,51,50,56,32,51,50,52,47,52,56,57,47,51,50,52,32,51,50,51,47,52,56,56,47,51,50,51,10,102,32,51,50,52,47,52,56,57,47,51,50,52,32,51,50,56,47, +52,57,52,47,51,50,56,32,51,50,57,47,52,57,53,47,51,50,57,10,102,32,51,50,57,47,52,57,53,47,51,50,57,32,51,50,53,47,52,57,48,47,51,50,53,32,51,50,52,47,52,56,57,47,51,50,52,10,102,32,50,57,55,47,52,57,49,47,50,57,55,32,50,54,50,47,52,57,54,47,50,54,50, +32,50,57,56,47,52,57,55,47,50,57,56,10,102,32,50,57,56,47,52,57,55,47,50,57,56,32,51,50,54,47,52,57,50,47,51,50,54,32,50,57,55,47,52,57,49,47,50,57,55,10,102,32,51,50,54,47,52,57,50,47,51,50,54,32,50,57,56,47,52,57,55,47,50,57,56,32,50,57,57,47,52,57, +56,47,50,57,57,10,102,32,50,57,57,47,52,57,56,47,50,57,57,32,51,50,55,47,52,57,51,47,51,50,55,32,51,50,54,47,52,57,50,47,51,50,54,10,102,32,51,50,55,47,52,57,51,47,51,50,55,32,50,57,57,47,52,57,56,47,50,57,57,32,51,48,48,47,52,57,57,47,51,48,48,10,102, +32,51,48,48,47,52,57,57,47,51,48,48,32,51,50,56,47,52,57,52,47,51,50,56,32,51,50,55,47,52,57,51,47,51,50,55,10,102,32,51,50,56,47,52,57,52,47,51,50,56,32,51,48,48,47,52,57,57,47,51,48,48,32,51,48,49,47,53,48,48,47,51,48,49,10,102,32,51,48,49,47,53,48, +48,47,51,48,49,32,51,50,57,47,52,57,53,47,51,50,57,32,51,50,56,47,52,57,52,47,51,50,56,10,102,32,51,51,48,47,53,48,49,47,51,51,48,32,51,51,53,47,53,48,54,47,51,51,53,32,51,51,54,47,53,48,55,47,51,51,54,10,102,32,51,51,54,47,53,48,55,47,51,51,54,32,51, +51,49,47,53,48,50,47,51,51,49,32,51,51,48,47,53,48,49,47,51,51,48,10,102,32,51,51,49,47,53,48,50,47,51,51,49,32,51,51,54,47,53,48,55,47,51,51,54,32,51,51,55,47,53,48,56,47,51,51,55,10,102,32,51,51,55,47,53,48,56,47,51,51,55,32,51,51,50,47,53,48,51,47, +51,51,50,32,51,51,49,47,53,48,50,47,51,51,49,10,102,32,51,51,50,47,53,48,51,47,51,51,50,32,51,51,55,47,53,48,56,47,51,51,55,32,51,51,56,47,53,48,57,47,51,51,56,10,102,32,51,51,56,47,53,48,57,47,51,51,56,32,51,51,51,47,53,48,52,47,51,51,51,32,51,51,50, +47,53,48,51,47,51,51,50,10,102,32,51,51,51,47,53,48,52,47,51,51,51,32,51,51,56,47,53,48,57,47,51,51,56,32,51,51,57,47,53,49,48,47,51,51,57,10,102,32,51,51,57,47,53,49,48,47,51,51,57,32,51,51,52,47,53,48,53,47,51,51,52,32,51,51,51,47,53,48,52,47,51,51, +51,10,102,32,51,51,53,47,53,48,54,47,51,51,53,32,51,52,48,47,53,49,49,47,51,52,48,32,51,52,49,47,53,49,50,47,51,52,49,10,102,32,51,52,49,47,53,49,50,47,51,52,49,32,51,51,54,47,53,48,55,47,51,51,54,32,51,51,53,47,53,48,54,47,51,51,53,10,102,32,51,51,54, +47,53,48,55,47,51,51,54,32,51,52,49,47,53,49,50,47,51,52,49,32,51,52,50,47,53,49,51,47,51,52,50,10,102,32,51,52,50,47,53,49,51,47,51,52,50,32,51,51,55,47,53,48,56,47,51,51,55,32,51,51,54,47,53,48,55,47,51,51,54,10,102,32,51,51,55,47,53,48,56,47,51,51, +55,32,51,52,50,47,53,49,51,47,51,52,50,32,51,52,51,47,53,49,52,47,51,52,51,10,102,32,51,52,51,47,53,49,52,47,51,52,51,32,51,51,56,47,53,48,57,47,51,51,56,32,51,51,55,47,53,48,56,47,51,51,55,10,102,32,51,51,56,47,53,48,57,47,51,51,56,32,51,52,51,47,53, +49,52,47,51,52,51,32,51,52,52,47,53,49,53,47,51,52,52,10,102,32,51,52,52,47,53,49,53,47,51,52,52,32,51,51,57,47,53,49,48,47,51,51,57,32,51,51,56,47,53,48,57,47,51,51,56,10,102,32,51,52,48,47,53,49,49,47,51,52,48,32,51,52,53,47,53,49,54,47,51,52,53,32, +51,52,54,47,53,49,55,47,51,52,54,10,102,32,51,52,54,47,53,49,55,47,51,52,54,32,51,52,49,47,53,49,50,47,51,52,49,32,51,52,48,47,53,49,49,47,51,52,48,10,102,32,51,52,49,47,53,49,50,47,51,52,49,32,51,52,54,47,53,49,55,47,51,52,54,32,51,52,55,47,53,49,56, +47,51,52,55,10,102,32,51,52,55,47,53,49,56,47,51,52,55,32,51,52,50,47,53,49,51,47,51,52,50,32,51,52,49,47,53,49,50,47,51,52,49,10,102,32,51,52,50,47,53,49,51,47,51,52,50,32,51,52,55,47,53,49,56,47,51,52,55,32,51,52,56,47,53,49,57,47,51,52,56,10,102,32, +51,52,56,47,53,49,57,47,51,52,56,32,51,52,51,47,53,49,52,47,51,52,51,32,51,52,50,47,53,49,51,47,51,52,50,10,102,32,51,52,51,47,53,49,52,47,51,52,51,32,51,52,56,47,53,49,57,47,51,52,56,32,51,52,57,47,53,50,48,47,51,52,57,10,102,32,51,52,57,47,53,50,48, +47,51,52,57,32,51,52,52,47,53,49,53,47,51,52,52,32,51,52,51,47,53,49,52,47,51,52,51,10,102,32,51,52,53,47,53,49,54,47,51,52,53,32,51,53,48,47,53,50,49,47,51,53,48,32,51,53,49,47,53,50,50,47,51,53,49,10,102,32,51,53,49,47,53,50,50,47,51,53,49,32,51,52, +54,47,53,49,55,47,51,52,54,32,51,52,53,47,53,49,54,47,51,52,53,10,102,32,51,52,54,47,53,49,55,47,51,52,54,32,51,53,49,47,53,50,50,47,51,53,49,32,51,53,50,47,53,50,51,47,51,53,50,10,102,32,51,53,50,47,53,50,51,47,51,53,50,32,51,52,55,47,53,49,56,47,51, +52,55,32,51,52,54,47,53,49,55,47,51,52,54,10,102,32,51,52,55,47,53,49,56,47,51,52,55,32,51,53,50,47,53,50,51,47,51,53,50,32,51,53,51,47,53,50,52,47,51,53,51,10,102,32,51,53,51,47,53,50,52,47,51,53,51,32,51,52,56,47,53,49,57,47,51,52,56,32,51,52,55,47, +53,49,56,47,51,52,55,10,102,32,51,52,56,47,53,49,57,47,51,52,56,32,51,53,51,47,53,50,52,47,51,53,51,32,51,53,52,47,53,50,53,47,51,53,52,10,102,32,51,53,52,47,53,50,53,47,51,53,52,32,51,52,57,47,53,50,48,47,51,52,57,32,51,52,56,47,53,49,57,47,51,52,56, +10,102,32,51,53,48,47,53,50,54,47,51,53,48,32,51,53,53,47,53,51,49,47,51,53,53,32,51,53,54,47,53,51,50,47,51,53,54,10,102,32,51,53,54,47,53,51,50,47,51,53,54,32,51,53,49,47,53,50,55,47,51,53,49,32,51,53,48,47,53,50,54,47,51,53,48,10,102,32,51,53,49,47, +53,50,55,47,51,53,49,32,51,53,54,47,53,51,50,47,51,53,54,32,51,53,55,47,53,51,51,47,51,53,55,10,102,32,51,53,55,47,53,51,51,47,51,53,55,32,51,53,50,47,53,50,56,47,51,53,50,32,51,53,49,47,53,50,55,47,51,53,49,10,102,32,51,53,50,47,53,50,56,47,51,53,50, +32,51,53,55,47,53,51,51,47,51,53,55,32,51,53,56,47,53,51,52,47,51,53,56,10,102,32,51,53,56,47,53,51,52,47,51,53,56,32,51,53,51,47,53,50,57,47,51,53,51,32,51,53,50,47,53,50,56,47,51,53,50,10,102,32,51,53,51,47,53,50,57,47,51,53,51,32,51,53,56,47,53,51, +52,47,51,53,56,32,51,53,57,47,53,51,53,47,51,53,57,10,102,32,51,53,57,47,53,51,53,47,51,53,57,32,51,53,52,47,53,51,48,47,51,53,52,32,51,53,51,47,53,50,57,47,51,53,51,10,102,32,51,53,53,47,53,51,49,47,51,53,53,32,51,54,48,47,53,51,54,47,51,54,48,32,51, +54,49,47,53,51,55,47,51,54,49,10,102,32,51,54,49,47,53,51,55,47,51,54,49,32,51,53,54,47,53,51,50,47,51,53,54,32,51,53,53,47,53,51,49,47,51,53,53,10,102,32,51,53,54,47,53,51,50,47,51,53,54,32,51,54,49,47,53,51,55,47,51,54,49,32,51,54,50,47,53,51,56,47, +51,54,50,10,102,32,51,54,50,47,53,51,56,47,51,54,50,32,51,53,55,47,53,51,51,47,51,53,55,32,51,53,54,47,53,51,50,47,51,53,54,10,102,32,51,53,55,47,53,51,51,47,51,53,55,32,51,54,50,47,53,51,56,47,51,54,50,32,51,54,51,47,53,51,57,47,51,54,51,10,102,32,51, +54,51,47,53,51,57,47,51,54,51,32,51,53,56,47,53,51,52,47,51,53,56,32,51,53,55,47,53,51,51,47,51,53,55,10,102,32,51,53,56,47,53,51,52,47,51,53,56,32,51,54,51,47,53,51,57,47,51,54,51,32,51,54,52,47,53,52,48,47,51,54,52,10,102,32,51,54,52,47,53,52,48,47, +51,54,52,32,51,53,57,47,53,51,53,47,51,53,57,32,51,53,56,47,53,51,52,47,51,53,56,10,102,32,51,54,48,47,53,51,54,47,51,54,48,32,51,54,53,47,53,52,49,47,51,54,53,32,51,54,54,47,53,52,50,47,51,54,54,10,102,32,51,54,54,47,53,52,50,47,51,54,54,32,51,54,49, +47,53,51,55,47,51,54,49,32,51,54,48,47,53,51,54,47,51,54,48,10,102,32,51,54,49,47,53,51,55,47,51,54,49,32,51,54,54,47,53,52,50,47,51,54,54,32,51,54,55,47,53,52,51,47,51,54,55,10,102,32,51,54,55,47,53,52,51,47,51,54,55,32,51,54,50,47,53,51,56,47,51,54, +50,32,51,54,49,47,53,51,55,47,51,54,49,10,102,32,51,54,50,47,53,51,56,47,51,54,50,32,51,54,55,47,53,52,51,47,51,54,55,32,51,54,56,47,53,52,52,47,51,54,56,10,102,32,51,54,56,47,53,52,52,47,51,54,56,32,51,54,51,47,53,51,57,47,51,54,51,32,51,54,50,47,53, +51,56,47,51,54,50,10,102,32,51,54,51,47,53,51,57,47,51,54,51,32,51,54,56,47,53,52,52,47,51,54,56,32,51,54,57,47,53,52,53,47,51,54,57,10,102,32,51,54,57,47,53,52,53,47,51,54,57,32,51,54,52,47,53,52,48,47,51,54,52,32,51,54,51,47,53,51,57,47,51,54,51,10, +102,32,51,54,53,47,53,52,49,47,51,54,53,32,51,51,48,47,53,52,54,47,51,51,48,32,51,51,49,47,53,52,55,47,51,51,49,10,102,32,51,51,49,47,53,52,55,47,51,51,49,32,51,54,54,47,53,52,50,47,51,54,54,32,51,54,53,47,53,52,49,47,51,54,53,10,102,32,51,54,54,47,53, +52,50,47,51,54,54,32,51,51,49,47,53,52,55,47,51,51,49,32,51,51,50,47,53,52,56,47,51,51,50,10,102,32,51,51,50,47,53,52,56,47,51,51,50,32,51,54,55,47,53,52,51,47,51,54,55,32,51,54,54,47,53,52,50,47,51,54,54,10,102,32,51,54,55,47,53,52,51,47,51,54,55,32, +51,51,50,47,53,52,56,47,51,51,50,32,51,51,51,47,53,52,57,47,51,51,51,10,102,32,51,51,51,47,53,52,57,47,51,51,51,32,51,54,56,47,53,52,52,47,51,54,56,32,51,54,55,47,53,52,51,47,51,54,55,10,102,32,51,54,56,47,53,52,52,47,51,54,56,32,51,51,51,47,53,52,57, +47,51,51,51,32,51,51,52,47,53,53,48,47,51,51,52,10,102,32,51,51,52,47,53,53,48,47,51,51,52,32,51,54,57,47,53,52,53,47,51,54,57,32,51,54,56,47,53,52,52,47,51,54,56,10,102,32,51,51,52,47,53,53,49,47,51,51,52,32,51,51,57,47,53,53,54,47,51,51,57,32,51,55, +52,47,53,53,55,47,51,55,52,10,102,32,51,55,52,47,53,53,55,47,51,55,52,32,51,55,48,47,53,53,50,47,51,55,48,32,51,51,52,47,53,53,49,47,51,51,52,10,102,32,51,55,48,47,53,53,50,47,51,55,48,32,51,55,52,47,53,53,55,47,51,55,52,32,51,55,53,47,53,53,56,47,51, +55,53,10,102,32,51,55,53,47,53,53,56,47,51,55,53,32,51,55,49,47,53,53,51,47,51,55,49,32,51,55,48,47,53,53,50,47,51,55,48,10,102,32,51,55,49,47,53,53,51,47,51,55,49,32,51,55,53,47,53,53,56,47,51,55,53,32,51,55,54,47,53,53,57,47,51,55,54,10,102,32,51,55, +54,47,53,53,57,47,51,55,54,32,51,55,50,47,53,53,52,47,51,55,50,32,51,55,49,47,53,53,51,47,51,55,49,10,102,32,51,55,50,47,53,53,52,47,51,55,50,32,51,55,54,47,53,53,57,47,51,55,54,32,51,55,55,47,53,54,48,47,51,55,55,10,102,32,51,55,55,47,53,54,48,47,51, +55,55,32,51,55,51,47,53,53,53,47,51,55,51,32,51,55,50,47,53,53,52,47,51,55,50,10,102,32,51,51,57,47,53,53,54,47,51,51,57,32,51,52,52,47,53,54,49,47,51,52,52,32,51,55,56,47,53,54,50,47,51,55,56,10,102,32,51,55,56,47,53,54,50,47,51,55,56,32,51,55,52,47, +53,53,55,47,51,55,52,32,51,51,57,47,53,53,54,47,51,51,57,10,102,32,51,55,52,47,53,53,55,47,51,55,52,32,51,55,56,47,53,54,50,47,51,55,56,32,51,55,57,47,53,54,51,47,51,55,57,10,102,32,51,55,57,47,53,54,51,47,51,55,57,32,51,55,53,47,53,53,56,47,51,55,53, +32,51,55,52,47,53,53,55,47,51,55,52,10,102,32,51,55,53,47,53,53,56,47,51,55,53,32,51,55,57,47,53,54,51,47,51,55,57,32,51,56,48,47,53,54,52,47,51,56,48,10,102,32,51,56,48,47,53,54,52,47,51,56,48,32,51,55,54,47,53,53,57,47,51,55,54,32,51,55,53,47,53,53, +56,47,51,55,53,10,102,32,51,55,54,47,53,53,57,47,51,55,54,32,51,56,48,47,53,54,52,47,51,56,48,32,51,56,49,47,53,54,53,47,51,56,49,10,102,32,51,56,49,47,53,54,53,47,51,56,49,32,51,55,55,47,53,54,48,47,51,55,55,32,51,55,54,47,53,53,57,47,51,55,54,10,102, +32,51,52,52,47,53,54,49,47,51,52,52,32,51,52,57,47,53,54,54,47,51,52,57,32,51,56,50,47,53,54,55,47,51,56,50,10,102,32,51,56,50,47,53,54,55,47,51,56,50,32,51,55,56,47,53,54,50,47,51,55,56,32,51,52,52,47,53,54,49,47,51,52,52,10,102,32,51,55,56,47,53,54, +50,47,51,55,56,32,51,56,50,47,53,54,55,47,51,56,50,32,51,56,51,47,53,54,56,47,51,56,51,10,102,32,51,56,51,47,53,54,56,47,51,56,51,32,51,55,57,47,53,54,51,47,51,55,57,32,51,55,56,47,53,54,50,47,51,55,56,10,102,32,51,55,57,47,53,54,51,47,51,55,57,32,51, +56,51,47,53,54,56,47,51,56,51,32,51,56,52,47,53,54,57,47,51,56,52,10,102,32,51,56,52,47,53,54,57,47,51,56,52,32,51,56,48,47,53,54,52,47,51,56,48,32,51,55,57,47,53,54,51,47,51,55,57,10,102,32,51,56,48,47,53,54,52,47,51,56,48,32,51,56,52,47,53,54,57,47, +51,56,52,32,51,56,53,47,53,55,48,47,51,56,53,10,102,32,51,56,53,47,53,55,48,47,51,56,53,32,51,56,49,47,53,54,53,47,51,56,49,32,51,56,48,47,53,54,52,47,51,56,48,10,102,32,51,52,57,47,53,54,54,47,51,52,57,32,51,53,52,47,53,55,49,47,51,53,52,32,51,56,54, +47,53,55,50,47,51,56,54,10,102,32,51,56,54,47,53,55,50,47,51,56,54,32,51,56,50,47,53,54,55,47,51,56,50,32,51,52,57,47,53,54,54,47,51,52,57,10,102,32,51,56,50,47,53,54,55,47,51,56,50,32,51,56,54,47,53,55,50,47,51,56,54,32,51,56,55,47,53,55,51,47,51,56, +55,10,102,32,51,56,55,47,53,55,51,47,51,56,55,32,51,56,51,47,53,54,56,47,51,56,51,32,51,56,50,47,53,54,55,47,51,56,50,10,102,32,51,56,51,47,53,54,56,47,51,56,51,32,51,56,55,47,53,55,51,47,51,56,55,32,51,56,56,47,53,55,52,47,51,56,56,10,102,32,51,56,56, +47,53,55,52,47,51,56,56,32,51,56,52,47,53,54,57,47,51,56,52,32,51,56,51,47,53,54,56,47,51,56,51,10,102,32,51,56,52,47,53,54,57,47,51,56,52,32,51,56,56,47,53,55,52,47,51,56,56,32,51,56,57,47,53,55,53,47,51,56,57,10,102,32,51,56,57,47,53,55,53,47,51,56, +57,32,51,56,53,47,53,55,48,47,51,56,53,32,51,56,52,47,53,54,57,47,51,56,52,10,102,32,51,53,52,47,53,55,54,47,51,53,52,32,51,53,57,47,53,56,49,47,51,53,57,32,51,57,48,47,53,56,50,47,51,57,48,10,102,32,51,57,48,47,53,56,50,47,51,57,48,32,51,56,54,47,53, +55,55,47,51,56,54,32,51,53,52,47,53,55,54,47,51,53,52,10,102,32,51,56,54,47,53,55,55,47,51,56,54,32,51,57,48,47,53,56,50,47,51,57,48,32,51,57,49,47,53,56,51,47,51,57,49,10,102,32,51,57,49,47,53,56,51,47,51,57,49,32,51,56,55,47,53,55,56,47,51,56,55,32, +51,56,54,47,53,55,55,47,51,56,54,10,102,32,51,56,55,47,53,55,56,47,51,56,55,32,51,57,49,47,53,56,51,47,51,57,49,32,51,57,50,47,53,56,52,47,51,57,50,10,102,32,51,57,50,47,53,56,52,47,51,57,50,32,51,56,56,47,53,55,57,47,51,56,56,32,51,56,55,47,53,55,56, +47,51,56,55,10,102,32,51,56,56,47,53,55,57,47,51,56,56,32,51,57,50,47,53,56,52,47,51,57,50,32,51,57,51,47,53,56,53,47,51,57,51,10,102,32,51,57,51,47,53,56,53,47,51,57,51,32,51,56,57,47,53,56,48,47,51,56,57,32,51,56,56,47,53,55,57,47,51,56,56,10,102,32, +51,53,57,47,53,56,49,47,51,53,57,32,51,54,52,47,53,56,54,47,51,54,52,32,51,57,52,47,53,56,55,47,51,57,52,10,102,32,51,57,52,47,53,56,55,47,51,57,52,32,51,57,48,47,53,56,50,47,51,57,48,32,51,53,57,47,53,56,49,47,51,53,57,10,102,32,51,57,48,47,53,56,50, +47,51,57,48,32,51,57,52,47,53,56,55,47,51,57,52,32,51,57,53,47,53,56,56,47,51,57,53,10,102,32,51,57,53,47,53,56,56,47,51,57,53,32,51,57,49,47,53,56,51,47,51,57,49,32,51,57,48,47,53,56,50,47,51,57,48,10,102,32,51,57,49,47,53,56,51,47,51,57,49,32,51,57, +53,47,53,56,56,47,51,57,53,32,51,57,54,47,53,56,57,47,51,57,54,10,102,32,51,57,54,47,53,56,57,47,51,57,54,32,51,57,50,47,53,56,52,47,51,57,50,32,51,57,49,47,53,56,51,47,51,57,49,10,102,32,51,57,50,47,53,56,52,47,51,57,50,32,51,57,54,47,53,56,57,47,51, +57,54,32,51,57,55,47,53,57,48,47,51,57,55,10,102,32,51,57,55,47,53,57,48,47,51,57,55,32,51,57,51,47,53,56,53,47,51,57,51,32,51,57,50,47,53,56,52,47,51,57,50,10,102,32,51,54,52,47,53,56,54,47,51,54,52,32,51,54,57,47,53,57,49,47,51,54,57,32,51,57,56,47, +53,57,50,47,51,57,56,10,102,32,51,57,56,47,53,57,50,47,51,57,56,32,51,57,52,47,53,56,55,47,51,57,52,32,51,54,52,47,53,56,54,47,51,54,52,10,102,32,51,57,52,47,53,56,55,47,51,57,52,32,51,57,56,47,53,57,50,47,51,57,56,32,51,57,57,47,53,57,51,47,51,57,57, +10,102,32,51,57,57,47,53,57,51,47,51,57,57,32,51,57,53,47,53,56,56,47,51,57,53,32,51,57,52,47,53,56,55,47,51,57,52,10,102,32,51,57,53,47,53,56,56,47,51,57,53,32,51,57,57,47,53,57,51,47,51,57,57,32,52,48,48,47,53,57,52,47,52,48,48,10,102,32,52,48,48,47, +53,57,52,47,52,48,48,32,51,57,54,47,53,56,57,47,51,57,54,32,51,57,53,47,53,56,56,47,51,57,53,10,102,32,51,57,54,47,53,56,57,47,51,57,54,32,52,48,48,47,53,57,52,47,52,48,48,32,52,48,49,47,53,57,53,47,52,48,49,10,102,32,52,48,49,47,53,57,53,47,52,48,49, +32,51,57,55,47,53,57,48,47,51,57,55,32,51,57,54,47,53,56,57,47,51,57,54,10,102,32,51,54,57,47,53,57,49,47,51,54,57,32,51,51,52,47,53,57,54,47,51,51,52,32,51,55,48,47,53,57,55,47,51,55,48,10,102,32,51,55,48,47,53,57,55,47,51,55,48,32,51,57,56,47,53,57, +50,47,51,57,56,32,51,54,57,47,53,57,49,47,51,54,57,10,102,32,51,57,56,47,53,57,50,47,51,57,56,32,51,55,48,47,53,57,55,47,51,55,48,32,51,55,49,47,53,57,56,47,51,55,49,10,102,32,51,55,49,47,53,57,56,47,51,55,49,32,51,57,57,47,53,57,51,47,51,57,57,32,51, +57,56,47,53,57,50,47,51,57,56,10,102,32,51,57,57,47,53,57,51,47,51,57,57,32,51,55,49,47,53,57,56,47,51,55,49,32,51,55,50,47,53,57,57,47,51,55,50,10,102,32,51,55,50,47,53,57,57,47,51,55,50,32,52,48,48,47,53,57,52,47,52,48,48,32,51,57,57,47,53,57,51,47, +51,57,57,10,102,32,52,48,48,47,53,57,52,47,52,48,48,32,51,55,50,47,53,57,57,47,51,55,50,32,51,55,51,47,54,48,48,47,51,55,51,10,102,32,51,55,51,47,54,48,48,47,51,55,51,32,52,48,49,47,53,57,53,47,52,48,49,32,52,48,48,47,53,57,52,47,52,48,48,10,102,32,52, +48,55,47,54,48,55,47,52,48,55,32,52,48,51,47,54,48,50,47,52,48,51,32,52,48,50,47,54,48,49,47,52,48,50,10,102,32,52,48,51,47,54,48,50,47,52,48,51,32,52,48,55,47,54,48,55,47,52,48,55,32,52,48,56,47,54,48,56,47,52,48,56,10,102,32,52,48,56,47,54,48,56,47, +52,48,56,32,52,48,52,47,54,48,51,47,52,48,52,32,52,48,51,47,54,48,50,47,52,48,51,10,102,32,52,48,52,47,54,48,51,47,52,48,52,32,52,48,56,47,54,48,56,47,52,48,56,32,52,48,57,47,54,48,57,47,52,48,57,10,102,32,52,48,57,47,54,48,57,47,52,48,57,32,52,48,53, +47,54,48,52,47,52,48,53,32,52,48,52,47,54,48,51,47,52,48,52,10,102,32,52,48,53,47,54,48,52,47,52,48,53,32,52,48,57,47,54,48,57,47,52,48,57,32,52,49,48,47,54,49,48,47,52,49,48,10,102,32,52,49,48,47,54,49,48,47,52,49,48,32,52,48,54,47,54,48,53,47,52,48, +54,32,52,48,53,47,54,48,52,47,52,48,53,10,102,32,52,49,49,47,54,49,50,47,52,49,49,32,52,48,55,47,54,48,55,47,52,48,55,32,52,48,50,47,54,48,54,47,52,48,50,10,102,32,52,48,55,47,54,48,55,47,52,48,55,32,52,49,49,47,54,49,50,47,52,49,49,32,52,49,50,47,54, +49,51,47,52,49,50,10,102,32,52,49,50,47,54,49,51,47,52,49,50,32,52,48,56,47,54,48,56,47,52,48,56,32,52,48,55,47,54,48,55,47,52,48,55,10,102,32,52,48,56,47,54,48,56,47,52,48,56,32,52,49,50,47,54,49,51,47,52,49,50,32,52,49,51,47,54,49,52,47,52,49,51,10, +102,32,52,49,51,47,54,49,52,47,52,49,51,32,52,48,57,47,54,48,57,47,52,48,57,32,52,48,56,47,54,48,56,47,52,48,56,10,102,32,52,48,57,47,54,48,57,47,52,48,57,32,52,49,51,47,54,49,52,47,52,49,51,32,52,49,52,47,54,49,53,47,52,49,52,10,102,32,52,49,52,47,54, +49,53,47,52,49,52,32,52,49,48,47,54,49,48,47,52,49,48,32,52,48,57,47,54,48,57,47,52,48,57,10,102,32,52,49,53,47,54,49,55,47,52,49,53,32,52,49,49,47,54,49,50,47,52,49,49,32,52,48,50,47,54,49,49,47,52,48,50,10,102,32,52,49,49,47,54,49,50,47,52,49,49,32, +52,49,53,47,54,49,55,47,52,49,53,32,52,49,54,47,54,49,56,47,52,49,54,10,102,32,52,49,54,47,54,49,56,47,52,49,54,32,52,49,50,47,54,49,51,47,52,49,50,32,52,49,49,47,54,49,50,47,52,49,49,10,102,32,52,49,50,47,54,49,51,47,52,49,50,32,52,49,54,47,54,49,56, +47,52,49,54,32,52,49,55,47,54,49,57,47,52,49,55,10,102,32,52,49,55,47,54,49,57,47,52,49,55,32,52,49,51,47,54,49,52,47,52,49,51,32,52,49,50,47,54,49,51,47,52,49,50,10,102,32,52,49,51,47,54,49,52,47,52,49,51,32,52,49,55,47,54,49,57,47,52,49,55,32,52,49, +56,47,54,50,48,47,52,49,56,10,102,32,52,49,56,47,54,50,48,47,52,49,56,32,52,49,52,47,54,49,53,47,52,49,52,32,52,49,51,47,54,49,52,47,52,49,51,10,102,32,52,49,57,47,54,50,50,47,52,49,57,32,52,49,53,47,54,49,55,47,52,49,53,32,52,48,50,47,54,49,54,47,52, +48,50,10,102,32,52,49,53,47,54,49,55,47,52,49,53,32,52,49,57,47,54,50,50,47,52,49,57,32,52,50,48,47,54,50,51,47,52,50,48,10,102,32,52,50,48,47,54,50,51,47,52,50,48,32,52,49,54,47,54,49,56,47,52,49,54,32,52,49,53,47,54,49,55,47,52,49,53,10,102,32,52,49, +54,47,54,49,56,47,52,49,54,32,52,50,48,47,54,50,51,47,52,50,48,32,52,50,49,47,54,50,52,47,52,50,49,10,102,32,52,50,49,47,54,50,52,47,52,50,49,32,52,49,55,47,54,49,57,47,52,49,55,32,52,49,54,47,54,49,56,47,52,49,54,10,102,32,52,49,55,47,54,49,57,47,52, +49,55,32,52,50,49,47,54,50,52,47,52,50,49,32,52,50,50,47,54,50,53,47,52,50,50,10,102,32,52,50,50,47,54,50,53,47,52,50,50,32,52,49,56,47,54,50,48,47,52,49,56,32,52,49,55,47,54,49,57,47,52,49,55,10,102,32,52,50,51,47,54,51,50,47,52,50,51,32,52,49,57,47, +54,50,55,47,52,49,57,32,52,48,50,47,54,50,54,47,52,48,50,10,102,32,52,49,57,47,54,50,55,47,52,49,57,32,52,50,51,47,54,51,50,47,52,50,51,32,52,50,52,47,54,51,51,47,52,50,52,10,102,32,52,50,52,47,54,51,51,47,52,50,52,32,52,50,48,47,54,50,56,47,52,50,48, +32,52,49,57,47,54,50,55,47,52,49,57,10,102,32,52,50,48,47,54,50,56,47,52,50,48,32,52,50,52,47,54,51,51,47,52,50,52,32,52,50,53,47,54,51,52,47,52,50,53,10,102,32,52,50,53,47,54,51,52,47,52,50,53,32,52,50,49,47,54,50,57,47,52,50,49,32,52,50,48,47,54,50, +56,47,52,50,48,10,102,32,52,50,49,47,54,50,57,47,52,50,49,32,52,50,53,47,54,51,52,47,52,50,53,32,52,50,54,47,54,51,53,47,52,50,54,10,102,32,52,50,54,47,54,51,53,47,52,50,54,32,52,50,50,47,54,51,48,47,52,50,50,32,52,50,49,47,54,50,57,47,52,50,49,10,102, +32,52,50,55,47,54,51,55,47,52,50,55,32,52,50,51,47,54,51,50,47,52,50,51,32,52,48,50,47,54,51,49,47,52,48,50,10,102,32,52,50,51,47,54,51,50,47,52,50,51,32,52,50,55,47,54,51,55,47,52,50,55,32,52,50,56,47,54,51,56,47,52,50,56,10,102,32,52,50,56,47,54,51, +56,47,52,50,56,32,52,50,52,47,54,51,51,47,52,50,52,32,52,50,51,47,54,51,50,47,52,50,51,10,102,32,52,50,52,47,54,51,51,47,52,50,52,32,52,50,56,47,54,51,56,47,52,50,56,32,52,50,57,47,54,51,57,47,52,50,57,10,102,32,52,50,57,47,54,51,57,47,52,50,57,32,52, +50,53,47,54,51,52,47,52,50,53,32,52,50,52,47,54,51,51,47,52,50,52,10,102,32,52,50,53,47,54,51,52,47,52,50,53,32,52,50,57,47,54,51,57,47,52,50,57,32,52,51,48,47,54,52,48,47,52,51,48,10,102,32,52,51,48,47,54,52,48,47,52,51,48,32,52,50,54,47,54,51,53,47, +52,50,54,32,52,50,53,47,54,51,52,47,52,50,53,10,102,32,52,51,49,47,54,52,50,47,52,51,49,32,52,50,55,47,54,51,55,47,52,50,55,32,52,48,50,47,54,51,54,47,52,48,50,10,102,32,52,50,55,47,54,51,55,47,52,50,55,32,52,51,49,47,54,52,50,47,52,51,49,32,52,51,50, +47,54,52,51,47,52,51,50,10,102,32,52,51,50,47,54,52,51,47,52,51,50,32,52,50,56,47,54,51,56,47,52,50,56,32,52,50,55,47,54,51,55,47,52,50,55,10,102,32,52,50,56,47,54,51,56,47,52,50,56,32,52,51,50,47,54,52,51,47,52,51,50,32,52,51,51,47,54,52,52,47,52,51, +51,10,102,32,52,51,51,47,54,52,52,47,52,51,51,32,52,50,57,47,54,51,57,47,52,50,57,32,52,50,56,47,54,51,56,47,52,50,56,10,102,32,52,50,57,47,54,51,57,47,52,50,57,32,52,51,51,47,54,52,52,47,52,51,51,32,52,51,52,47,54,52,53,47,52,51,52,10,102,32,52,51,52, +47,54,52,53,47,52,51,52,32,52,51,48,47,54,52,48,47,52,51,48,32,52,50,57,47,54,51,57,47,52,50,57,10,102,32,52,51,53,47,54,52,55,47,52,51,53,32,52,51,49,47,54,52,50,47,52,51,49,32,52,48,50,47,54,52,49,47,52,48,50,10,102,32,52,51,49,47,54,52,50,47,52,51, +49,32,52,51,53,47,54,52,55,47,52,51,53,32,52,51,54,47,54,52,56,47,52,51,54,10,102,32,52,51,54,47,54,52,56,47,52,51,54,32,52,51,50,47,54,52,51,47,52,51,50,32,52,51,49,47,54,52,50,47,52,51,49,10,102,32,52,51,50,47,54,52,51,47,52,51,50,32,52,51,54,47,54, +52,56,47,52,51,54,32,52,51,55,47,54,52,57,47,52,51,55,10,102,32,52,51,55,47,54,52,57,47,52,51,55,32,52,51,51,47,54,52,52,47,52,51,51,32,52,51,50,47,54,52,51,47,52,51,50,10,102,32,52,51,51,47,54,52,52,47,52,51,51,32,52,51,55,47,54,52,57,47,52,51,55,32, +52,51,56,47,54,53,48,47,52,51,56,10,102,32,52,51,56,47,54,53,48,47,52,51,56,32,52,51,52,47,54,52,53,47,52,51,52,32,52,51,51,47,54,52,52,47,52,51,51,10,102,32,52,51,57,47,54,53,55,47,52,51,57,32,52,51,53,47,54,53,50,47,52,51,53,32,52,48,50,47,54,53,49, +47,52,48,50,10,102,32,52,51,53,47,54,53,50,47,52,51,53,32,52,51,57,47,54,53,55,47,52,51,57,32,52,52,48,47,54,53,56,47,52,52,48,10,102,32,52,52,48,47,54,53,56,47,52,52,48,32,52,51,54,47,54,53,51,47,52,51,54,32,52,51,53,47,54,53,50,47,52,51,53,10,102,32, +52,51,54,47,54,53,51,47,52,51,54,32,52,52,48,47,54,53,56,47,52,52,48,32,52,52,49,47,54,53,57,47,52,52,49,10,102,32,52,52,49,47,54,53,57,47,52,52,49,32,52,51,55,47,54,53,52,47,52,51,55,32,52,51,54,47,54,53,51,47,52,51,54,10,102,32,52,51,55,47,54,53,52, +47,52,51,55,32,52,52,49,47,54,53,57,47,52,52,49,32,52,52,50,47,54,54,48,47,52,52,50,10,102,32,52,52,50,47,54,54,48,47,52,52,50,32,52,51,56,47,54,53,53,47,52,51,56,32,52,51,55,47,54,53,52,47,52,51,55,10,102,32,52,52,51,47,54,54,50,47,52,52,51,32,52,51, +57,47,54,53,55,47,52,51,57,32,52,48,50,47,54,53,54,47,52,48,50,10,102,32,52,51,57,47,54,53,55,47,52,51,57,32,52,52,51,47,54,54,50,47,52,52,51,32,52,52,52,47,54,54,51,47,52,52,52,10,102,32,52,52,52,47,54,54,51,47,52,52,52,32,52,52,48,47,54,53,56,47,52, +52,48,32,52,51,57,47,54,53,55,47,52,51,57,10,102,32,52,52,48,47,54,53,56,47,52,52,48,32,52,52,52,47,54,54,51,47,52,52,52,32,52,52,53,47,54,54,52,47,52,52,53,10,102,32,52,52,53,47,54,54,52,47,52,52,53,32,52,52,49,47,54,53,57,47,52,52,49,32,52,52,48,47, +54,53,56,47,52,52,48,10,102,32,52,52,49,47,54,53,57,47,52,52,49,32,52,52,53,47,54,54,52,47,52,52,53,32,52,52,54,47,54,54,53,47,52,52,54,10,102,32,52,52,54,47,54,54,53,47,52,52,54,32,52,52,50,47,54,54,48,47,52,52,50,32,52,52,49,47,54,53,57,47,52,52,49, +10,102,32,52,52,55,47,54,54,55,47,52,52,55,32,52,52,51,47,54,54,50,47,52,52,51,32,52,48,50,47,54,54,49,47,52,48,50,10,102,32,52,52,51,47,54,54,50,47,52,52,51,32,52,52,55,47,54,54,55,47,52,52,55,32,52,52,56,47,54,54,56,47,52,52,56,10,102,32,52,52,56,47, +54,54,56,47,52,52,56,32,52,52,52,47,54,54,51,47,52,52,52,32,52,52,51,47,54,54,50,47,52,52,51,10,102,32,52,52,52,47,54,54,51,47,52,52,52,32,52,52,56,47,54,54,56,47,52,52,56,32,52,52,57,47,54,54,57,47,52,52,57,10,102,32,52,52,57,47,54,54,57,47,52,52,57, +32,52,52,53,47,54,54,52,47,52,52,53,32,52,52,52,47,54,54,51,47,52,52,52,10,102,32,52,52,53,47,54,54,52,47,52,52,53,32,52,52,57,47,54,54,57,47,52,52,57,32,52,53,48,47,54,55,48,47,52,53,48,10,102,32,52,53,48,47,54,55,48,47,52,53,48,32,52,52,54,47,54,54, +53,47,52,52,54,32,52,52,53,47,54,54,52,47,52,52,53,10,102,32,52,53,49,47,54,55,50,47,52,53,49,32,52,52,55,47,54,54,55,47,52,52,55,32,52,48,50,47,54,54,54,47,52,48,50,10,102,32,52,52,55,47,54,54,55,47,52,52,55,32,52,53,49,47,54,55,50,47,52,53,49,32,52, +53,50,47,54,55,51,47,52,53,50,10,102,32,52,53,50,47,54,55,51,47,52,53,50,32,52,52,56,47,54,54,56,47,52,52,56,32,52,52,55,47,54,54,55,47,52,52,55,10,102,32,52,52,56,47,54,54,56,47,52,52,56,32,52,53,50,47,54,55,51,47,52,53,50,32,52,53,51,47,54,55,52,47, +52,53,51,10,102,32,52,53,51,47,54,55,52,47,52,53,51,32,52,52,57,47,54,54,57,47,52,52,57,32,52,52,56,47,54,54,56,47,52,52,56,10,102,32,52,52,57,47,54,54,57,47,52,52,57,32,52,53,51,47,54,55,52,47,52,53,51,32,52,53,52,47,54,55,53,47,52,53,52,10,102,32,52, +53,52,47,54,55,53,47,52,53,52,32,52,53,48,47,54,55,48,47,52,53,48,32,52,52,57,47,54,54,57,47,52,52,57,10,102,32,52,53,53,47,54,56,50,47,52,53,53,32,52,53,49,47,54,55,55,47,52,53,49,32,52,48,50,47,54,55,54,47,52,48,50,10,102,32,52,53,49,47,54,55,55,47, +52,53,49,32,52,53,53,47,54,56,50,47,52,53,53,32,52,53,54,47,54,56,51,47,52,53,54,10,102,32,52,53,54,47,54,56,51,47,52,53,54,32,52,53,50,47,54,55,56,47,52,53,50,32,52,53,49,47,54,55,55,47,52,53,49,10,102,32,52,53,50,47,54,55,56,47,52,53,50,32,52,53,54, +47,54,56,51,47,52,53,54,32,52,53,55,47,54,56,52,47,52,53,55,10,102,32,52,53,55,47,54,56,52,47,52,53,55,32,52,53,51,47,54,55,57,47,52,53,51,32,52,53,50,47,54,55,56,47,52,53,50,10,102,32,52,53,51,47,54,55,57,47,52,53,51,32,52,53,55,47,54,56,52,47,52,53, +55,32,52,53,56,47,54,56,53,47,52,53,56,10,102,32,52,53,56,47,54,56,53,47,52,53,56,32,52,53,52,47,54,56,48,47,52,53,52,32,52,53,51,47,54,55,57,47,52,53,51,10,102,32,52,53,57,47,54,56,55,47,52,53,57,32,52,53,53,47,54,56,50,47,52,53,53,32,52,48,50,47,54, +56,49,47,52,48,50,10,102,32,52,53,53,47,54,56,50,47,52,53,53,32,52,53,57,47,54,56,55,47,52,53,57,32,52,54,48,47,54,56,56,47,52,54,48,10,102,32,52,54,48,47,54,56,56,47,52,54,48,32,52,53,54,47,54,56,51,47,52,53,54,32,52,53,53,47,54,56,50,47,52,53,53,10, +102,32,52,53,54,47,54,56,51,47,52,53,54,32,52,54,48,47,54,56,56,47,52,54,48,32,52,54,49,47,54,56,57,47,52,54,49,10,102,32,52,54,49,47,54,56,57,47,52,54,49,32,52,53,55,47,54,56,52,47,52,53,55,32,52,53,54,47,54,56,51,47,52,53,54,10,102,32,52,53,55,47,54, +56,52,47,52,53,55,32,52,54,49,47,54,56,57,47,52,54,49,32,52,54,50,47,54,57,48,47,52,54,50,10,102,32,52,54,50,47,54,57,48,47,52,54,50,32,52,53,56,47,54,56,53,47,52,53,56,32,52,53,55,47,54,56,52,47,52,53,55,10,102,32,52,54,51,47,54,57,50,47,52,54,51,32, +52,53,57,47,54,56,55,47,52,53,57,32,52,48,50,47,54,56,54,47,52,48,50,10,102,32,52,53,57,47,54,56,55,47,52,53,57,32,52,54,51,47,54,57,50,47,52,54,51,32,52,54,52,47,54,57,51,47,52,54,52,10,102,32,52,54,52,47,54,57,51,47,52,54,52,32,52,54,48,47,54,56,56, +47,52,54,48,32,52,53,57,47,54,56,55,47,52,53,57,10,102,32,52,54,48,47,54,56,56,47,52,54,48,32,52,54,52,47,54,57,51,47,52,54,52,32,52,54,53,47,54,57,52,47,52,54,53,10,102,32,52,54,53,47,54,57,52,47,52,54,53,32,52,54,49,47,54,56,57,47,52,54,49,32,52,54, +48,47,54,56,56,47,52,54,48,10,102,32,52,54,49,47,54,56,57,47,52,54,49,32,52,54,53,47,54,57,52,47,52,54,53,32,52,54,54,47,54,57,53,47,52,54,54,10,102,32,52,54,54,47,54,57,53,47,52,54,54,32,52,54,50,47,54,57,48,47,52,54,50,32,52,54,49,47,54,56,57,47,52, +54,49,10,102,32,52,48,51,47,54,57,55,47,52,48,51,32,52,54,51,47,54,57,50,47,52,54,51,32,52,48,50,47,54,57,49,47,52,48,50,10,102,32,52,54,51,47,54,57,50,47,52,54,51,32,52,48,51,47,54,57,55,47,52,48,51,32,52,48,52,47,54,57,56,47,52,48,52,10,102,32,52,48, +52,47,54,57,56,47,52,48,52,32,52,54,52,47,54,57,51,47,52,54,52,32,52,54,51,47,54,57,50,47,52,54,51,10,102,32,52,54,52,47,54,57,51,47,52,54,52,32,52,48,52,47,54,57,56,47,52,48,52,32,52,48,53,47,54,57,57,47,52,48,53,10,102,32,52,48,53,47,54,57,57,47,52, +48,53,32,52,54,53,47,54,57,52,47,52,54,53,32,52,54,52,47,54,57,51,47,52,54,52,10,102,32,52,54,53,47,54,57,52,47,52,54,53,32,52,48,53,47,54,57,57,47,52,48,53,32,52,48,54,47,55,48,48,47,52,48,54,10,102,32,52,48,54,47,55,48,48,47,52,48,54,32,52,54,54,47, +54,57,53,47,52,54,54,32,52,54,53,47,54,57,52,47,52,54,53,10,102,32,52,48,54,47,55,48,49,47,52,48,54,32,52,49,48,47,55,48,54,47,52,49,48,32,52,55,49,47,55,48,55,47,52,55,49,10,102,32,52,55,49,47,55,48,55,47,52,55,49,32,52,54,55,47,55,48,50,47,52,54,55, +32,52,48,54,47,55,48,49,47,52,48,54,10,102,32,52,54,55,47,55,48,50,47,52,54,55,32,52,55,49,47,55,48,55,47,52,55,49,32,52,55,50,47,55,48,56,47,52,55,50,10,102,32,52,55,50,47,55,48,56,47,52,55,50,32,52,54,56,47,55,48,51,47,52,54,56,32,52,54,55,47,55,48, +50,47,52,54,55,10,102,32,52,54,56,47,55,48,51,47,52,54,56,32,52,55,50,47,55,48,56,47,52,55,50,32,52,55,51,47,55,48,57,47,52,55,51,10,102,32,52,55,51,47,55,48,57,47,52,55,51,32,52,54,57,47,55,48,52,47,52,54,57,32,52,54,56,47,55,48,51,47,52,54,56,10,102, +32,52,54,57,47,55,48,52,47,52,54,57,32,52,55,51,47,55,48,57,47,52,55,51,32,52,55,52,47,55,49,48,47,52,55,52,10,102,32,52,55,52,47,55,49,48,47,52,55,52,32,52,55,48,47,55,48,53,47,52,55,48,32,52,54,57,47,55,48,52,47,52,54,57,10,102,32,52,49,48,47,55,48, +54,47,52,49,48,32,52,49,52,47,55,49,49,47,52,49,52,32,52,55,53,47,55,49,50,47,52,55,53,10,102,32,52,55,53,47,55,49,50,47,52,55,53,32,52,55,49,47,55,48,55,47,52,55,49,32,52,49,48,47,55,48,54,47,52,49,48,10,102,32,52,55,49,47,55,48,55,47,52,55,49,32,52, +55,53,47,55,49,50,47,52,55,53,32,52,55,54,47,55,49,51,47,52,55,54,10,102,32,52,55,54,47,55,49,51,47,52,55,54,32,52,55,50,47,55,48,56,47,52,55,50,32,52,55,49,47,55,48,55,47,52,55,49,10,102,32,52,55,50,47,55,48,56,47,52,55,50,32,52,55,54,47,55,49,51,47, +52,55,54,32,52,55,55,47,55,49,52,47,52,55,55,10,102,32,52,55,55,47,55,49,52,47,52,55,55,32,52,55,51,47,55,48,57,47,52,55,51,32,52,55,50,47,55,48,56,47,52,55,50,10,102,32,52,55,51,47,55,48,57,47,52,55,51,32,52,55,55,47,55,49,52,47,52,55,55,32,52,55,56, +47,55,49,53,47,52,55,56,10,102,32,52,55,56,47,55,49,53,47,52,55,56,32,52,55,52,47,55,49,48,47,52,55,52,32,52,55,51,47,55,48,57,47,52,55,51,10,102,32,52,49,52,47,55,49,49,47,52,49,52,32,52,49,56,47,55,49,54,47,52,49,56,32,52,55,57,47,55,49,55,47,52,55, +57,10,102,32,52,55,57,47,55,49,55,47,52,55,57,32,52,55,53,47,55,49,50,47,52,55,53,32,52,49,52,47,55,49,49,47,52,49,52,10,102,32,52,55,53,47,55,49,50,47,52,55,53,32,52,55,57,47,55,49,55,47,52,55,57,32,52,56,48,47,55,49,56,47,52,56,48,10,102,32,52,56,48, +47,55,49,56,47,52,56,48,32,52,55,54,47,55,49,51,47,52,55,54,32,52,55,53,47,55,49,50,47,52,55,53,10,102,32,52,55,54,47,55,49,51,47,52,55,54,32,52,56,48,47,55,49,56,47,52,56,48,32,52,56,49,47,55,49,57,47,52,56,49,10,102,32,52,56,49,47,55,49,57,47,52,56, +49,32,52,55,55,47,55,49,52,47,52,55,55,32,52,55,54,47,55,49,51,47,52,55,54,10,102,32,52,55,55,47,55,49,52,47,52,55,55,32,52,56,49,47,55,49,57,47,52,56,49,32,52,56,50,47,55,50,48,47,52,56,50,10,102,32,52,56,50,47,55,50,48,47,52,56,50,32,52,55,56,47,55, +49,53,47,52,55,56,32,52,55,55,47,55,49,52,47,52,55,55,10,102,32,52,49,56,47,55,49,54,47,52,49,56,32,52,50,50,47,55,50,49,47,52,50,50,32,52,56,51,47,55,50,50,47,52,56,51,10,102,32,52,56,51,47,55,50,50,47,52,56,51,32,52,55,57,47,55,49,55,47,52,55,57,32, +52,49,56,47,55,49,54,47,52,49,56,10,102,32,52,55,57,47,55,49,55,47,52,55,57,32,52,56,51,47,55,50,50,47,52,56,51,32,52,56,52,47,55,50,51,47,52,56,52,10,102,32,52,56,52,47,55,50,51,47,52,56,52,32,52,56,48,47,55,49,56,47,52,56,48,32,52,55,57,47,55,49,55, +47,52,55,57,10,102,32,52,56,48,47,55,49,56,47,52,56,48,32,52,56,52,47,55,50,51,47,52,56,52,32,52,56,53,47,55,50,52,47,52,56,53,10,102,32,52,56,53,47,55,50,52,47,52,56,53,32,52,56,49,47,55,49,57,47,52,56,49,32,52,56,48,47,55,49,56,47,52,56,48,10,102,32, +52,56,49,47,55,49,57,47,52,56,49,32,52,56,53,47,55,50,52,47,52,56,53,32,52,56,54,47,55,50,53,47,52,56,54,10,102,32,52,56,54,47,55,50,53,47,52,56,54,32,52,56,50,47,55,50,48,47,52,56,50,32,52,56,49,47,55,49,57,47,52,56,49,10,102,32,52,50,50,47,55,50,54, +47,52,50,50,32,52,50,54,47,55,51,49,47,52,50,54,32,52,56,55,47,55,51,50,47,52,56,55,10,102,32,52,56,55,47,55,51,50,47,52,56,55,32,52,56,51,47,55,50,55,47,52,56,51,32,52,50,50,47,55,50,54,47,52,50,50,10,102,32,52,56,51,47,55,50,55,47,52,56,51,32,52,56, +55,47,55,51,50,47,52,56,55,32,52,56,56,47,55,51,51,47,52,56,56,10,102,32,52,56,56,47,55,51,51,47,52,56,56,32,52,56,52,47,55,50,56,47,52,56,52,32,52,56,51,47,55,50,55,47,52,56,51,10,102,32,52,56,52,47,55,50,56,47,52,56,52,32,52,56,56,47,55,51,51,47,52, +56,56,32,52,56,57,47,55,51,52,47,52,56,57,10,102,32,52,56,57,47,55,51,52,47,52,56,57,32,52,56,53,47,55,50,57,47,52,56,53,32,52,56,52,47,55,50,56,47,52,56,52,10,102,32,52,56,53,47,55,50,57,47,52,56,53,32,52,56,57,47,55,51,52,47,52,56,57,32,52,57,48,47, +55,51,53,47,52,57,48,10,102,32,52,57,48,47,55,51,53,47,52,57,48,32,52,56,54,47,55,51,48,47,52,56,54,32,52,56,53,47,55,50,57,47,52,56,53,10,102,32,52,50,54,47,55,51,49,47,52,50,54,32,52,51,48,47,55,51,54,47,52,51,48,32,52,57,49,47,55,51,55,47,52,57,49, +10,102,32,52,57,49,47,55,51,55,47,52,57,49,32,52,56,55,47,55,51,50,47,52,56,55,32,52,50,54,47,55,51,49,47,52,50,54,10,102,32,52,56,55,47,55,51,50,47,52,56,55,32,52,57,49,47,55,51,55,47,52,57,49,32,52,57,50,47,55,51,56,47,52,57,50,10,102,32,52,57,50,47, +55,51,56,47,52,57,50,32,52,56,56,47,55,51,51,47,52,56,56,32,52,56,55,47,55,51,50,47,52,56,55,10,102,32,52,56,56,47,55,51,51,47,52,56,56,32,52,57,50,47,55,51,56,47,52,57,50,32,52,57,51,47,55,51,57,47,52,57,51,10,102,32,52,57,51,47,55,51,57,47,52,57,51, +32,52,56,57,47,55,51,52,47,52,56,57,32,52,56,56,47,55,51,51,47,52,56,56,10,102,32,52,56,57,47,55,51,52,47,52,56,57,32,52,57,51,47,55,51,57,47,52,57,51,32,52,57,52,47,55,52,48,47,52,57,52,10,102,32,52,57,52,47,55,52,48,47,52,57,52,32,52,57,48,47,55,51, +53,47,52,57,48,32,52,56,57,47,55,51,52,47,52,56,57,10,102,32,52,51,48,47,55,51,54,47,52,51,48,32,52,51,52,47,55,52,49,47,52,51,52,32,52,57,53,47,55,52,50,47,52,57,53,10,102,32,52,57,53,47,55,52,50,47,52,57,53,32,52,57,49,47,55,51,55,47,52,57,49,32,52, +51,48,47,55,51,54,47,52,51,48,10,102,32,52,57,49,47,55,51,55,47,52,57,49,32,52,57,53,47,55,52,50,47,52,57,53,32,52,57,54,47,55,52,51,47,52,57,54,10,102,32,52,57,54,47,55,52,51,47,52,57,54,32,52,57,50,47,55,51,56,47,52,57,50,32,52,57,49,47,55,51,55,47, +52,57,49,10,102,32,52,57,50,47,55,51,56,47,52,57,50,32,52,57,54,47,55,52,51,47,52,57,54,32,52,57,55,47,55,52,52,47,52,57,55,10,102,32,52,57,55,47,55,52,52,47,52,57,55,32,52,57,51,47,55,51,57,47,52,57,51,32,52,57,50,47,55,51,56,47,52,57,50,10,102,32,52, +57,51,47,55,51,57,47,52,57,51,32,52,57,55,47,55,52,52,47,52,57,55,32,52,57,56,47,55,52,53,47,52,57,56,10,102,32,52,57,56,47,55,52,53,47,52,57,56,32,52,57,52,47,55,52,48,47,52,57,52,32,52,57,51,47,55,51,57,47,52,57,51,10,102,32,52,51,52,47,55,52,49,47, +52,51,52,32,52,51,56,47,55,52,54,47,52,51,56,32,52,57,57,47,55,52,55,47,52,57,57,10,102,32,52,57,57,47,55,52,55,47,52,57,57,32,52,57,53,47,55,52,50,47,52,57,53,32,52,51,52,47,55,52,49,47,52,51,52,10,102,32,52,57,53,47,55,52,50,47,52,57,53,32,52,57,57, +47,55,52,55,47,52,57,57,32,53,48,48,47,55,52,56,47,53,48,48,10,102,32,53,48,48,47,55,52,56,47,53,48,48,32,52,57,54,47,55,52,51,47,52,57,54,32,52,57,53,47,55,52,50,47,52,57,53,10,102,32,52,57,54,47,55,52,51,47,52,57,54,32,53,48,48,47,55,52,56,47,53,48, +48,32,53,48,49,47,55,52,57,47,53,48,49,10,102,32,53,48,49,47,55,52,57,47,53,48,49,32,52,57,55,47,55,52,52,47,52,57,55,32,52,57,54,47,55,52,51,47,52,57,54,10,102,32,52,57,55,47,55,52,52,47,52,57,55,32,53,48,49,47,55,52,57,47,53,48,49,32,53,48,50,47,55, +53,48,47,53,48,50,10,102,32,53,48,50,47,55,53,48,47,53,48,50,32,52,57,56,47,55,52,53,47,52,57,56,32,52,57,55,47,55,52,52,47,52,57,55,10,102,32,52,51,56,47,55,53,49,47,52,51,56,32,52,52,50,47,55,53,54,47,52,52,50,32,53,48,51,47,55,53,55,47,53,48,51,10, +102,32,53,48,51,47,55,53,55,47,53,48,51,32,52,57,57,47,55,53,50,47,52,57,57,32,52,51,56,47,55,53,49,47,52,51,56,10,102,32,52,57,57,47,55,53,50,47,52,57,57,32,53,48,51,47,55,53,55,47,53,48,51,32,53,48,52,47,55,53,56,47,53,48,52,10,102,32,53,48,52,47,55, +53,56,47,53,48,52,32,53,48,48,47,55,53,51,47,53,48,48,32,52,57,57,47,55,53,50,47,52,57,57,10,102,32,53,48,48,47,55,53,51,47,53,48,48,32,53,48,52,47,55,53,56,47,53,48,52,32,53,48,53,47,55,53,57,47,53,48,53,10,102,32,53,48,53,47,55,53,57,47,53,48,53,32, +53,48,49,47,55,53,52,47,53,48,49,32,53,48,48,47,55,53,51,47,53,48,48,10,102,32,53,48,49,47,55,53,52,47,53,48,49,32,53,48,53,47,55,53,57,47,53,48,53,32,53,48,54,47,55,54,48,47,53,48,54,10,102,32,53,48,54,47,55,54,48,47,53,48,54,32,53,48,50,47,55,53,53, +47,53,48,50,32,53,48,49,47,55,53,52,47,53,48,49,10,102,32,52,52,50,47,55,53,54,47,52,52,50,32,52,52,54,47,55,54,49,47,52,52,54,32,53,48,55,47,55,54,50,47,53,48,55,10,102,32,53,48,55,47,55,54,50,47,53,48,55,32,53,48,51,47,55,53,55,47,53,48,51,32,52,52, +50,47,55,53,54,47,52,52,50,10,102,32,53,48,51,47,55,53,55,47,53,48,51,32,53,48,55,47,55,54,50,47,53,48,55,32,53,48,56,47,55,54,51,47,53,48,56,10,102,32,53,48,56,47,55,54,51,47,53,48,56,32,53,48,52,47,55,53,56,47,53,48,52,32,53,48,51,47,55,53,55,47,53, +48,51,10,102,32,53,48,52,47,55,53,56,47,53,48,52,32,53,48,56,47,55,54,51,47,53,48,56,32,53,48,57,47,55,54,52,47,53,48,57,10,102,32,53,48,57,47,55,54,52,47,53,48,57,32,53,48,53,47,55,53,57,47,53,48,53,32,53,48,52,47,55,53,56,47,53,48,52,10,102,32,53,48, +53,47,55,53,57,47,53,48,53,32,53,48,57,47,55,54,52,47,53,48,57,32,53,49,48,47,55,54,53,47,53,49,48,10,102,32,53,49,48,47,55,54,53,47,53,49,48,32,53,48,54,47,55,54,48,47,53,48,54,32,53,48,53,47,55,53,57,47,53,48,53,10,102,32,52,52,54,47,55,54,49,47,52, +52,54,32,52,53,48,47,55,54,54,47,52,53,48,32,53,49,49,47,55,54,55,47,53,49,49,10,102,32,53,49,49,47,55,54,55,47,53,49,49,32,53,48,55,47,55,54,50,47,53,48,55,32,52,52,54,47,55,54,49,47,52,52,54,10,102,32,53,48,55,47,55,54,50,47,53,48,55,32,53,49,49,47, +55,54,55,47,53,49,49,32,53,49,50,47,55,54,56,47,53,49,50,10,102,32,53,49,50,47,55,54,56,47,53,49,50,32,53,48,56,47,55,54,51,47,53,48,56,32,53,48,55,47,55,54,50,47,53,48,55,10,102,32,53,48,56,47,55,54,51,47,53,48,56,32,53,49,50,47,55,54,56,47,53,49,50, +32,53,49,51,47,55,54,57,47,53,49,51,10,102,32,53,49,51,47,55,54,57,47,53,49,51,32,53,48,57,47,55,54,52,47,53,48,57,32,53,48,56,47,55,54,51,47,53,48,56,10,102,32,53,48,57,47,55,54,52,47,53,48,57,32,53,49,51,47,55,54,57,47,53,49,51,32,53,49,52,47,55,55, +48,47,53,49,52,10,102,32,53,49,52,47,55,55,48,47,53,49,52,32,53,49,48,47,55,54,53,47,53,49,48,32,53,48,57,47,55,54,52,47,53,48,57,10,102,32,52,53,48,47,55,54,54,47,52,53,48,32,52,53,52,47,55,55,49,47,52,53,52,32,53,49,53,47,55,55,50,47,53,49,53,10,102, +32,53,49,53,47,55,55,50,47,53,49,53,32,53,49,49,47,55,54,55,47,53,49,49,32,52,53,48,47,55,54,54,47,52,53,48,10,102,32,53,49,49,47,55,54,55,47,53,49,49,32,53,49,53,47,55,55,50,47,53,49,53,32,53,49,54,47,55,55,51,47,53,49,54,10,102,32,53,49,54,47,55,55, +51,47,53,49,54,32,53,49,50,47,55,54,56,47,53,49,50,32,53,49,49,47,55,54,55,47,53,49,49,10,102,32,53,49,50,47,55,54,56,47,53,49,50,32,53,49,54,47,55,55,51,47,53,49,54,32,53,49,55,47,55,55,52,47,53,49,55,10,102,32,53,49,55,47,55,55,52,47,53,49,55,32,53, +49,51,47,55,54,57,47,53,49,51,32,53,49,50,47,55,54,56,47,53,49,50,10,102,32,53,49,51,47,55,54,57,47,53,49,51,32,53,49,55,47,55,55,52,47,53,49,55,32,53,49,56,47,55,55,53,47,53,49,56,10,102,32,53,49,56,47,55,55,53,47,53,49,56,32,53,49,52,47,55,55,48,47, +53,49,52,32,53,49,51,47,55,54,57,47,53,49,51,10,102,32,52,53,52,47,55,55,54,47,52,53,52,32,52,53,56,47,55,56,49,47,52,53,56,32,53,49,57,47,55,56,50,47,53,49,57,10,102,32,53,49,57,47,55,56,50,47,53,49,57,32,53,49,53,47,55,55,55,47,53,49,53,32,52,53,52, +47,55,55,54,47,52,53,52,10,102,32,53,49,53,47,55,55,55,47,53,49,53,32,53,49,57,47,55,56,50,47,53,49,57,32,53,50,48,47,55,56,51,47,53,50,48,10,102,32,53,50,48,47,55,56,51,47,53,50,48,32,53,49,54,47,55,55,56,47,53,49,54,32,53,49,53,47,55,55,55,47,53,49, +53,10,102,32,53,49,54,47,55,55,56,47,53,49,54,32,53,50,48,47,55,56,51,47,53,50,48,32,53,50,49,47,55,56,52,47,53,50,49,10,102,32,53,50,49,47,55,56,52,47,53,50,49,32,53,49,55,47,55,55,57,47,53,49,55,32,53,49,54,47,55,55,56,47,53,49,54,10,102,32,53,49,55, +47,55,55,57,47,53,49,55,32,53,50,49,47,55,56,52,47,53,50,49,32,53,50,50,47,55,56,53,47,53,50,50,10,102,32,53,50,50,47,55,56,53,47,53,50,50,32,53,49,56,47,55,56,48,47,53,49,56,32,53,49,55,47,55,55,57,47,53,49,55,10,102,32,52,53,56,47,55,56,49,47,52,53, +56,32,52,54,50,47,55,56,54,47,52,54,50,32,53,50,51,47,55,56,55,47,53,50,51,10,102,32,53,50,51,47,55,56,55,47,53,50,51,32,53,49,57,47,55,56,50,47,53,49,57,32,52,53,56,47,55,56,49,47,52,53,56,10,102,32,53,49,57,47,55,56,50,47,53,49,57,32,53,50,51,47,55, +56,55,47,53,50,51,32,53,50,52,47,55,56,56,47,53,50,52,10,102,32,53,50,52,47,55,56,56,47,53,50,52,32,53,50,48,47,55,56,51,47,53,50,48,32,53,49,57,47,55,56,50,47,53,49,57,10,102,32,53,50,48,47,55,56,51,47,53,50,48,32,53,50,52,47,55,56,56,47,53,50,52,32, +53,50,53,47,55,56,57,47,53,50,53,10,102,32,53,50,53,47,55,56,57,47,53,50,53,32,53,50,49,47,55,56,52,47,53,50,49,32,53,50,48,47,55,56,51,47,53,50,48,10,102,32,53,50,49,47,55,56,52,47,53,50,49,32,53,50,53,47,55,56,57,47,53,50,53,32,53,50,54,47,55,57,48, +47,53,50,54,10,102,32,53,50,54,47,55,57,48,47,53,50,54,32,53,50,50,47,55,56,53,47,53,50,50,32,53,50,49,47,55,56,52,47,53,50,49,10,102,32,52,54,50,47,55,56,54,47,52,54,50,32,52,54,54,47,55,57,49,47,52,54,54,32,53,50,55,47,55,57,50,47,53,50,55,10,102,32, +53,50,55,47,55,57,50,47,53,50,55,32,53,50,51,47,55,56,55,47,53,50,51,32,52,54,50,47,55,56,54,47,52,54,50,10,102,32,53,50,51,47,55,56,55,47,53,50,51,32,53,50,55,47,55,57,50,47,53,50,55,32,53,50,56,47,55,57,51,47,53,50,56,10,102,32,53,50,56,47,55,57,51, +47,53,50,56,32,53,50,52,47,55,56,56,47,53,50,52,32,53,50,51,47,55,56,55,47,53,50,51,10,102,32,53,50,52,47,55,56,56,47,53,50,52,32,53,50,56,47,55,57,51,47,53,50,56,32,53,50,57,47,55,57,52,47,53,50,57,10,102,32,53,50,57,47,55,57,52,47,53,50,57,32,53,50, +53,47,55,56,57,47,53,50,53,32,53,50,52,47,55,56,56,47,53,50,52,10,102,32,53,50,53,47,55,56,57,47,53,50,53,32,53,50,57,47,55,57,52,47,53,50,57,32,53,51,48,47,55,57,53,47,53,51,48,10,102,32,53,51,48,47,55,57,53,47,53,51,48,32,53,50,54,47,55,57,48,47,53, +50,54,32,53,50,53,47,55,56,57,47,53,50,53,10,102,32,52,54,54,47,55,57,49,47,52,54,54,32,52,48,54,47,55,57,54,47,52,48,54,32,52,54,55,47,55,57,55,47,52,54,55,10,102,32,52,54,55,47,55,57,55,47,52,54,55,32,53,50,55,47,55,57,50,47,53,50,55,32,52,54,54,47, +55,57,49,47,52,54,54,10,102,32,53,50,55,47,55,57,50,47,53,50,55,32,52,54,55,47,55,57,55,47,52,54,55,32,52,54,56,47,55,57,56,47,52,54,56,10,102,32,52,54,56,47,55,57,56,47,52,54,56,32,53,50,56,47,55,57,51,47,53,50,56,32,53,50,55,47,55,57,50,47,53,50,55, +10,102,32,53,50,56,47,55,57,51,47,53,50,56,32,52,54,56,47,55,57,56,47,52,54,56,32,52,54,57,47,55,57,57,47,52,54,57,10,102,32,52,54,57,47,55,57,57,47,52,54,57,32,53,50,57,47,55,57,52,47,53,50,57,32,53,50,56,47,55,57,51,47,53,50,56,10,102,32,53,50,57,47, +55,57,52,47,53,50,57,32,52,54,57,47,55,57,57,47,52,54,57,32,52,55,48,47,56,48,48,47,52,55,48,10,102,32,52,55,48,47,56,48,48,47,52,55,48,32,53,51,48,47,55,57,53,47,53,51,48,32,53,50,57,47,55,57,52,47,53,50,57,10,35,32,57,57,50,32,102,97,99,101,115,10, +10,103,10,0,0 }; + +const char* teapot_obj = (const char*) temp_binary_data_0; + + +const char* getNamedResource (const char*, int&) throw(); +const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) throw() +{ + unsigned int hash = 0; + if (resourceNameUTF8 != 0) + while (*resourceNameUTF8 != 0) + hash = 31 * hash + (unsigned int) *resourceNameUTF8++; + + switch (hash) + { + case 0x754c69fd: numBytes = 95000; return teapot_obj; + default: break; + } + + numBytes = 0; + return 0; +} + +const char* namedResourceList[] = +{ + "teapot_obj" +}; + +} diff --git a/examples/OpenGLAppExample/JuceLibraryCode/BinaryData.h b/examples/OpenGLAppExample/JuceLibraryCode/BinaryData.h new file mode 100644 index 0000000000..470f5ff3bb --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/BinaryData.h @@ -0,0 +1,26 @@ +/* ========================================================================================= + + This is an auto-generated file: Any edits you make may be overwritten! + +*/ + +#ifndef BINARYDATA_H_65160528_INCLUDED +#define BINARYDATA_H_65160528_INCLUDED + +namespace BinaryData +{ + extern const char* teapot_obj; + const int teapot_objSize = 95000; + + // Points to the start of a list of resource names. + extern const char* namedResourceList[]; + + // Number of elements in the namedResourceList array. + const int namedResourceListSize = 1; + + // If you provide the name of one of the binary resource variables above, this function will + // return the corresponding data and its size (or a null pointer if the name isn't found). + const char* getNamedResource (const char* resourceNameUTF8, int& dataSizeInBytes) throw(); +} + +#endif diff --git a/examples/OpenGLAppExample/JuceLibraryCode/JuceHeader.h b/examples/OpenGLAppExample/JuceLibraryCode/JuceHeader.h new file mode 100644 index 0000000000..0af28d33be --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/JuceHeader.h @@ -0,0 +1,47 @@ +/* + + IMPORTANT! This file is auto-generated each time you save your + project - if you alter its contents, your changes may be overwritten! + + This is the header file that your files should include in order to get all the + JUCE library headers. You should avoid including the JUCE headers directly in + your own source files, because that wouldn't pick up the correct configuration + options for your app. + +*/ + +#ifndef __APPHEADERFILE_C3KRLE__ +#define __APPHEADERFILE_C3KRLE__ + +#include "AppConfig.h" +#include "modules/juce_audio_basics/juce_audio_basics.h" +#include "modules/juce_audio_devices/juce_audio_devices.h" +#include "modules/juce_audio_formats/juce_audio_formats.h" +#include "modules/juce_audio_processors/juce_audio_processors.h" +#include "modules/juce_core/juce_core.h" +#include "modules/juce_cryptography/juce_cryptography.h" +#include "modules/juce_data_structures/juce_data_structures.h" +#include "modules/juce_events/juce_events.h" +#include "modules/juce_graphics/juce_graphics.h" +#include "modules/juce_gui_basics/juce_gui_basics.h" +#include "modules/juce_gui_extra/juce_gui_extra.h" +#include "modules/juce_opengl/juce_opengl.h" +#include "modules/juce_video/juce_video.h" +#include "BinaryData.h" + +#if ! DONT_SET_USING_JUCE_NAMESPACE + // If your code uses a lot of JUCE classes, then this will obviously save you + // a lot of typing, but can be disabled by setting DONT_SET_USING_JUCE_NAMESPACE. + using namespace juce; +#endif + +#if ! JUCE_DONT_DECLARE_PROJECTINFO +namespace ProjectInfo +{ + const char* const projectName = "OpenGLAppExample"; + const char* const versionString = "1.0.0"; + const int versionNumber = 0x10000; +} +#endif + +#endif // __APPHEADERFILE_C3KRLE__ diff --git a/examples/OpenGLAppExample/JuceLibraryCode/ReadMe.txt b/examples/OpenGLAppExample/JuceLibraryCode/ReadMe.txt new file mode 100644 index 0000000000..f6c3564e99 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/ReadMe.txt @@ -0,0 +1,12 @@ + + Important Note!! + ================ + +The purpose of this folder is to contain files that are auto-generated by the Introjucer, +and ALL files in this folder will be mercilessly DELETED and completely re-written whenever +the Introjucer saves your project. + +Therefore, it's a bad idea to make any manual changes to the files in here, or to +put any of your own files in here if you don't want to lose them. (Of course you may choose +to add the folder's contents to your version-control system so that you can re-merge your own +modifications after the Introjucer has saved its changes). diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h new file mode 100644 index 0000000000..b9a775c861 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h" + diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h new file mode 100644 index 0000000000..6a672ccda4 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h" + diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h new file mode 100644 index 0000000000..4307ccc794 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h" + diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h new file mode 100644 index 0000000000..bd61929b93 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h" + diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_core/juce_core.h new file mode 100644 index 0000000000..ee07e01a50 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_core/juce_core.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_core/juce_core.h" + diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h new file mode 100644 index 0000000000..860c0221c7 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_cryptography/juce_cryptography.h" + diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h new file mode 100644 index 0000000000..00f01d46aa --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_data_structures/juce_data_structures.h" + diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_events/juce_events.h new file mode 100644 index 0000000000..d0b4133815 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_events/juce_events.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_events/juce_events.h" + diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h new file mode 100644 index 0000000000..f287a18ee6 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_graphics/juce_graphics.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_graphics/juce_graphics.h" + diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h new file mode 100644 index 0000000000..c678c1cfc9 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" + diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h new file mode 100644 index 0000000000..7efee1d103 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" + diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_opengl/juce_opengl.h new file mode 100644 index 0000000000..e427fa2135 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_opengl/juce_opengl.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_opengl/juce_opengl.h" + diff --git a/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_video/juce_video.h new file mode 100644 index 0000000000..1b77c4a466 --- /dev/null +++ b/examples/OpenGLAppExample/JuceLibraryCode/modules/juce_video/juce_video.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_video/juce_video.h" + diff --git a/examples/OpenGLAppExample/OpenGLAppExample.jucer b/examples/OpenGLAppExample/OpenGLAppExample.jucer new file mode 100644 index 0000000000..b87826ba38 --- /dev/null +++ b/examples/OpenGLAppExample/OpenGLAppExample.jucer @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/OpenGLAppExample/Source/FragmentShader.glsl b/examples/OpenGLAppExample/Source/FragmentShader.glsl new file mode 100644 index 0000000000..92f989064a --- /dev/null +++ b/examples/OpenGLAppExample/Source/FragmentShader.glsl @@ -0,0 +1,10 @@ +/* + ============================================================================== + + FragmentShader.cpp + Created: 11 Nov 2014 12:17:53pm + Author: Felix Faire + + ============================================================================== +*/ + diff --git a/examples/OpenGLAppExample/Source/Main.cpp b/examples/OpenGLAppExample/Source/Main.cpp new file mode 100644 index 0000000000..f21b0d2868 --- /dev/null +++ b/examples/OpenGLAppExample/Source/Main.cpp @@ -0,0 +1,102 @@ +/* + ============================================================================== + + This file was auto-generated by the Introjucer! + + It contains the basic startup code for a Juce application. + + ============================================================================== +*/ + +#include "../JuceLibraryCode/JuceHeader.h" + + +Component* createMainContentComponent(); + +//============================================================================== +class OpenGLAppExampleApplication : public JUCEApplication +{ +public: + //============================================================================== + OpenGLAppExampleApplication() {} + + const String getApplicationName() override { return ProjectInfo::projectName; } + const String getApplicationVersion() override { return ProjectInfo::versionString; } + bool moreThanOneInstanceAllowed() override { return true; } + + //============================================================================== + void initialise (const String& commandLine) override + { + // This method is where you should put your application's initialisation code.. + + mainWindow = new MainWindow (getApplicationName()); + } + + void shutdown() override + { + // Add your application's shutdown code here.. + + mainWindow = nullptr; // (deletes our window) + } + + //============================================================================== + void systemRequestedQuit() override + { + // This is called when the app is being asked to quit: you can ignore this + // request and let the app carry on running, or call quit() to allow the app to close. + quit(); + } + + void anotherInstanceStarted (const String& commandLine) override + { + // When another instance of the app is launched while this one is running, + // this method is invoked, and the commandLine parameter tells you what + // the other instance's command-line arguments were. + } + + //============================================================================== + /* + This class implements the desktop window that contains an instance of + our MainContentComponent class. + */ + class MainWindow : public DocumentWindow + { + public: + MainWindow (String name) : DocumentWindow (name, + Colours::lightgrey, + DocumentWindow::allButtons) + { + setUsingNativeTitleBar (true); + setContentOwned (createMainContentComponent(), true); + setResizable (true, true); + + centreWithSize (getWidth(), getHeight()); + setVisible (true); + } + + void closeButtonPressed() override + { + // This is called when the user tries to close this window. Here, we'll just + // ask the app to quit when this happens, but you can change this to do + // whatever you need. + JUCEApplication::getInstance()->systemRequestedQuit(); + } + + /* Note: Be careful if you override any DocumentWindow methods - the base + class uses a lot of them, so by overriding you might break its functionality. + It's best to do all your work in your content component instead, but if + you really have to override any DocumentWindow methods, make sure your + subclass also calls the superclass's method. + */ + + private: + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow) + }; + +private: + ScopedPointer mainWindow; +}; + +//============================================================================== +// This macro generates the main() routine that launches the app. +START_JUCE_APPLICATION (OpenGLAppExampleApplication) diff --git a/examples/OpenGLAppExample/Source/MainComponent.cpp b/examples/OpenGLAppExample/Source/MainComponent.cpp new file mode 100644 index 0000000000..b236a272e2 --- /dev/null +++ b/examples/OpenGLAppExample/Source/MainComponent.cpp @@ -0,0 +1,396 @@ +/* + ============================================================================== + + This file was auto-generated! + + ============================================================================== +*/ + +#ifndef MAINCOMPONENT_H_INCLUDED +#define MAINCOMPONENT_H_INCLUDED + +#include "../JuceLibraryCode/JuceHeader.h" +#include "Resources/WavefrontObjParser.h" + + + +//============================================================================== +/* + This component lives inside our window, and this is where you should put all + your controls and content. +*/ +class MainContentComponent : public OpenGLAppComponent +{ +public: + //============================================================================== + MainContentComponent() + { + setSize (800, 600); + } + + ~MainContentComponent() + { + shutdownOpenGL(); + } + + void initialise() override + { + setShaders(); + } + + void shutdown() override + { + shader = nullptr; + shape = nullptr; + attributes = nullptr; + uniforms = nullptr; + } + + + Matrix3D getProjectionMatrix() const + { + float w = 1.0f / (0.5 + 0.1f); + float h = w * getLocalBounds().toFloat().getAspectRatio (false); + return Matrix3D::fromFrustum (-w, w, -h, h, 4.0f, 30.0f); + } + + Matrix3D getViewMatrix() const + { + Matrix3D viewMatrix (Vector3D (0.0f, 0.0f, -10.0f)); + Matrix3D rotationMatrix = viewMatrix.rotated (Vector3D (-0.3f, 5.0f*sin(getFrameCounter()*0.01f), 0.0f)); + + return viewMatrix * rotationMatrix; + } + + void render() override + { + + jassert (OpenGLHelpers::isContextActive()); + + const float desktopScale = (float) openGLContext.getRenderingScale(); + OpenGLHelpers::clear (Colour::greyLevel(0.1)); + + //glEnable (GL_DEPTH_TEST); + //glDepthFunc (GL_LESS); + glEnable (GL_BLEND); + glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glViewport (0, 0, roundToInt (desktopScale * getWidth()), roundToInt (desktopScale * getHeight())); + + shader->use(); + + if (uniforms->projectionMatrix != nullptr) + uniforms->projectionMatrix->setMatrix4 (getProjectionMatrix().mat, 1, false); + + if (uniforms->viewMatrix != nullptr) + uniforms->viewMatrix->setMatrix4 (getViewMatrix().mat, 1, false); + + shape->draw (openGLContext, *attributes); + + // Reset the element buffers so child Components draw correctly + openGLContext.extensions.glBindBuffer (GL_ARRAY_BUFFER, 0); + openGLContext.extensions.glBindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0); + + } + + void paint (Graphics& g) override + { + // You can add your component specific drawing code here! + // This will draw over the top of the openGL background. + + g.setColour(Colours::white); + g.setFont (20); + g.drawText ("OpenGL Example", 25, 20, 300, 30, Justification::left); + g.drawLine (20, 20, 170, 20); + g.drawLine (20, 50, 170, 50); + } + + void resized() override + { + // This is called when the MainContentComponent is resized. + // If you add any child components, this is where you should + // update their positions. + + } + + void setShaders() + { + vertexShader = { + "attribute vec4 position;\n" + "attribute vec4 sourceColour;\n" + "attribute vec2 texureCoordIn;\n" + "\n" + "uniform mat4 projectionMatrix;\n" + "uniform mat4 viewMatrix;\n" + "\n" + "varying vec4 destinationColour;\n" + "varying vec2 textureCoordOut;\n" + "\n" + "void main()\n" + "{\n" + " destinationColour = sourceColour;\n" + " textureCoordOut = texureCoordIn;\n" + " gl_Position = projectionMatrix * viewMatrix * position;\n" + "}\n"}; + + fragmentShader = { + #if JUCE_OPENGL_ES + "varying lowp vec4 destinationColour;\n" + "varying lowp vec2 textureCoordOut;\n" + #else + "varying vec4 destinationColour;\n" + "varying vec2 textureCoordOut;\n" + #endif + "\n" + "void main()\n" + "{\n" + " vec4 colour = vec4(0.95, 0.57, 0.03, 0.7);\n" + " gl_FragColor = colour;\n" + "}\n" }; + + + + ScopedPointer newShader (new OpenGLShaderProgram (openGLContext)); + String statusText; + + if (newShader->addVertexShader (OpenGLHelpers::translateVertexShaderToV3 (vertexShader)) + && newShader->addFragmentShader (OpenGLHelpers::translateFragmentShaderToV3 (fragmentShader)) + && newShader->link()) + { + shape = nullptr; + attributes = nullptr; + uniforms = nullptr; + + shader = newShader; + shader->use(); + + shape = new Shape (openGLContext); + attributes = new Attributes (openGLContext, *shader); + uniforms = new Uniforms (openGLContext, *shader); + + statusText = "GLSL: v" + String (OpenGLShaderProgram::getLanguageVersion(), 2); + } + else + { + statusText = newShader->getLastError(); + } + } + + +private: + //============================================================================== + + // private member variables + + struct Vertex + { + float position[3]; + float normal[3]; + float colour[4]; + float texCoord[2]; + }; + + //============================================================================== + // This class just manages the attributes that the shaders use. + struct Attributes + { + Attributes (OpenGLContext& openGLContext, OpenGLShaderProgram& shader) + { + position = createAttribute (openGLContext, shader, "position"); + normal = createAttribute (openGLContext, shader, "normal"); + sourceColour = createAttribute (openGLContext, shader, "sourceColour"); + texureCoordIn = createAttribute (openGLContext, shader, "texureCoordIn"); + } + + void enable (OpenGLContext& openGLContext) + { + if (position != nullptr) + { + openGLContext.extensions.glVertexAttribPointer (position->attributeID, 3, GL_FLOAT, GL_FALSE, sizeof (Vertex), 0); + openGLContext.extensions.glEnableVertexAttribArray (position->attributeID); + } + + if (normal != nullptr) + { + openGLContext.extensions.glVertexAttribPointer (normal->attributeID, 3, GL_FLOAT, GL_FALSE, sizeof (Vertex), (GLvoid*) (sizeof (float) * 3)); + openGLContext.extensions.glEnableVertexAttribArray (normal->attributeID); + } + + if (sourceColour != nullptr) + { + openGLContext.extensions.glVertexAttribPointer (sourceColour->attributeID, 4, GL_FLOAT, GL_FALSE, sizeof (Vertex), (GLvoid*) (sizeof (float) * 6)); + openGLContext.extensions.glEnableVertexAttribArray (sourceColour->attributeID); + } + + if (texureCoordIn != nullptr) + { + openGLContext.extensions.glVertexAttribPointer (texureCoordIn->attributeID, 2, GL_FLOAT, GL_FALSE, sizeof (Vertex), (GLvoid*) (sizeof (float) * 10)); + openGLContext.extensions.glEnableVertexAttribArray (texureCoordIn->attributeID); + } + } + + void disable (OpenGLContext& openGLContext) + { + if (position != nullptr) openGLContext.extensions.glDisableVertexAttribArray (position->attributeID); + if (normal != nullptr) openGLContext.extensions.glDisableVertexAttribArray (normal->attributeID); + if (sourceColour != nullptr) openGLContext.extensions.glDisableVertexAttribArray (sourceColour->attributeID); + if (texureCoordIn != nullptr) openGLContext.extensions.glDisableVertexAttribArray (texureCoordIn->attributeID); + } + + ScopedPointer position, normal, sourceColour, texureCoordIn; + + private: + static OpenGLShaderProgram::Attribute* createAttribute (OpenGLContext& openGLContext, + OpenGLShaderProgram& shader, + const char* attributeName) + { + if (openGLContext.extensions.glGetAttribLocation (shader.getProgramID(), attributeName) < 0) + return nullptr; + + return new OpenGLShaderProgram::Attribute (shader, attributeName); + } + }; + + //============================================================================== + // This class just manages the uniform values that the demo shaders use. + struct Uniforms + { + Uniforms (OpenGLContext& openGLContext, OpenGLShaderProgram& shader) + { + projectionMatrix = createUniform (openGLContext, shader, "projectionMatrix"); + viewMatrix = createUniform (openGLContext, shader, "viewMatrix"); + } + + ScopedPointer projectionMatrix, viewMatrix; + + private: + static OpenGLShaderProgram::Uniform* createUniform (OpenGLContext& openGLContext, + OpenGLShaderProgram& shader, + const char* uniformName) + { + if (openGLContext.extensions.glGetUniformLocation (shader.getProgramID(), uniformName) < 0) + return nullptr; + + return new OpenGLShaderProgram::Uniform (shader, uniformName); + } + }; + + //============================================================================== + /** This loads a 3D model from an OBJ file and converts it into some vertex buffers + that we can draw. + */ + struct Shape + { + Shape (OpenGLContext& openGLContext) + { + if (shapeFile.load (BinaryData::teapot_obj).wasOk()) + for (int i = 0; i < shapeFile.shapes.size(); ++i) + vertexBuffers.add (new VertexBuffer (openGLContext, *shapeFile.shapes.getUnchecked(i))); + + } + + void draw (OpenGLContext& openGLContext, Attributes& attributes) + { + for (int i = 0; i < vertexBuffers.size(); ++i) + { + VertexBuffer& vertexBuffer = *vertexBuffers.getUnchecked (i); + vertexBuffer.bind(); + + attributes.enable (openGLContext); + glDrawElements (GL_TRIANGLES, vertexBuffer.numIndices, GL_UNSIGNED_INT, 0); + attributes.disable (openGLContext); + } + } + + private: + struct VertexBuffer + { + VertexBuffer (OpenGLContext& context, WavefrontObjFile::Shape& shape) : openGLContext (context) + { + numIndices = shape.mesh.indices.size(); + + openGLContext.extensions.glGenBuffers (1, &vertexBuffer); + openGLContext.extensions.glBindBuffer (GL_ARRAY_BUFFER, vertexBuffer); + + Array vertices; + createVertexListFromMesh (shape.mesh, vertices, Colours::green); + + openGLContext.extensions.glBufferData (GL_ARRAY_BUFFER, vertices.size() * sizeof (Vertex), + vertices.getRawDataPointer(), GL_STATIC_DRAW); + + openGLContext.extensions.glGenBuffers (1, &indexBuffer); + openGLContext.extensions.glBindBuffer (GL_ELEMENT_ARRAY_BUFFER, indexBuffer); + openGLContext.extensions.glBufferData (GL_ELEMENT_ARRAY_BUFFER, numIndices * sizeof (juce::uint32), + shape.mesh.indices.getRawDataPointer(), GL_STATIC_DRAW); + } + + ~VertexBuffer() + { + openGLContext.extensions.glDeleteBuffers (1, &vertexBuffer); + openGLContext.extensions.glDeleteBuffers (1, &indexBuffer); + } + + void bind() + { + openGLContext.extensions.glBindBuffer (GL_ARRAY_BUFFER, vertexBuffer); + openGLContext.extensions.glBindBuffer (GL_ELEMENT_ARRAY_BUFFER, indexBuffer); + } + + GLuint vertexBuffer, indexBuffer; + int numIndices; + OpenGLContext& openGLContext; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (VertexBuffer) + }; + + WavefrontObjFile shapeFile; + OwnedArray vertexBuffers; + + static void createVertexListFromMesh (const WavefrontObjFile::Mesh& mesh, Array& list, Colour colour) + { + const float scale = 0.2f; + WavefrontObjFile::TextureCoord defaultTexCoord = { 0.5f, 0.5f }; + WavefrontObjFile::Vertex defaultNormal = { 0.5f, 0.5f, 0.5f }; + + for (int i = 0; i < mesh.vertices.size(); ++i) + { + const WavefrontObjFile::Vertex& v = mesh.vertices.getReference (i); + + const WavefrontObjFile::Vertex& n + = i < mesh.normals.size() ? mesh.normals.getReference (i) : defaultNormal; + + const WavefrontObjFile::TextureCoord& tc + = i < mesh.textureCoords.size() ? mesh.textureCoords.getReference (i) : defaultTexCoord; + + Vertex vert = + { + { scale * v.x, scale * v.y, scale * v.z, }, + { scale * n.x, scale * n.y, scale * n.z, }, + { colour.getFloatRed(), colour.getFloatGreen(), colour.getFloatBlue(), colour.getFloatAlpha() }, + { tc.x, tc.y } + }; + + list.add (vert); + } + } + }; + + const char* vertexShader; + const char* fragmentShader; + + ScopedPointer shader; + ScopedPointer shape; + ScopedPointer attributes; + ScopedPointer uniforms; + + String newVertexShader, newFragmentShader; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent) +}; + + +// (This function is called by the app startup code to create our main component) +Component* createMainContentComponent() { return new MainContentComponent(); } + + +#endif // MAINCOMPONENT_H_INCLUDED diff --git a/examples/OpenGLAppExample/Source/Resources/WavefrontObjParser.h b/examples/OpenGLAppExample/Source/Resources/WavefrontObjParser.h new file mode 100644 index 0000000000..ca8a3b3ff0 --- /dev/null +++ b/examples/OpenGLAppExample/Source/Resources/WavefrontObjParser.h @@ -0,0 +1,359 @@ +/* + ============================================================================== + + This file is part of the JUCE library - "Jules' Utility Class Extensions" + Copyright 2004-12 by Raw Material Software Ltd. + + ------------------------------------------------------------------------------ + + JUCE can be redistributed and/or modified under the terms of the GNU General + Public License (Version 2), as published by the Free Software Foundation. + A copy of the license is included in the JUCE distribution, or can be found + online at www.gnu.org/licenses. + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.rawmaterialsoftware.com/juce for more information. + + ============================================================================== +*/ + +#include + + +//============================================================================== +/** + This is a quick-and-dirty parser for the 3D OBJ file format. + + Just call load() and if there aren't any errors, the 'shapes' array should + be filled with all the shape objects that were loaded from the file. +*/ +class WavefrontObjFile +{ +public: + WavefrontObjFile() {} + + Result load (const String& objFileContent) + { + shapes.clear(); + return parseObjFile (StringArray::fromLines (objFileContent)); + } + + Result load (const File& file) + { + sourceFile = file; + return load (file.loadFileAsString()); + } + + //============================================================================== + typedef juce::uint32 Index; + + struct Vertex { float x, y, z; }; + struct TextureCoord { float x, y; }; + + struct Mesh + { + Array vertices, normals; + Array textureCoords; + Array indices; + }; + + struct Material + { + Material() noexcept : shininess (1.0f), refractiveIndex (0.0f) + { + zerostruct (ambient); + zerostruct (diffuse); + zerostruct (specular); + zerostruct (transmittance); + zerostruct (emission); + } + + String name; + + Vertex ambient, diffuse, specular, transmittance, emission; + float shininess, refractiveIndex; + + String ambientTextureName, diffuseTextureName, + specularTextureName, normalTextureName; + + StringPairArray parameters; + }; + + struct Shape + { + String name; + Mesh mesh; + Material material; + }; + + OwnedArray shapes; + +private: + //============================================================================== + File sourceFile; + + struct TripleIndex + { + TripleIndex() noexcept : vertexIndex (-1), textureIndex (-1), normalIndex (-1) {} + bool operator< (const TripleIndex& other) const noexcept { return vertexIndex < other.vertexIndex; } + + int vertexIndex, textureIndex, normalIndex; + }; + + struct IndexMap + { + std::map map; + + Index getIndexFor (TripleIndex i, Mesh& newMesh, const Mesh& srcMesh) + { + const std::map::iterator it (map.find (i)); + + if (it != map.end()) + return it->second; + + const Index index = (Index) newMesh.vertices.size(); + + if (isPositiveAndBelow (i.vertexIndex, srcMesh.vertices.size())) + newMesh.vertices.add (srcMesh.vertices.getReference (i.vertexIndex)); + + if (isPositiveAndBelow (i.normalIndex, srcMesh.normals.size())) + newMesh.normals.add (srcMesh.normals.getReference (i.normalIndex)); + + if (isPositiveAndBelow (i.textureIndex, srcMesh.textureCoords.size())) + newMesh.textureCoords.add (srcMesh.textureCoords.getReference (i.textureIndex)); + + map[i] = index; + return index; + } + }; + + static float parseFloat (String::CharPointerType& t) + { + t = t.findEndOfWhitespace(); + return (float) CharacterFunctions::readDoubleValue (t); + } + + static Vertex parseVertex (String::CharPointerType t) + { + Vertex v; + v.x = parseFloat (t); + v.y = parseFloat (t); + v.z = parseFloat (t); + return v; + } + + static TextureCoord parseTextureCoord (String::CharPointerType t) + { + TextureCoord tc; + tc.x = parseFloat (t); + tc.y = parseFloat (t); + return tc; + } + + static bool matchToken (String::CharPointerType& t, const char* token) + { + const int len = (int) strlen (token); + + if (CharacterFunctions::compareUpTo (CharPointer_ASCII (token), t, len) == 0) + { + String::CharPointerType end = t + len; + + if (end.isEmpty() || end.isWhitespace()) + { + t = end.findEndOfWhitespace(); + return true; + } + } + + return false; + } + + struct Face + { + Face (String::CharPointerType t) + { + while (! t.isEmpty()) + triples.add (parseTriple (t)); + } + + Array triples; + + void addIndices (Mesh& newMesh, const Mesh& srcMesh, IndexMap& indexMap) + { + TripleIndex i0 (triples[0]), i1, i2 (triples[1]); + + for (int i = 2; i < triples.size(); ++i) + { + i1 = i2; + i2 = triples.getReference (i); + + newMesh.indices.add (indexMap.getIndexFor (i0, newMesh, srcMesh)); + newMesh.indices.add (indexMap.getIndexFor (i1, newMesh, srcMesh)); + newMesh.indices.add (indexMap.getIndexFor (i2, newMesh, srcMesh)); + } + } + + static TripleIndex parseTriple (String::CharPointerType& t) + { + TripleIndex i; + + t = t.findEndOfWhitespace(); + i.vertexIndex = t.getIntValue32() - 1; + t = findEndOfFaceToken (t); + + if (t.isEmpty() || t.getAndAdvance() != '/') + return i; + + if (*t == '/') + { + ++t; + } + else + { + i.textureIndex = t.getIntValue32() - 1; + t = findEndOfFaceToken (t); + + if (t.isEmpty() || t.getAndAdvance() != '/') + return i; + } + + i.normalIndex = t.getIntValue32() - 1; + t = findEndOfFaceToken (t); + return i; + } + + static String::CharPointerType findEndOfFaceToken (String::CharPointerType t) noexcept + { + return CharacterFunctions::findEndOfToken (t, CharPointer_ASCII ("/ \t"), String::empty.getCharPointer()); + } + }; + + static Shape* parseFaceGroup (const Mesh& srcMesh, + const Array& faceGroup, + const Material& material, + const String& name) + { + if (faceGroup.size() == 0) + return nullptr; + + ScopedPointer shape (new Shape()); + shape->name = name; + shape->material = material; + + IndexMap indexMap; + + for (int i = 0; i < faceGroup.size(); ++i) + faceGroup.getReference(i).addIndices (shape->mesh, srcMesh, indexMap); + + return shape.release(); + } + + Result parseObjFile (const StringArray& lines) + { + Mesh mesh; + Array faceGroup; + + Array knownMaterials; + Material lastMaterial; + String lastName; + + for (int lineNum = 0; lineNum < lines.size(); ++lineNum) + { + String::CharPointerType l = lines[lineNum].getCharPointer().findEndOfWhitespace(); + + if (matchToken (l, "v")) { mesh.vertices.add (parseVertex (l)); continue; } + if (matchToken (l, "vn")) { mesh.normals.add (parseVertex (l)); continue; } + if (matchToken (l, "vt")) { mesh.textureCoords.add (parseTextureCoord (l)); continue; } + if (matchToken (l, "f")) { faceGroup.add (Face (l)); continue; } + + if (matchToken (l, "usemtl")) + { + const String name (String (l).trim()); + + for (int i = knownMaterials.size(); --i >= 0;) + { + if (knownMaterials.getReference(i).name == name) + { + lastMaterial = knownMaterials.getReference(i); + break; + } + } + + continue; + } + + if (matchToken (l, "mtllib")) + { + Result r = parseMaterial (knownMaterials, String (l).trim()); + continue; + } + + if (matchToken (l, "g") || matchToken (l, "o")) + { + if (Shape* shape = parseFaceGroup (mesh, faceGroup, lastMaterial, lastName)) + shapes.add (shape); + + faceGroup.clear(); + lastName = StringArray::fromTokens (l, " \t", "")[0]; + continue; + } + } + + if (Shape* shape = parseFaceGroup (mesh, faceGroup, lastMaterial, lastName)) + shapes.add (shape); + + return Result::ok(); + } + + Result parseMaterial (Array& materials, const String& filename) + { + jassert (sourceFile.exists()); + File f (sourceFile.getSiblingFile (filename)); + + if (! f.exists()) + return Result::fail ("Cannot open file: " + filename); + + StringArray lines; + lines.addLines (f.loadFileAsString()); + + materials.clear(); + Material material; + + for (int i = 0; i < lines.size(); ++i) + { + String::CharPointerType l (lines[i].getCharPointer().findEndOfWhitespace()); + + if (matchToken (l, "newmtl")) { materials.add (material); material.name = String (l).trim(); continue; } + + if (matchToken (l, "Ka")) { material.ambient = parseVertex (l); continue; } + if (matchToken (l, "Kd")) { material.diffuse = parseVertex (l); continue; } + if (matchToken (l, "Ks")) { material.specular = parseVertex (l); continue; } + if (matchToken (l, "Kt")) { material.transmittance = parseVertex (l); continue; } + if (matchToken (l, "Ke")) { material.emission = parseVertex (l); continue; } + if (matchToken (l, "Ni")) { material.refractiveIndex = parseFloat (l); continue; } + if (matchToken (l, "Ns")) { material.shininess = parseFloat (l); continue; } + + if (matchToken (l, "map_Ka")) { material.ambientTextureName = String (l).trim(); continue; } + if (matchToken (l, "map_Kd")) { material.diffuseTextureName = String (l).trim(); continue; } + if (matchToken (l, "map_Ks")) { material.specularTextureName = String (l).trim(); continue; } + if (matchToken (l, "map_Ns")) { material.normalTextureName = String (l).trim(); continue; } + + StringArray tokens; + tokens.addTokens (l, " \t", ""); + + if (tokens.size() >= 2) + material.parameters.set (tokens[0].trim(), tokens[1].trim()); + } + + materials.add (material); + return Result::ok(); + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (WavefrontObjFile) +}; diff --git a/examples/OpenGLAppExample/Source/Resources/teapot.obj b/examples/OpenGLAppExample/Source/Resources/teapot.obj new file mode 100644 index 0000000000..b6c6810782 --- /dev/null +++ b/examples/OpenGLAppExample/Source/Resources/teapot.obj @@ -0,0 +1,2866 @@ +# Max2Obj Version 4.0 Mar 10th, 2001 +# +# object Teapot01 to come ... +# +v 5.929688 4.125000 0.000000 +v 5.832031 4.494141 0.000000 +v 5.945313 4.617188 0.000000 +v 6.175781 4.494141 0.000000 +v 6.429688 4.125000 0.000000 +v 5.387188 4.125000 2.747500 +v 5.297100 4.494141 2.709170 +v 5.401602 4.617188 2.753633 +v 5.614209 4.494141 2.844092 +v 5.848437 4.125000 2.943750 +v 3.899688 4.125000 4.970000 +v 3.830352 4.494141 4.900664 +v 3.910782 4.617188 4.981094 +v 4.074414 4.494141 5.144727 +v 4.254687 4.125000 5.325000 +v 1.677188 4.125000 6.457500 +v 1.638858 4.494141 6.367412 +v 1.683320 4.617188 6.471914 +v 1.773780 4.494141 6.684522 +v 1.873438 4.125000 6.918750 +v -1.070312 4.125000 7.000000 +v -1.070312 4.494141 6.902344 +v -1.070312 4.617188 7.015625 +v -1.070312 4.494141 7.246094 +v -1.070312 4.125000 7.500000 +v -4.007656 4.125000 6.457500 +v -3.859572 4.494141 6.367412 +v -3.847676 4.617188 6.471914 +v -3.917371 4.494141 6.684522 +v -4.014062 4.125000 6.918750 +v -6.209063 4.125000 4.970000 +v -6.042168 4.494141 4.900664 +v -6.072500 4.617188 4.981094 +v -6.217675 4.494141 5.144727 +v -6.395312 4.125000 5.325000 +v -7.591093 4.125000 2.747500 +v -7.464421 4.494141 2.709170 +v -7.550137 4.617188 2.753633 +v -7.755822 4.494141 2.844092 +v -7.989062 4.125000 2.943750 +v -8.070313 4.125000 0.000000 +v -7.972656 4.494141 0.000000 +v -8.085938 4.617188 0.000000 +v -8.316406 4.494141 0.000000 +v -8.570313 4.125000 0.000000 +v -7.527812 4.125000 -2.747500 +v -7.437724 4.494141 -2.709170 +v -7.542227 4.617188 -2.753633 +v -7.754834 4.494141 -2.844092 +v -7.989062 4.125000 -2.943750 +v -6.040312 4.125000 -4.970000 +v -5.970977 4.494141 -4.900664 +v -6.051406 4.617188 -4.981094 +v -6.215039 4.494141 -5.144727 +v -6.395312 4.125000 -5.325000 +v -3.817812 4.125000 -6.457500 +v -3.779482 4.494141 -6.367412 +v -3.823945 4.617188 -6.471914 +v -3.914404 4.494141 -6.684522 +v -4.014062 4.125000 -6.918750 +v -1.070312 4.125000 -7.000000 +v -1.070312 4.494141 -6.902344 +v -1.070312 4.617188 -7.015625 +v -1.070312 4.494141 -7.246094 +v -1.070312 4.125000 -7.500000 +v 1.677188 4.125000 -6.457500 +v 1.638858 4.494141 -6.367412 +v 1.683320 4.617188 -6.471914 +v 1.773780 4.494141 -6.684522 +v 1.873438 4.125000 -6.918750 +v 3.899688 4.125000 -4.970000 +v 3.830352 4.494141 -4.900664 +v 3.910782 4.617188 -4.981094 +v 4.074414 4.494141 -5.144727 +v 4.254687 4.125000 -5.325000 +v 5.387188 4.125000 -2.747500 +v 5.297100 4.494141 -2.709170 +v 5.401602 4.617188 -2.753633 +v 5.614209 4.494141 -2.844092 +v 5.848437 4.125000 -2.943750 +v 7.347656 2.162109 0.000000 +v 8.148438 0.234375 0.000000 +v 8.714844 -1.623047 0.000000 +v 8.929688 -3.375000 0.000000 +v 6.695264 2.162109 3.304053 +v 7.433985 0.234375 3.618360 +v 7.956494 -1.623047 3.840674 +v 8.154688 -3.375000 3.925000 +v 4.906446 2.162109 5.976758 +v 5.475000 0.234375 6.545312 +v 5.877149 -1.623047 6.947461 +v 6.029688 -3.375000 7.100000 +v 2.233740 2.162109 7.765576 +v 2.548047 0.234375 8.504297 +v 2.770362 -1.623047 9.026807 +v 2.854688 -3.375000 9.225000 +v -1.070312 2.162109 8.417969 +v -1.070312 0.234375 9.218750 +v -1.070312 -1.623047 9.785156 +v -1.070312 -3.375000 10.000000 +v -4.374365 2.162109 7.765576 +v -4.688672 0.234375 8.504297 +v -4.910986 -1.623047 9.026807 +v -4.995313 -3.375000 9.225000 +v -7.047071 2.162109 5.976758 +v -7.615624 0.234375 6.545312 +v -8.017773 -1.623047 6.947461 +v -8.170312 -3.375000 7.100000 +v -8.835889 2.162109 3.304053 +v -9.574610 0.234375 3.618360 +v -10.097119 -1.623047 3.840674 +v -10.295313 -3.375000 3.925000 +v -9.488281 2.162109 0.000000 +v -10.289063 0.234375 0.000000 +v -10.855469 -1.623047 0.000000 +v -11.070313 -3.375000 0.000000 +v -8.835889 2.162109 -3.304053 +v -9.574610 0.234375 -3.618360 +v -10.097119 -1.623047 -3.840674 +v -10.295313 -3.375000 -3.925000 +v -7.047071 2.162109 -5.976758 +v -7.615624 0.234375 -6.545312 +v -8.017773 -1.623047 -6.947461 +v -8.170312 -3.375000 -7.100000 +v -4.374365 2.162109 -7.765576 +v -4.688672 0.234375 -8.504297 +v -4.910986 -1.623047 -9.026807 +v -4.995313 -3.375000 -9.225000 +v -1.070312 2.162109 -8.417969 +v -1.070312 0.234375 -9.218750 +v -1.070312 -1.623047 -9.785156 +v -1.070312 -3.375000 -10.000000 +v 2.233740 2.162109 -7.765576 +v 2.548047 0.234375 -8.504297 +v 2.770362 -1.623047 -9.026807 +v 2.854688 -3.375000 -9.225000 +v 4.906446 2.162109 -5.976758 +v 5.475000 0.234375 -6.545312 +v 5.877149 -1.623047 -6.947461 +v 6.029688 -3.375000 -7.100000 +v 6.695264 2.162109 -3.304053 +v 7.433985 0.234375 -3.618360 +v 7.956494 -1.623047 -3.840674 +v 8.154688 -3.375000 -3.925000 +v 8.539063 -4.857422 0.000000 +v 7.679688 -5.953125 0.000000 +v 6.820313 -6.697266 0.000000 +v 6.429688 -7.125000 0.000000 +v 7.794336 -4.857422 3.771680 +v 7.001562 -5.953125 3.434375 +v 6.208789 -6.697266 3.097070 +v 5.848437 -7.125000 2.943750 +v 5.752343 -4.857422 6.822656 +v 5.142187 -5.953125 6.212500 +v 4.532031 -6.697266 5.602344 +v 4.254687 -7.125000 5.325000 +v 2.701367 -4.857422 8.864649 +v 2.364063 -5.953125 8.071875 +v 2.026758 -6.697266 7.279101 +v 1.873438 -7.125000 6.918750 +v -1.070312 -4.857422 9.609375 +v -1.070312 -5.953125 8.750000 +v -1.070312 -6.697266 7.890625 +v -1.070312 -7.125000 7.500000 +v -4.841992 -4.857422 8.864649 +v -4.504687 -5.953125 8.071875 +v -4.167383 -6.697266 7.279101 +v -4.014062 -7.125000 6.918750 +v -7.892968 -4.857422 6.822656 +v -7.282812 -5.953125 6.212500 +v -6.672656 -6.697266 5.602344 +v -6.395312 -7.125000 5.325000 +v -9.934961 -4.857422 3.771680 +v -9.142187 -5.953125 3.434375 +v -8.349414 -6.697266 3.097070 +v -7.989062 -7.125000 2.943750 +v -10.679688 -4.857422 0.000000 +v -9.820313 -5.953125 0.000000 +v -8.960938 -6.697266 0.000000 +v -8.570313 -7.125000 0.000000 +v -9.934961 -4.857422 -3.771680 +v -9.142187 -5.953125 -3.434375 +v -8.349414 -6.697266 -3.097070 +v -7.989062 -7.125000 -2.943750 +v -7.892968 -4.857422 -6.822656 +v -7.282812 -5.953125 -6.212500 +v -6.672656 -6.697266 -5.602344 +v -6.395312 -7.125000 -5.325000 +v -4.841992 -4.857422 -8.864649 +v -4.504687 -5.953125 -8.071875 +v -4.167383 -6.697266 -7.279101 +v -4.014062 -7.125000 -6.918750 +v -1.070312 -4.857422 -9.609375 +v -1.070312 -5.953125 -8.750000 +v -1.070312 -6.697266 -7.890625 +v -1.070312 -7.125000 -7.500000 +v 2.701367 -4.857422 -8.864649 +v 2.364063 -5.953125 -8.071875 +v 2.026758 -6.697266 -7.279101 +v 1.873438 -7.125000 -6.918750 +v 5.752343 -4.857422 -6.822656 +v 5.142187 -5.953125 -6.212500 +v 4.532031 -6.697266 -5.602344 +v 4.254687 -7.125000 -5.325000 +v 7.794336 -4.857422 -3.771680 +v 7.001562 -5.953125 -3.434375 +v 6.208789 -6.697266 -3.097070 +v 5.848437 -7.125000 -2.943750 +v 6.259766 -7.400391 0.000000 +v 5.351563 -7.640625 0.000000 +v 3.107422 -7.810547 0.000000 +v -1.070312 -7.875000 0.000000 +v 5.691685 -7.400391 2.877056 +v 4.853868 -7.640625 2.520586 +v 2.783648 -7.810547 1.639761 +v 4.134043 -7.400391 5.204355 +v 3.489219 -7.640625 4.559531 +v 1.895879 -7.810547 2.966191 +v 1.806743 -7.400391 6.761997 +v 1.450274 -7.640625 5.924180 +v 0.569448 -7.810547 3.853960 +v -1.070312 -7.400391 7.330078 +v -1.070312 -7.640625 6.421875 +v -1.070312 -7.810547 4.177734 +v -3.947368 -7.400391 6.761997 +v -3.590898 -7.640625 5.924180 +v -2.710073 -7.810547 3.853960 +v -6.274668 -7.400391 5.204355 +v -5.629844 -7.640625 4.559531 +v -4.036504 -7.810547 2.966191 +v -7.832309 -7.400391 2.877056 +v -6.994492 -7.640625 2.520586 +v -4.924272 -7.810547 1.639761 +v -8.400391 -7.400391 0.000000 +v -7.492188 -7.640625 0.000000 +v -5.248047 -7.810547 0.000000 +v -7.832309 -7.400391 -2.877056 +v -6.994492 -7.640625 -2.520586 +v -4.924272 -7.810547 -1.639761 +v -6.274668 -7.400391 -5.204355 +v -5.629844 -7.640625 -4.559531 +v -4.036504 -7.810547 -2.966191 +v -3.947368 -7.400391 -6.761997 +v -3.590898 -7.640625 -5.924180 +v -2.710073 -7.810547 -3.853960 +v -1.070312 -7.400391 -7.330078 +v -1.070312 -7.640625 -6.421875 +v -1.070312 -7.810547 -4.177734 +v 1.806743 -7.400391 -6.761997 +v 1.450274 -7.640625 -5.924180 +v 0.569448 -7.810547 -3.853960 +v 4.134043 -7.400391 -5.204355 +v 3.489219 -7.640625 -4.559531 +v 1.895879 -7.810547 -2.966191 +v 5.691685 -7.400391 -2.877056 +v 4.853868 -7.640625 -2.520586 +v 2.783648 -7.810547 -1.639761 +v -9.070313 2.250000 0.000000 +v -11.406250 2.232422 0.000000 +v -13.132813 2.109375 0.000000 +v -14.203125 1.775391 0.000000 +v -14.570313 1.125000 0.000000 +v -8.992188 2.425781 0.843750 +v -11.475830 2.405457 0.843750 +v -13.298828 2.263184 0.843750 +v -14.421631 1.877014 0.843750 +v -14.804688 1.125000 0.843750 +v -8.820313 2.812500 1.125000 +v -11.628906 2.786134 1.125000 +v -13.664063 2.601563 1.125000 +v -14.902344 2.100586 1.125000 +v -15.320313 1.125000 1.125000 +v -8.648438 3.199219 0.843750 +v -11.781982 3.166809 0.843750 +v -14.029297 2.939941 0.843750 +v -15.383057 2.324158 0.843750 +v -15.835938 1.125000 0.843750 +v -8.570313 3.375000 0.000000 +v -11.851563 3.339844 0.000000 +v -14.195313 3.093750 0.000000 +v -15.601563 2.425781 0.000000 +v -16.070313 1.125000 0.000000 +v -8.648438 3.199219 -0.843750 +v -11.781982 3.166809 -0.843750 +v -14.029297 2.939941 -0.843750 +v -15.383057 2.324158 -0.843750 +v -15.835938 1.125000 -0.843750 +v -8.820313 2.812500 -1.125000 +v -11.628906 2.786134 -1.125000 +v -13.664063 2.601563 -1.125000 +v -14.902344 2.100586 -1.125000 +v -15.320313 1.125000 -1.125000 +v -8.992188 2.425781 -0.843750 +v -11.475830 2.405457 -0.843750 +v -13.298828 2.263184 -0.843750 +v -14.421631 1.877014 -0.843750 +v -14.804688 1.125000 -0.843750 +v -14.375000 0.105469 0.000000 +v -13.757813 -1.125000 0.000000 +v -12.671875 -2.355469 0.000000 +v -11.070313 -3.375000 0.000000 +v -14.588013 0.007050 0.843750 +v -13.909180 -1.275146 0.843750 +v -12.724976 -2.540863 0.843750 +v -10.992188 -3.609375 0.843750 +v -15.056641 -0.209473 1.125000 +v -14.242188 -1.605469 1.125000 +v -12.841797 -2.948730 1.125000 +v -10.820313 -4.125000 1.125000 +v -15.525269 -0.425995 0.843750 +v -14.575195 -1.935791 0.843750 +v -12.958618 -3.356598 0.843750 +v -10.648438 -4.640625 0.843750 +v -15.738281 -0.524414 0.000000 +v -14.726563 -2.085938 0.000000 +v -13.011719 -3.541992 0.000000 +v -10.570313 -4.875000 0.000000 +v -15.525269 -0.425995 -0.843750 +v -14.575195 -1.935791 -0.843750 +v -12.958618 -3.356598 -0.843750 +v -10.648438 -4.640625 -0.843750 +v -15.056641 -0.209473 -1.125000 +v -14.242188 -1.605469 -1.125000 +v -12.841797 -2.948730 -1.125000 +v -10.820313 -4.125000 -1.125000 +v -14.588013 0.007050 -0.843750 +v -13.909180 -1.275146 -0.843750 +v -12.724976 -2.540863 -0.843750 +v -10.992188 -3.609375 -0.843750 +v 7.429688 -0.750000 0.000000 +v 9.828125 -0.199219 0.000000 +v 10.867188 1.125000 0.000000 +v 11.437500 2.730469 0.000000 +v 12.429688 4.125000 0.000000 +v 7.429688 -1.394531 1.856250 +v 10.011230 -0.677124 1.676074 +v 11.101563 0.846680 1.279688 +v 11.723145 2.629761 0.883301 +v 12.898438 4.125000 0.703125 +v 7.429688 -2.812500 2.475000 +v 10.414063 -1.728516 2.234766 +v 11.617188 0.234375 1.706250 +v 12.351563 2.408203 1.177734 +v 13.929688 4.125000 0.937500 +v 7.429688 -4.230469 1.856250 +v 10.816895 -2.779907 1.676074 +v 12.132813 -0.377930 1.279688 +v 12.979980 2.186646 0.883301 +v 14.960938 4.125000 0.703125 +v 7.429688 -4.875000 0.000000 +v 11.000000 -3.257813 0.000000 +v 12.367188 -0.656250 0.000000 +v 13.265625 2.085938 0.000000 +v 15.429688 4.125000 0.000000 +v 7.429688 -4.230469 -1.856250 +v 10.816895 -2.779907 -1.676074 +v 12.132813 -0.377930 -1.279688 +v 12.979980 2.186646 -0.883301 +v 14.960938 4.125000 -0.703125 +v 7.429688 -2.812500 -2.475000 +v 10.414063 -1.728516 -2.234766 +v 11.617188 0.234375 -1.706250 +v 12.351563 2.408203 -1.177734 +v 13.929688 4.125000 -0.937500 +v 7.429688 -1.394531 -1.856250 +v 10.011230 -0.677124 -1.676074 +v 11.101563 0.846680 -1.279688 +v 11.723145 2.629761 -0.883301 +v 12.898438 4.125000 -0.703125 +v 12.789063 4.335938 0.000000 +v 13.054688 4.406250 0.000000 +v 13.132813 4.335938 0.000000 +v 12.929688 4.125000 0.000000 +v 13.291077 4.346237 0.659180 +v 13.525879 4.422729 0.562500 +v 13.532898 4.350357 0.465820 +v 13.242188 4.125000 0.421875 +v 14.395508 4.368896 0.878906 +v 14.562500 4.458984 0.750000 +v 14.413086 4.382080 0.621094 +v 13.929688 4.125000 0.562500 +v 15.499939 4.391556 0.659180 +v 15.599121 4.495239 0.562500 +v 15.293274 4.413804 0.465820 +v 14.617188 4.125000 0.421875 +v 16.001953 4.401855 0.000000 +v 16.070313 4.511719 0.000000 +v 15.693359 4.428224 0.000000 +v 14.929688 4.125000 0.000000 +v 15.499939 4.391556 -0.659180 +v 15.599121 4.495239 -0.562500 +v 15.293274 4.413804 -0.465820 +v 14.617188 4.125000 -0.421875 +v 14.395508 4.368896 -0.878906 +v 14.562500 4.458984 -0.750000 +v 14.413086 4.382080 -0.621094 +v 13.929688 4.125000 -0.562500 +v 13.291077 4.346237 -0.659180 +v 13.525879 4.422729 -0.562500 +v 13.532898 4.350357 -0.465820 +v 13.242188 4.125000 -0.421875 +v -1.070312 7.875000 0.000000 +v 0.632813 7.628906 0.000000 +v 0.554688 7.031250 0.000000 +v -0.085937 6.292969 0.000000 +v -0.070312 5.625000 0.000000 +v 0.501414 7.628906 0.670256 +v 0.429278 7.031250 0.639395 +v -0.162029 6.292969 0.386960 +v -0.147812 5.625000 0.392500 +v 0.140489 7.628906 1.210801 +v 0.084844 7.031250 1.155156 +v -0.370879 6.292969 0.699434 +v -0.360312 5.625000 0.710000 +v -0.400056 7.628906 1.571726 +v -0.430918 7.031250 1.499590 +v -0.683352 6.292969 0.908284 +v -0.677812 5.625000 0.922500 +v -1.070312 7.628906 1.703125 +v -1.070312 7.031250 1.625000 +v -1.070312 6.292969 0.984375 +v -1.070312 5.625000 1.000000 +v -1.740569 7.628906 1.571726 +v -1.709707 7.031250 1.499590 +v -1.457273 6.292969 0.908284 +v -1.462812 5.625000 0.922500 +v -2.281113 7.628906 1.210801 +v -2.225469 7.031250 1.155156 +v -1.769746 6.292969 0.699434 +v -1.780312 5.625000 0.710000 +v -2.642038 7.628906 0.670256 +v -2.569902 7.031250 0.639395 +v -1.978596 6.292969 0.386960 +v -1.992812 5.625000 0.392500 +v -2.773438 7.628906 0.000000 +v -2.695313 7.031250 0.000000 +v -2.054687 6.292969 0.000000 +v -2.070312 5.625000 0.000000 +v -2.642038 7.628906 -0.670256 +v -2.569902 7.031250 -0.639395 +v -1.978596 6.292969 -0.386960 +v -1.992812 5.625000 -0.392500 +v -2.281113 7.628906 -1.210801 +v -2.225469 7.031250 -1.155156 +v -1.769746 6.292969 -0.699434 +v -1.780312 5.625000 -0.710000 +v -1.740569 7.628906 -1.571726 +v -1.709707 7.031250 -1.499590 +v -1.457273 6.292969 -0.908284 +v -1.462812 5.625000 -0.922500 +v -1.070312 7.628906 -1.703125 +v -1.070312 7.031250 -1.625000 +v -1.070312 6.292969 -0.984375 +v -1.070312 5.625000 -1.000000 +v -0.400056 7.628906 -1.571726 +v -0.430918 7.031250 -1.499590 +v -0.683352 6.292969 -0.908284 +v -0.677812 5.625000 -0.922500 +v 0.140489 7.628906 -1.210801 +v 0.084844 7.031250 -1.155156 +v -0.370879 6.292969 -0.699434 +v -0.360312 5.625000 -0.710000 +v 0.501414 7.628906 -0.670256 +v 0.429278 7.031250 -0.639395 +v -0.162029 6.292969 -0.386960 +v -0.147812 5.625000 -0.392500 +v 1.210938 5.179688 0.000000 +v 3.054688 4.875000 0.000000 +v 4.710938 4.570313 0.000000 +v 5.429688 4.125000 0.000000 +v 1.034141 5.179688 0.895391 +v 2.735000 4.875000 1.619062 +v 4.262891 4.570313 2.269140 +v 4.925938 4.125000 2.551250 +v 0.549375 5.179688 1.619688 +v 1.858438 4.875000 2.928750 +v 3.034375 4.570313 4.104687 +v 3.544688 4.125000 4.615000 +v -0.174922 5.179688 2.104453 +v 0.548750 4.875000 3.805313 +v 1.198828 4.570313 5.333203 +v 1.480938 4.125000 5.996250 +v -1.070312 5.179688 2.281250 +v -1.070312 4.875000 4.125000 +v -1.070312 4.570313 5.781250 +v -1.070312 4.125000 6.500000 +v -1.965703 5.179688 2.104453 +v -2.689375 4.875000 3.805313 +v -3.339453 4.570313 5.333203 +v -3.621562 4.125000 5.996250 +v -2.690000 5.179688 1.619688 +v -3.999062 4.875000 2.928750 +v -5.174999 4.570313 4.104687 +v -5.685312 4.125000 4.615000 +v -3.174765 5.179688 0.895391 +v -4.875625 4.875000 1.619062 +v -6.403516 4.570313 2.269140 +v -7.066563 4.125000 2.551250 +v -3.351562 5.179688 0.000000 +v -5.195313 4.875000 0.000000 +v -6.851563 4.570313 0.000000 +v -7.570313 4.125000 0.000000 +v -3.174765 5.179688 -0.895391 +v -4.875625 4.875000 -1.619062 +v -6.403516 4.570313 -2.269140 +v -7.066563 4.125000 -2.551250 +v -2.690000 5.179688 -1.619688 +v -3.999062 4.875000 -2.928750 +v -5.174999 4.570313 -4.104687 +v -5.685312 4.125000 -4.615000 +v -1.965703 5.179688 -2.104453 +v -2.689375 4.875000 -3.805313 +v -3.339453 4.570313 -5.333203 +v -3.621562 4.125000 -5.996250 +v -1.070312 5.179688 -2.281250 +v -1.070312 4.875000 -4.125000 +v -1.070312 4.570313 -5.781250 +v -1.070312 4.125000 -6.500000 +v -0.174922 5.179688 -2.104453 +v 0.548750 4.875000 -3.805313 +v 1.198828 4.570313 -5.333203 +v 1.480938 4.125000 -5.996250 +v 0.549375 5.179688 -1.619688 +v 1.858438 4.875000 -2.928750 +v 3.034375 4.570313 -4.104687 +v 3.544688 4.125000 -4.615000 +v 1.034141 5.179688 -0.895391 +v 2.735000 4.875000 -1.619062 +v 4.262891 4.570313 -2.269140 +v 4.925938 4.125000 -2.551250 +# 530 vertices + +vt 2.000000 2.000000 0.000000 +vt 2.000000 1.975000 0.000000 +vt 2.000000 1.950000 0.000000 +vt 2.000000 1.925000 0.000000 +vt 2.000000 1.900000 0.000000 +vt 1.750000 2.000000 0.000000 +vt 1.750000 1.975000 0.000000 +vt 1.750000 1.950000 0.000000 +vt 1.750000 1.925000 0.000000 +vt 1.750000 1.900000 0.000000 +vt 1.500000 2.000000 0.000000 +vt 1.500000 1.975000 0.000000 +vt 1.500000 1.950000 0.000000 +vt 1.500000 1.925000 0.000000 +vt 1.500000 1.900000 0.000000 +vt 1.250000 2.000000 0.000000 +vt 1.250000 1.975000 0.000000 +vt 1.250000 1.950000 0.000000 +vt 1.250000 1.925000 0.000000 +vt 1.250000 1.900000 0.000000 +vt 1.000000 2.000000 0.000000 +vt 1.000000 1.975000 0.000000 +vt 1.000000 1.950000 0.000000 +vt 1.000000 1.925000 0.000000 +vt 1.000000 1.900000 0.000000 +vt 1.000000 2.000000 0.000000 +vt 1.000000 1.975000 0.000000 +vt 1.000000 1.950000 0.000000 +vt 1.000000 1.925000 0.000000 +vt 1.000000 1.900000 0.000000 +vt 0.750000 2.000000 0.000000 +vt 0.750000 1.975000 0.000000 +vt 0.750000 1.950000 0.000000 +vt 0.750000 1.925000 0.000000 +vt 0.750000 1.900000 0.000000 +vt 0.500000 2.000000 0.000000 +vt 0.500000 1.975000 0.000000 +vt 0.500000 1.950000 0.000000 +vt 0.500000 1.925000 0.000000 +vt 0.500000 1.900000 0.000000 +vt 0.250000 2.000000 0.000000 +vt 0.250000 1.975000 0.000000 +vt 0.250000 1.950000 0.000000 +vt 0.250000 1.925000 0.000000 +vt 0.250000 1.900000 0.000000 +vt 0.000000 2.000000 0.000000 +vt 0.000000 1.975000 0.000000 +vt 0.000000 1.950000 0.000000 +vt 0.000000 1.925000 0.000000 +vt 0.000000 1.900000 0.000000 +vt 2.000000 2.000000 0.000000 +vt 2.000000 1.975000 0.000000 +vt 2.000000 1.950000 0.000000 +vt 2.000000 1.925000 0.000000 +vt 2.000000 1.900000 0.000000 +vt 1.750000 2.000000 0.000000 +vt 1.750000 1.975000 0.000000 +vt 1.750000 1.950000 0.000000 +vt 1.750000 1.925000 0.000000 +vt 1.750000 1.900000 0.000000 +vt 1.500000 2.000000 0.000000 +vt 1.500000 1.975000 0.000000 +vt 1.500000 1.950000 0.000000 +vt 1.500000 1.925000 0.000000 +vt 1.500000 1.900000 0.000000 +vt 1.250000 2.000000 0.000000 +vt 1.250000 1.975000 0.000000 +vt 1.250000 1.950000 0.000000 +vt 1.250000 1.925000 0.000000 +vt 1.250000 1.900000 0.000000 +vt 1.000000 2.000000 0.000000 +vt 1.000000 1.975000 0.000000 +vt 1.000000 1.950000 0.000000 +vt 1.000000 1.925000 0.000000 +vt 1.000000 1.900000 0.000000 +vt 1.000000 2.000000 0.000000 +vt 1.000000 1.975000 0.000000 +vt 1.000000 1.950000 0.000000 +vt 1.000000 1.925000 0.000000 +vt 1.000000 1.900000 0.000000 +vt 0.750000 2.000000 0.000000 +vt 0.750000 1.975000 0.000000 +vt 0.750000 1.950000 0.000000 +vt 0.750000 1.925000 0.000000 +vt 0.750000 1.900000 0.000000 +vt 0.500000 2.000000 0.000000 +vt 0.500000 1.975000 0.000000 +vt 0.500000 1.950000 0.000000 +vt 0.500000 1.925000 0.000000 +vt 0.500000 1.900000 0.000000 +vt 0.250000 2.000000 0.000000 +vt 0.250000 1.975000 0.000000 +vt 0.250000 1.950000 0.000000 +vt 0.250000 1.925000 0.000000 +vt 0.250000 1.900000 0.000000 +vt 0.000000 2.000000 0.000000 +vt 0.000000 1.975000 0.000000 +vt 0.000000 1.950000 0.000000 +vt 0.000000 1.925000 0.000000 +vt 0.000000 1.900000 0.000000 +vt 2.000000 1.900000 0.000000 +vt 2.000000 1.675000 0.000000 +vt 2.000000 1.450000 0.000000 +vt 2.000000 1.225000 0.000000 +vt 2.000000 1.000000 0.000000 +vt 1.750000 1.900000 0.000000 +vt 1.750000 1.675000 0.000000 +vt 1.750000 1.450000 0.000000 +vt 1.750000 1.225000 0.000000 +vt 1.750000 1.000000 0.000000 +vt 1.500000 1.900000 0.000000 +vt 1.500000 1.675000 0.000000 +vt 1.500000 1.450000 0.000000 +vt 1.500000 1.225000 0.000000 +vt 1.500000 1.000000 0.000000 +vt 1.250000 1.900000 0.000000 +vt 1.250000 1.675000 0.000000 +vt 1.250000 1.450000 0.000000 +vt 1.250000 1.225000 0.000000 +vt 1.250000 1.000000 0.000000 +vt 1.000000 1.900000 0.000000 +vt 1.000000 1.675000 0.000000 +vt 1.000000 1.450000 0.000000 +vt 1.000000 1.225000 0.000000 +vt 1.000000 1.000000 0.000000 +vt 1.000000 1.900000 0.000000 +vt 1.000000 1.675000 0.000000 +vt 1.000000 1.450000 0.000000 +vt 1.000000 1.225000 0.000000 +vt 1.000000 1.000000 0.000000 +vt 0.750000 1.900000 0.000000 +vt 0.750000 1.675000 0.000000 +vt 0.750000 1.450000 0.000000 +vt 0.750000 1.225000 0.000000 +vt 0.750000 1.000000 0.000000 +vt 0.500000 1.900000 0.000000 +vt 0.500000 1.675000 0.000000 +vt 0.500000 1.450000 0.000000 +vt 0.500000 1.225000 0.000000 +vt 0.500000 1.000000 0.000000 +vt 0.250000 1.900000 0.000000 +vt 0.250000 1.675000 0.000000 +vt 0.250000 1.450000 0.000000 +vt 0.250000 1.225000 0.000000 +vt 0.250000 1.000000 0.000000 +vt 0.000000 1.900000 0.000000 +vt 0.000000 1.675000 0.000000 +vt 0.000000 1.450000 0.000000 +vt 0.000000 1.225000 0.000000 +vt 0.000000 1.000000 0.000000 +vt 2.000000 1.900000 0.000000 +vt 2.000000 1.675000 0.000000 +vt 2.000000 1.450000 0.000000 +vt 2.000000 1.225000 0.000000 +vt 2.000000 1.000000 0.000000 +vt 1.750000 1.900000 0.000000 +vt 1.750000 1.675000 0.000000 +vt 1.750000 1.450000 0.000000 +vt 1.750000 1.225000 0.000000 +vt 1.750000 1.000000 0.000000 +vt 1.500000 1.900000 0.000000 +vt 1.500000 1.675000 0.000000 +vt 1.500000 1.450000 0.000000 +vt 1.500000 1.225000 0.000000 +vt 1.500000 1.000000 0.000000 +vt 1.250000 1.900000 0.000000 +vt 1.250000 1.675000 0.000000 +vt 1.250000 1.450000 0.000000 +vt 1.250000 1.225000 0.000000 +vt 1.250000 1.000000 0.000000 +vt 1.000000 1.900000 0.000000 +vt 1.000000 1.675000 0.000000 +vt 1.000000 1.450000 0.000000 +vt 1.000000 1.225000 0.000000 +vt 1.000000 1.000000 0.000000 +vt 1.000000 1.900000 0.000000 +vt 1.000000 1.675000 0.000000 +vt 1.000000 1.450000 0.000000 +vt 1.000000 1.225000 0.000000 +vt 1.000000 1.000000 0.000000 +vt 0.750000 1.900000 0.000000 +vt 0.750000 1.675000 0.000000 +vt 0.750000 1.450000 0.000000 +vt 0.750000 1.225000 0.000000 +vt 0.750000 1.000000 0.000000 +vt 0.500000 1.900000 0.000000 +vt 0.500000 1.675000 0.000000 +vt 0.500000 1.450000 0.000000 +vt 0.500000 1.225000 0.000000 +vt 0.500000 1.000000 0.000000 +vt 0.250000 1.900000 0.000000 +vt 0.250000 1.675000 0.000000 +vt 0.250000 1.450000 0.000000 +vt 0.250000 1.225000 0.000000 +vt 0.250000 1.000000 0.000000 +vt 0.000000 1.900000 0.000000 +vt 0.000000 1.675000 0.000000 +vt 0.000000 1.450000 0.000000 +vt 0.000000 1.225000 0.000000 +vt 0.000000 1.000000 0.000000 +vt 2.000000 1.000000 0.000000 +vt 2.000000 0.850000 0.000000 +vt 2.000000 0.700000 0.000000 +vt 2.000000 0.550000 0.000000 +vt 2.000000 0.400000 0.000000 +vt 1.750000 1.000000 0.000000 +vt 1.750000 0.850000 0.000000 +vt 1.750000 0.700000 0.000000 +vt 1.750000 0.550000 0.000000 +vt 1.750000 0.400000 0.000000 +vt 1.500000 1.000000 0.000000 +vt 1.500000 0.850000 0.000000 +vt 1.500000 0.700000 0.000000 +vt 1.500000 0.550000 0.000000 +vt 1.500000 0.400000 0.000000 +vt 1.250000 1.000000 0.000000 +vt 1.250000 0.850000 0.000000 +vt 1.250000 0.700000 0.000000 +vt 1.250000 0.550000 0.000000 +vt 1.250000 0.400000 0.000000 +vt 1.000000 1.000000 0.000000 +vt 1.000000 0.850000 0.000000 +vt 1.000000 0.700000 0.000000 +vt 1.000000 0.550000 0.000000 +vt 1.000000 0.400000 0.000000 +vt 1.000000 1.000000 0.000000 +vt 1.000000 0.850000 0.000000 +vt 1.000000 0.700000 0.000000 +vt 1.000000 0.550000 0.000000 +vt 1.000000 0.400000 0.000000 +vt 0.750000 1.000000 0.000000 +vt 0.750000 0.850000 0.000000 +vt 0.750000 0.700000 0.000000 +vt 0.750000 0.550000 0.000000 +vt 0.750000 0.400000 0.000000 +vt 0.500000 1.000000 0.000000 +vt 0.500000 0.850000 0.000000 +vt 0.500000 0.700000 0.000000 +vt 0.500000 0.550000 0.000000 +vt 0.500000 0.400000 0.000000 +vt 0.250000 1.000000 0.000000 +vt 0.250000 0.850000 0.000000 +vt 0.250000 0.700000 0.000000 +vt 0.250000 0.550000 0.000000 +vt 0.250000 0.400000 0.000000 +vt 0.000000 1.000000 0.000000 +vt 0.000000 0.850000 0.000000 +vt 0.000000 0.700000 0.000000 +vt 0.000000 0.550000 0.000000 +vt 0.000000 0.400000 0.000000 +vt 2.000000 1.000000 0.000000 +vt 2.000000 0.850000 0.000000 +vt 2.000000 0.700000 0.000000 +vt 2.000000 0.550000 0.000000 +vt 2.000000 0.400000 0.000000 +vt 1.750000 1.000000 0.000000 +vt 1.750000 0.850000 0.000000 +vt 1.750000 0.700000 0.000000 +vt 1.750000 0.550000 0.000000 +vt 1.750000 0.400000 0.000000 +vt 1.500000 1.000000 0.000000 +vt 1.500000 0.850000 0.000000 +vt 1.500000 0.700000 0.000000 +vt 1.500000 0.550000 0.000000 +vt 1.500000 0.400000 0.000000 +vt 1.250000 1.000000 0.000000 +vt 1.250000 0.850000 0.000000 +vt 1.250000 0.700000 0.000000 +vt 1.250000 0.550000 0.000000 +vt 1.250000 0.400000 0.000000 +vt 1.000000 1.000000 0.000000 +vt 1.000000 0.850000 0.000000 +vt 1.000000 0.700000 0.000000 +vt 1.000000 0.550000 0.000000 +vt 1.000000 0.400000 0.000000 +vt 1.000000 1.000000 0.000000 +vt 1.000000 0.850000 0.000000 +vt 1.000000 0.700000 0.000000 +vt 1.000000 0.550000 0.000000 +vt 1.000000 0.400000 0.000000 +vt 0.750000 1.000000 0.000000 +vt 0.750000 0.850000 0.000000 +vt 0.750000 0.700000 0.000000 +vt 0.750000 0.550000 0.000000 +vt 0.750000 0.400000 0.000000 +vt 0.500000 1.000000 0.000000 +vt 0.500000 0.850000 0.000000 +vt 0.500000 0.700000 0.000000 +vt 0.500000 0.550000 0.000000 +vt 0.500000 0.400000 0.000000 +vt 0.250000 1.000000 0.000000 +vt 0.250000 0.850000 0.000000 +vt 0.250000 0.700000 0.000000 +vt 0.250000 0.550000 0.000000 +vt 0.250000 0.400000 0.000000 +vt 0.000000 1.000000 0.000000 +vt 0.000000 0.850000 0.000000 +vt 0.000000 0.700000 0.000000 +vt 0.000000 0.550000 0.000000 +vt 0.000000 0.400000 0.000000 +vt 2.000000 0.400000 0.000000 +vt 2.000000 0.300000 0.000000 +vt 2.000000 0.200000 0.000000 +vt 2.000000 0.100000 0.000000 +vt 2.000000 0.000000 0.000000 +vt 1.750000 0.400000 0.000000 +vt 1.750000 0.300000 0.000000 +vt 1.750000 0.200000 0.000000 +vt 1.750000 0.100000 0.000000 +vt 1.750000 0.000000 0.000000 +vt 1.500000 0.400000 0.000000 +vt 1.500000 0.300000 0.000000 +vt 1.500000 0.200000 0.000000 +vt 1.500000 0.100000 0.000000 +vt 1.500000 0.000000 0.000000 +vt 1.250000 0.400000 0.000000 +vt 1.250000 0.300000 0.000000 +vt 1.250000 0.200000 0.000000 +vt 1.250000 0.100000 0.000000 +vt 1.250000 0.000000 0.000000 +vt 1.000000 0.400000 0.000000 +vt 1.000000 0.300000 0.000000 +vt 1.000000 0.200000 0.000000 +vt 1.000000 0.100000 0.000000 +vt 1.000000 0.000000 0.000000 +vt 1.000000 0.400000 0.000000 +vt 1.000000 0.300000 0.000000 +vt 1.000000 0.200000 0.000000 +vt 1.000000 0.100000 0.000000 +vt 1.000000 0.000000 0.000000 +vt 0.750000 0.400000 0.000000 +vt 0.750000 0.300000 0.000000 +vt 0.750000 0.200000 0.000000 +vt 0.750000 0.100000 0.000000 +vt 0.750000 0.000000 0.000000 +vt 0.500000 0.400000 0.000000 +vt 0.500000 0.300000 0.000000 +vt 0.500000 0.200000 0.000000 +vt 0.500000 0.100000 0.000000 +vt 0.500000 0.000000 0.000000 +vt 0.250000 0.400000 0.000000 +vt 0.250000 0.300000 0.000000 +vt 0.250000 0.200000 0.000000 +vt 0.250000 0.100000 0.000000 +vt 0.250000 0.000000 0.000000 +vt 0.000000 0.400000 0.000000 +vt 0.000000 0.300000 0.000000 +vt 0.000000 0.200000 0.000000 +vt 0.000000 0.100000 0.000000 +vt 0.000000 0.000000 0.000000 +vt 2.000000 0.400000 0.000000 +vt 2.000000 0.300000 0.000000 +vt 2.000000 0.200000 0.000000 +vt 2.000000 0.100000 0.000000 +vt 2.000000 0.000000 0.000000 +vt 1.750000 0.400000 0.000000 +vt 1.750000 0.300000 0.000000 +vt 1.750000 0.200000 0.000000 +vt 1.750000 0.100000 0.000000 +vt 1.750000 0.000000 0.000000 +vt 1.500000 0.400000 0.000000 +vt 1.500000 0.300000 0.000000 +vt 1.500000 0.200000 0.000000 +vt 1.500000 0.100000 0.000000 +vt 1.500000 0.000000 0.000000 +vt 1.250000 0.400000 0.000000 +vt 1.250000 0.300000 0.000000 +vt 1.250000 0.200000 0.000000 +vt 1.250000 0.100000 0.000000 +vt 1.250000 0.000000 0.000000 +vt 1.000000 0.400000 0.000000 +vt 1.000000 0.300000 0.000000 +vt 1.000000 0.200000 0.000000 +vt 1.000000 0.100000 0.000000 +vt 1.000000 0.000000 0.000000 +vt 1.000000 0.400000 0.000000 +vt 1.000000 0.300000 0.000000 +vt 1.000000 0.200000 0.000000 +vt 1.000000 0.100000 0.000000 +vt 1.000000 0.000000 0.000000 +vt 0.750000 0.400000 0.000000 +vt 0.750000 0.300000 0.000000 +vt 0.750000 0.200000 0.000000 +vt 0.750000 0.100000 0.000000 +vt 0.750000 0.000000 0.000000 +vt 0.500000 0.400000 0.000000 +vt 0.500000 0.300000 0.000000 +vt 0.500000 0.200000 0.000000 +vt 0.500000 0.100000 0.000000 +vt 0.500000 0.000000 0.000000 +vt 0.250000 0.400000 0.000000 +vt 0.250000 0.300000 0.000000 +vt 0.250000 0.200000 0.000000 +vt 0.250000 0.100000 0.000000 +vt 0.250000 0.000000 0.000000 +vt 0.000000 0.400000 0.000000 +vt 0.000000 0.300000 0.000000 +vt 0.000000 0.200000 0.000000 +vt 0.000000 0.100000 0.000000 +vt 0.000000 0.000000 0.000000 +vt 1.000000 1.000000 0.000000 +vt 1.000000 0.875000 0.000000 +vt 1.000000 0.750000 0.000000 +vt 1.000000 0.625000 0.000000 +vt 1.000000 0.500000 0.000000 +vt 0.875000 1.000000 0.000000 +vt 0.875000 0.875000 0.000000 +vt 0.875000 0.750000 0.000000 +vt 0.875000 0.625000 0.000000 +vt 0.875000 0.500000 0.000000 +vt 0.750000 1.000000 0.000000 +vt 0.750000 0.875000 0.000000 +vt 0.750000 0.750000 0.000000 +vt 0.750000 0.625000 0.000000 +vt 0.750000 0.500000 0.000000 +vt 0.625000 1.000000 0.000000 +vt 0.625000 0.875000 0.000000 +vt 0.625000 0.750000 0.000000 +vt 0.625000 0.625000 0.000000 +vt 0.625000 0.500000 0.000000 +vt 0.500000 1.000000 0.000000 +vt 0.500000 0.875000 0.000000 +vt 0.500000 0.750000 0.000000 +vt 0.500000 0.625000 0.000000 +vt 0.500000 0.500000 0.000000 +vt 0.500000 1.000000 0.000000 +vt 0.500000 0.875000 0.000000 +vt 0.500000 0.750000 0.000000 +vt 0.500000 0.625000 0.000000 +vt 0.500000 0.500000 0.000000 +vt 0.375000 1.000000 0.000000 +vt 0.375000 0.875000 0.000000 +vt 0.375000 0.750000 0.000000 +vt 0.375000 0.625000 0.000000 +vt 0.375000 0.500000 0.000000 +vt 0.250000 1.000000 0.000000 +vt 0.250000 0.875000 0.000000 +vt 0.250000 0.750000 0.000000 +vt 0.250000 0.625000 0.000000 +vt 0.250000 0.500000 0.000000 +vt 0.125000 1.000000 0.000000 +vt 0.125000 0.875000 0.000000 +vt 0.125000 0.750000 0.000000 +vt 0.125000 0.625000 0.000000 +vt 0.125000 0.500000 0.000000 +vt 0.000000 1.000000 0.000000 +vt 0.000000 0.875000 0.000000 +vt 0.000000 0.750000 0.000000 +vt 0.000000 0.625000 0.000000 +vt 0.000000 0.500000 0.000000 +vt 1.000000 0.500000 0.000000 +vt 1.000000 0.375000 0.000000 +vt 1.000000 0.250000 0.000000 +vt 1.000000 0.125000 0.000000 +vt 1.000000 0.000000 0.000000 +vt 0.875000 0.500000 0.000000 +vt 0.875000 0.375000 0.000000 +vt 0.875000 0.250000 0.000000 +vt 0.875000 0.125000 0.000000 +vt 0.875000 0.000000 0.000000 +vt 0.750000 0.500000 0.000000 +vt 0.750000 0.375000 0.000000 +vt 0.750000 0.250000 0.000000 +vt 0.750000 0.125000 0.000000 +vt 0.750000 0.000000 0.000000 +vt 0.625000 0.500000 0.000000 +vt 0.625000 0.375000 0.000000 +vt 0.625000 0.250000 0.000000 +vt 0.625000 0.125000 0.000000 +vt 0.625000 0.000000 0.000000 +vt 0.500000 0.500000 0.000000 +vt 0.500000 0.375000 0.000000 +vt 0.500000 0.250000 0.000000 +vt 0.500000 0.125000 0.000000 +vt 0.500000 0.000000 0.000000 +vt 0.500000 0.500000 0.000000 +vt 0.500000 0.375000 0.000000 +vt 0.500000 0.250000 0.000000 +vt 0.500000 0.125000 0.000000 +vt 0.500000 0.000000 0.000000 +vt 0.375000 0.500000 0.000000 +vt 0.375000 0.375000 0.000000 +vt 0.375000 0.250000 0.000000 +vt 0.375000 0.125000 0.000000 +vt 0.375000 0.000000 0.000000 +vt 0.250000 0.500000 0.000000 +vt 0.250000 0.375000 0.000000 +vt 0.250000 0.250000 0.000000 +vt 0.250000 0.125000 0.000000 +vt 0.250000 0.000000 0.000000 +vt 0.125000 0.500000 0.000000 +vt 0.125000 0.375000 0.000000 +vt 0.125000 0.250000 0.000000 +vt 0.125000 0.125000 0.000000 +vt 0.125000 0.000000 0.000000 +vt 0.000000 0.500000 0.000000 +vt 0.000000 0.375000 0.000000 +vt 0.000000 0.250000 0.000000 +vt 0.000000 0.125000 0.000000 +vt 0.000000 0.000000 0.000000 +vt 0.500000 0.000000 0.000000 +vt 0.500000 0.225000 0.000000 +vt 0.500000 0.450000 0.000000 +vt 0.500000 0.675000 0.000000 +vt 0.500000 0.900000 0.000000 +vt 0.625000 0.000000 0.000000 +vt 0.625000 0.225000 0.000000 +vt 0.625000 0.450000 0.000000 +vt 0.625000 0.675000 0.000000 +vt 0.625000 0.900000 0.000000 +vt 0.750000 0.000000 0.000000 +vt 0.750000 0.225000 0.000000 +vt 0.750000 0.450000 0.000000 +vt 0.750000 0.675000 0.000000 +vt 0.750000 0.900000 0.000000 +vt 0.875000 0.000000 0.000000 +vt 0.875000 0.225000 0.000000 +vt 0.875000 0.450000 0.000000 +vt 0.875000 0.675000 0.000000 +vt 0.875000 0.900000 0.000000 +vt 1.000000 0.000000 0.000000 +vt 1.000000 0.225000 0.000000 +vt 1.000000 0.450000 0.000000 +vt 1.000000 0.675000 0.000000 +vt 1.000000 0.900000 0.000000 +vt 0.000000 0.000000 0.000000 +vt 0.000000 0.225000 0.000000 +vt 0.000000 0.450000 0.000000 +vt 0.000000 0.675000 0.000000 +vt 0.000000 0.900000 0.000000 +vt 0.125000 0.000000 0.000000 +vt 0.125000 0.225000 0.000000 +vt 0.125000 0.450000 0.000000 +vt 0.125000 0.675000 0.000000 +vt 0.125000 0.900000 0.000000 +vt 0.250000 0.000000 0.000000 +vt 0.250000 0.225000 0.000000 +vt 0.250000 0.450000 0.000000 +vt 0.250000 0.675000 0.000000 +vt 0.250000 0.900000 0.000000 +vt 0.375000 0.000000 0.000000 +vt 0.375000 0.225000 0.000000 +vt 0.375000 0.450000 0.000000 +vt 0.375000 0.675000 0.000000 +vt 0.375000 0.900000 0.000000 +vt 0.500000 0.000000 0.000000 +vt 0.500000 0.225000 0.000000 +vt 0.500000 0.450000 0.000000 +vt 0.500000 0.675000 0.000000 +vt 0.500000 0.900000 0.000000 +vt 0.500000 0.900000 0.000000 +vt 0.500000 0.925000 0.000000 +vt 0.500000 0.950000 0.000000 +vt 0.500000 0.975000 0.000000 +vt 0.500000 1.000000 0.000000 +vt 0.625000 0.900000 0.000000 +vt 0.625000 0.925000 0.000000 +vt 0.625000 0.950000 0.000000 +vt 0.625000 0.975000 0.000000 +vt 0.625000 1.000000 0.000000 +vt 0.750000 0.900000 0.000000 +vt 0.750000 0.925000 0.000000 +vt 0.750000 0.950000 0.000000 +vt 0.750000 0.975000 0.000000 +vt 0.750000 1.000000 0.000000 +vt 0.875000 0.900000 0.000000 +vt 0.875000 0.925000 0.000000 +vt 0.875000 0.950000 0.000000 +vt 0.875000 0.975000 0.000000 +vt 0.875000 1.000000 0.000000 +vt 1.000000 0.900000 0.000000 +vt 1.000000 0.925000 0.000000 +vt 1.000000 0.950000 0.000000 +vt 1.000000 0.975000 0.000000 +vt 1.000000 1.000000 0.000000 +vt 0.000000 0.900000 0.000000 +vt 0.000000 0.925000 0.000000 +vt 0.000000 0.950000 0.000000 +vt 0.000000 0.975000 0.000000 +vt 0.000000 1.000000 0.000000 +vt 0.125000 0.900000 0.000000 +vt 0.125000 0.925000 0.000000 +vt 0.125000 0.950000 0.000000 +vt 0.125000 0.975000 0.000000 +vt 0.125000 1.000000 0.000000 +vt 0.250000 0.900000 0.000000 +vt 0.250000 0.925000 0.000000 +vt 0.250000 0.950000 0.000000 +vt 0.250000 0.975000 0.000000 +vt 0.250000 1.000000 0.000000 +vt 0.375000 0.900000 0.000000 +vt 0.375000 0.925000 0.000000 +vt 0.375000 0.950000 0.000000 +vt 0.375000 0.975000 0.000000 +vt 0.375000 1.000000 0.000000 +vt 0.500000 0.900000 0.000000 +vt 0.500000 0.925000 0.000000 +vt 0.500000 0.950000 0.000000 +vt 0.500000 0.975000 0.000000 +vt 0.500000 1.000000 0.000000 +vt 1.000000 1.000000 0.000000 +vt 1.000000 0.750000 0.000000 +vt 1.000000 0.500000 0.000000 +vt 1.000000 0.250000 0.000000 +vt 1.000000 0.000000 0.000000 +vt 0.875000 1.000000 0.000000 +vt 0.875000 0.750000 0.000000 +vt 0.875000 0.500000 0.000000 +vt 0.875000 0.250000 0.000000 +vt 0.875000 0.000000 0.000000 +vt 0.750000 1.000000 0.000000 +vt 0.750000 0.750000 0.000000 +vt 0.750000 0.500000 0.000000 +vt 0.750000 0.250000 0.000000 +vt 0.750000 0.000000 0.000000 +vt 0.625000 1.000000 0.000000 +vt 0.625000 0.750000 0.000000 +vt 0.625000 0.500000 0.000000 +vt 0.625000 0.250000 0.000000 +vt 0.625000 0.000000 0.000000 +vt 0.500000 1.000000 0.000000 +vt 0.500000 0.750000 0.000000 +vt 0.500000 0.500000 0.000000 +vt 0.500000 0.250000 0.000000 +vt 0.500000 0.000000 0.000000 +vt 0.500000 1.000000 0.000000 +vt 0.500000 0.750000 0.000000 +vt 0.500000 0.500000 0.000000 +vt 0.500000 0.250000 0.000000 +vt 0.500000 0.000000 0.000000 +vt 0.375000 1.000000 0.000000 +vt 0.375000 0.750000 0.000000 +vt 0.375000 0.500000 0.000000 +vt 0.375000 0.250000 0.000000 +vt 0.375000 0.000000 0.000000 +vt 0.250000 1.000000 0.000000 +vt 0.250000 0.750000 0.000000 +vt 0.250000 0.500000 0.000000 +vt 0.250000 0.250000 0.000000 +vt 0.250000 0.000000 0.000000 +vt 0.125000 1.000000 0.000000 +vt 0.125000 0.750000 0.000000 +vt 0.125000 0.500000 0.000000 +vt 0.125000 0.250000 0.000000 +vt 0.125000 0.000000 0.000000 +vt 0.000000 1.000000 0.000000 +vt 0.000000 0.750000 0.000000 +vt 0.000000 0.500000 0.000000 +vt 0.000000 0.250000 0.000000 +vt 0.000000 0.000000 0.000000 +vt 1.000000 1.000000 0.000000 +vt 1.000000 0.750000 0.000000 +vt 1.000000 0.500000 0.000000 +vt 1.000000 0.250000 0.000000 +vt 1.000000 0.000000 0.000000 +vt 0.875000 1.000000 0.000000 +vt 0.875000 0.750000 0.000000 +vt 0.875000 0.500000 0.000000 +vt 0.875000 0.250000 0.000000 +vt 0.875000 0.000000 0.000000 +vt 0.750000 1.000000 0.000000 +vt 0.750000 0.750000 0.000000 +vt 0.750000 0.500000 0.000000 +vt 0.750000 0.250000 0.000000 +vt 0.750000 0.000000 0.000000 +vt 0.625000 1.000000 0.000000 +vt 0.625000 0.750000 0.000000 +vt 0.625000 0.500000 0.000000 +vt 0.625000 0.250000 0.000000 +vt 0.625000 0.000000 0.000000 +vt 0.500000 1.000000 0.000000 +vt 0.500000 0.750000 0.000000 +vt 0.500000 0.500000 0.000000 +vt 0.500000 0.250000 0.000000 +vt 0.500000 0.000000 0.000000 +vt 0.500000 1.000000 0.000000 +vt 0.500000 0.750000 0.000000 +vt 0.500000 0.500000 0.000000 +vt 0.500000 0.250000 0.000000 +vt 0.500000 0.000000 0.000000 +vt 0.375000 1.000000 0.000000 +vt 0.375000 0.750000 0.000000 +vt 0.375000 0.500000 0.000000 +vt 0.375000 0.250000 0.000000 +vt 0.375000 0.000000 0.000000 +vt 0.250000 1.000000 0.000000 +vt 0.250000 0.750000 0.000000 +vt 0.250000 0.500000 0.000000 +vt 0.250000 0.250000 0.000000 +vt 0.250000 0.000000 0.000000 +vt 0.125000 1.000000 0.000000 +vt 0.125000 0.750000 0.000000 +vt 0.125000 0.500000 0.000000 +vt 0.125000 0.250000 0.000000 +vt 0.125000 0.000000 0.000000 +vt 0.000000 1.000000 0.000000 +vt 0.000000 0.750000 0.000000 +vt 0.000000 0.500000 0.000000 +vt 0.000000 0.250000 0.000000 +vt 0.000000 0.000000 0.000000 +vt 1.000000 1.000000 0.000000 +vt 1.000000 0.750000 0.000000 +vt 1.000000 0.500000 0.000000 +vt 1.000000 0.250000 0.000000 +vt 1.000000 0.000000 0.000000 +vt 0.875000 1.000000 0.000000 +vt 0.875000 0.750000 0.000000 +vt 0.875000 0.500000 0.000000 +vt 0.875000 0.250000 0.000000 +vt 0.875000 0.000000 0.000000 +vt 0.750000 1.000000 0.000000 +vt 0.750000 0.750000 0.000000 +vt 0.750000 0.500000 0.000000 +vt 0.750000 0.250000 0.000000 +vt 0.750000 0.000000 0.000000 +vt 0.625000 1.000000 0.000000 +vt 0.625000 0.750000 0.000000 +vt 0.625000 0.500000 0.000000 +vt 0.625000 0.250000 0.000000 +vt 0.625000 0.000000 0.000000 +vt 0.500000 1.000000 0.000000 +vt 0.500000 0.750000 0.000000 +vt 0.500000 0.500000 0.000000 +vt 0.500000 0.250000 0.000000 +vt 0.500000 0.000000 0.000000 +vt 0.500000 1.000000 0.000000 +vt 0.500000 0.750000 0.000000 +vt 0.500000 0.500000 0.000000 +vt 0.500000 0.250000 0.000000 +vt 0.500000 0.000000 0.000000 +vt 0.375000 1.000000 0.000000 +vt 0.375000 0.750000 0.000000 +vt 0.375000 0.500000 0.000000 +vt 0.375000 0.250000 0.000000 +vt 0.375000 0.000000 0.000000 +vt 0.250000 1.000000 0.000000 +vt 0.250000 0.750000 0.000000 +vt 0.250000 0.500000 0.000000 +vt 0.250000 0.250000 0.000000 +vt 0.250000 0.000000 0.000000 +vt 0.125000 1.000000 0.000000 +vt 0.125000 0.750000 0.000000 +vt 0.125000 0.500000 0.000000 +vt 0.125000 0.250000 0.000000 +vt 0.125000 0.000000 0.000000 +vt 0.000000 1.000000 0.000000 +vt 0.000000 0.750000 0.000000 +vt 0.000000 0.500000 0.000000 +vt 0.000000 0.250000 0.000000 +vt 0.000000 0.000000 0.000000 +vt 1.000000 1.000000 0.000000 +vt 1.000000 0.750000 0.000000 +vt 1.000000 0.500000 0.000000 +vt 1.000000 0.250000 0.000000 +vt 1.000000 0.000000 0.000000 +vt 0.875000 1.000000 0.000000 +vt 0.875000 0.750000 0.000000 +vt 0.875000 0.500000 0.000000 +vt 0.875000 0.250000 0.000000 +vt 0.875000 0.000000 0.000000 +vt 0.750000 1.000000 0.000000 +vt 0.750000 0.750000 0.000000 +vt 0.750000 0.500000 0.000000 +vt 0.750000 0.250000 0.000000 +vt 0.750000 0.000000 0.000000 +vt 0.625000 1.000000 0.000000 +vt 0.625000 0.750000 0.000000 +vt 0.625000 0.500000 0.000000 +vt 0.625000 0.250000 0.000000 +vt 0.625000 0.000000 0.000000 +vt 0.500000 1.000000 0.000000 +vt 0.500000 0.750000 0.000000 +vt 0.500000 0.500000 0.000000 +vt 0.500000 0.250000 0.000000 +vt 0.500000 0.000000 0.000000 +vt 0.500000 1.000000 0.000000 +vt 0.500000 0.750000 0.000000 +vt 0.500000 0.500000 0.000000 +vt 0.500000 0.250000 0.000000 +vt 0.500000 0.000000 0.000000 +vt 0.375000 1.000000 0.000000 +vt 0.375000 0.750000 0.000000 +vt 0.375000 0.500000 0.000000 +vt 0.375000 0.250000 0.000000 +vt 0.375000 0.000000 0.000000 +vt 0.250000 1.000000 0.000000 +vt 0.250000 0.750000 0.000000 +vt 0.250000 0.500000 0.000000 +vt 0.250000 0.250000 0.000000 +vt 0.250000 0.000000 0.000000 +vt 0.125000 1.000000 0.000000 +vt 0.125000 0.750000 0.000000 +vt 0.125000 0.500000 0.000000 +vt 0.125000 0.250000 0.000000 +vt 0.125000 0.000000 0.000000 +vt 0.000000 1.000000 0.000000 +vt 0.000000 0.750000 0.000000 +vt 0.000000 0.500000 0.000000 +vt 0.000000 0.250000 0.000000 +vt 0.000000 0.000000 0.000000 +# 800 texture vertices + +vn -0.966742 -0.255752 0.000000 +vn -0.966824 0.255443 0.000000 +vn -0.092052 0.995754 0.000000 +vn 0.682050 0.731305 0.000000 +vn 0.870301 0.492521 0.000000 +vn -0.893014 -0.256345 -0.369882 +vn -0.893437 0.255996 -0.369102 +vn -0.083877 0.995843 -0.035507 +vn 0.629724 0.731860 0.260439 +vn 0.803725 0.493370 0.332584 +vn -0.683407 -0.256728 -0.683407 +vn -0.683531 0.256068 -0.683531 +vn -0.064925 0.995776 -0.064925 +vn 0.481399 0.732469 0.481399 +vn 0.614804 0.493997 0.614804 +vn -0.369882 -0.256345 -0.893014 +vn -0.369102 0.255996 -0.893437 +vn -0.035507 0.995843 -0.083877 +vn 0.260439 0.731860 0.629724 +vn 0.332584 0.493369 0.803725 +vn -0.002848 -0.257863 -0.966177 +vn -0.001923 0.254736 -0.967009 +vn -0.000266 0.995734 -0.092270 +vn 0.000024 0.731295 0.682061 +vn -0.000000 0.492521 0.870301 +vn 0.379058 -0.359300 -0.852771 +vn 0.377110 0.149085 -0.914091 +vn 0.027502 0.992081 -0.122552 +vn -0.261010 0.726762 0.635367 +vn -0.332485 0.492546 0.804271 +vn 0.663548 -0.410790 -0.625264 +vn 0.712664 0.073722 -0.697621 +vn 0.099726 0.987509 -0.121983 +vn -0.487320 0.723754 0.488569 +vn -0.615242 0.492602 0.615484 +vn 0.880028 -0.332906 -0.338709 +vn 0.917276 0.167113 -0.361493 +vn 0.113584 0.992365 -0.048070 +vn -0.634150 0.727508 0.261889 +vn -0.804126 0.492634 0.332705 +vn 0.966690 -0.255738 0.010454 +vn 0.967442 0.252962 0.008103 +vn 0.093436 0.995624 0.001281 +vn -0.682167 0.731196 -0.000343 +vn -0.870322 0.492483 -0.000054 +vn 0.893014 -0.256345 0.369882 +vn 0.893437 0.255996 0.369102 +vn 0.083877 0.995843 0.035507 +vn -0.629724 0.731860 -0.260439 +vn -0.803725 0.493370 -0.332584 +vn 0.683407 -0.256728 0.683407 +vn 0.683531 0.256068 0.683531 +vn 0.064925 0.995776 0.064925 +vn -0.481399 0.732469 -0.481399 +vn -0.614804 0.493997 -0.614804 +vn 0.369882 -0.256345 0.893014 +vn 0.369102 0.255996 0.893437 +vn 0.035507 0.995843 0.083877 +vn -0.260439 0.731860 -0.629724 +vn -0.332584 0.493369 -0.803725 +vn 0.000000 -0.255752 0.966742 +vn 0.000000 0.255443 0.966824 +vn 0.000000 0.995754 0.092052 +vn 0.000000 0.731305 -0.682050 +vn 0.000000 0.492521 -0.870301 +vn -0.369882 -0.256345 0.893014 +vn -0.369102 0.255996 0.893437 +vn -0.035507 0.995843 0.083877 +vn 0.260439 0.731860 -0.629724 +vn 0.332584 0.493370 -0.803725 +vn -0.683407 -0.256728 0.683407 +vn -0.683531 0.256068 0.683531 +vn -0.064925 0.995776 0.064925 +vn 0.481399 0.732469 -0.481399 +vn 0.614804 0.493997 -0.614804 +vn -0.893014 -0.256345 0.369882 +vn -0.893437 0.255996 0.369102 +vn -0.083877 0.995843 0.035507 +vn 0.629724 0.731860 -0.260439 +vn 0.803725 0.493369 -0.332584 +vn 0.915321 0.402725 -0.000000 +vn 0.941808 0.336151 0.000000 +vn 0.978690 0.205342 0.000000 +vn 0.997804 -0.066240 -0.000000 +vn 0.845438 0.403546 0.349835 +vn 0.869996 0.336859 0.360047 +vn 0.904193 0.205791 0.374280 +vn 0.921879 -0.066370 0.381752 +vn 0.646802 0.404096 0.646802 +vn 0.665655 0.337351 0.665655 +vn 0.691923 0.206120 0.691923 +vn 0.705543 -0.066480 0.705542 +vn 0.349835 0.403546 0.845438 +vn 0.360047 0.336859 0.869996 +vn 0.374280 0.205791 0.904193 +vn 0.381752 -0.066369 0.921879 +vn 0.000000 0.402725 0.915321 +vn -0.000000 0.336151 0.941808 +vn 0.000000 0.205342 0.978690 +vn 0.000000 -0.066240 0.997804 +vn -0.349835 0.403546 0.845438 +vn -0.360047 0.336859 0.869996 +vn -0.374280 0.205791 0.904193 +vn -0.381752 -0.066370 0.921879 +vn -0.646802 0.404096 0.646802 +vn -0.665655 0.337351 0.665655 +vn -0.691923 0.206120 0.691923 +vn -0.705542 -0.066480 0.705543 +vn -0.845438 0.403546 0.349835 +vn -0.869996 0.336859 0.360047 +vn -0.904193 0.205791 0.374280 +vn -0.921879 -0.066369 0.381752 +vn -0.915321 0.402725 0.000000 +vn -0.941808 0.336151 -0.000000 +vn -0.978690 0.205342 0.000000 +vn -0.997804 -0.066240 0.000000 +vn -0.845438 0.403546 -0.349835 +vn -0.869996 0.336859 -0.360047 +vn -0.904193 0.205791 -0.374280 +vn -0.921879 -0.066370 -0.381752 +vn -0.646802 0.404096 -0.646802 +vn -0.665655 0.337351 -0.665655 +vn -0.691923 0.206120 -0.691923 +vn -0.705543 -0.066480 -0.705542 +vn -0.349835 0.403546 -0.845438 +vn -0.360047 0.336859 -0.869996 +vn -0.374280 0.205791 -0.904193 +vn -0.381752 -0.066369 -0.921879 +vn -0.000000 0.402725 -0.915321 +vn 0.000000 0.336151 -0.941808 +vn -0.000000 0.205342 -0.978690 +vn -0.000000 -0.066240 -0.997804 +vn 0.349835 0.403546 -0.845438 +vn 0.360047 0.336859 -0.869996 +vn 0.374280 0.205791 -0.904193 +vn 0.381752 -0.066370 -0.921879 +vn 0.646802 0.404096 -0.646802 +vn 0.665655 0.337351 -0.665655 +vn 0.691923 0.206120 -0.691923 +vn 0.705542 -0.066480 -0.705543 +vn 0.845438 0.403546 -0.349835 +vn 0.869996 0.336859 -0.360047 +vn 0.904193 0.205791 -0.374280 +vn 0.921879 -0.066369 -0.381752 +vn 0.900182 -0.435513 0.000000 +vn 0.729611 -0.683863 0.000000 +vn 0.693951 -0.720022 -0.000000 +vn 0.793950 -0.607983 0.000000 +vn 0.831437 -0.436180 0.344179 +vn 0.673512 -0.684666 0.278594 +vn 0.640399 -0.720924 0.264874 +vn 0.732949 -0.608995 0.303167 +vn 0.636092 -0.436778 0.636092 +vn 0.514965 -0.685290 0.514965 +vn 0.489651 -0.721446 0.489651 +vn 0.560555 -0.609554 0.560555 +vn 0.344179 -0.436180 0.831437 +vn 0.278595 -0.684666 0.673512 +vn 0.264874 -0.720924 0.640399 +vn 0.303167 -0.608995 0.732949 +vn -0.000000 -0.435513 0.900182 +vn -0.000000 -0.683863 0.729611 +vn 0.000000 -0.720022 0.693951 +vn -0.000000 -0.607983 0.793950 +vn -0.344179 -0.436180 0.831437 +vn -0.278594 -0.684666 0.673512 +vn -0.264874 -0.720924 0.640399 +vn -0.303167 -0.608995 0.732949 +vn -0.636092 -0.436778 0.636092 +vn -0.514965 -0.685290 0.514965 +vn -0.489651 -0.721446 0.489651 +vn -0.560555 -0.609554 0.560555 +vn -0.831437 -0.436180 0.344179 +vn -0.673512 -0.684666 0.278595 +vn -0.640399 -0.720924 0.264874 +vn -0.732949 -0.608995 0.303167 +vn -0.900182 -0.435513 -0.000000 +vn -0.729611 -0.683863 -0.000000 +vn -0.693951 -0.720022 0.000000 +vn -0.793950 -0.607983 -0.000000 +vn -0.831437 -0.436180 -0.344179 +vn -0.673512 -0.684666 -0.278594 +vn -0.640399 -0.720924 -0.264874 +vn -0.732949 -0.608995 -0.303167 +vn -0.636092 -0.436778 -0.636092 +vn -0.514965 -0.685290 -0.514965 +vn -0.489651 -0.721446 -0.489651 +vn -0.560555 -0.609554 -0.560555 +vn -0.344179 -0.436180 -0.831437 +vn -0.278595 -0.684666 -0.673512 +vn -0.264874 -0.720924 -0.640399 +vn -0.303167 -0.608995 -0.732949 +vn 0.000000 -0.435513 -0.900182 +vn 0.000000 -0.683863 -0.729611 +vn -0.000000 -0.720022 -0.693951 +vn 0.000000 -0.607983 -0.793950 +vn 0.344179 -0.436180 -0.831437 +vn 0.278594 -0.684666 -0.673512 +vn 0.264874 -0.720924 -0.640399 +vn 0.303167 -0.608995 -0.732949 +vn 0.636092 -0.436778 -0.636092 +vn 0.514965 -0.685290 -0.514965 +vn 0.489651 -0.721446 -0.489651 +vn 0.560555 -0.609554 -0.560555 +vn 0.831437 -0.436180 -0.344179 +vn 0.673512 -0.684666 -0.278595 +vn 0.640399 -0.720924 -0.264874 +vn 0.732949 -0.608995 -0.303167 +vn 0.623860 -0.781536 0.000000 +vn 0.177291 -0.984159 -0.000000 +vn 0.049207 -0.998789 0.000000 +vn 0.000000 -1.000000 0.000000 +vn 0.576230 -0.781801 0.238217 +vn 0.163628 -0.984208 0.067527 +vn 0.045422 -0.998792 0.018736 +vn 0.440416 -0.782348 0.440416 +vn 0.124903 -0.984276 0.124903 +vn 0.034662 -0.998798 0.034662 +vn 0.238217 -0.781801 0.576230 +vn 0.067527 -0.984208 0.163628 +vn 0.018736 -0.998792 0.045422 +vn -0.000000 -0.781536 0.623860 +vn 0.000000 -0.984159 0.177291 +vn -0.000000 -0.998789 0.049207 +vn -0.238217 -0.781801 0.576230 +vn -0.067527 -0.984208 0.163628 +vn -0.018736 -0.998792 0.045422 +vn -0.440416 -0.782348 0.440416 +vn -0.124903 -0.984276 0.124903 +vn -0.034662 -0.998798 0.034662 +vn -0.576230 -0.781801 0.238217 +vn -0.163628 -0.984208 0.067527 +vn -0.045422 -0.998792 0.018736 +vn -0.623860 -0.781536 -0.000000 +vn -0.177291 -0.984159 0.000000 +vn -0.049207 -0.998789 -0.000000 +vn -0.576230 -0.781801 -0.238217 +vn -0.163628 -0.984208 -0.067527 +vn -0.045422 -0.998792 -0.018736 +vn -0.440416 -0.782348 -0.440416 +vn -0.124903 -0.984276 -0.124903 +vn -0.034662 -0.998798 -0.034662 +vn -0.238217 -0.781801 -0.576230 +vn -0.067527 -0.984208 -0.163628 +vn -0.018736 -0.998792 -0.045422 +vn 0.000000 -0.781536 -0.623860 +vn -0.000000 -0.984159 -0.177291 +vn 0.000000 -0.998789 -0.049207 +vn 0.238217 -0.781801 -0.576230 +vn 0.067527 -0.984208 -0.163628 +vn 0.018736 -0.998792 -0.045422 +vn 0.440416 -0.782348 -0.440416 +vn 0.124903 -0.984276 -0.124903 +vn 0.034662 -0.998798 -0.034662 +vn 0.576230 -0.781801 -0.238217 +vn 0.163628 -0.984208 -0.067527 +vn 0.045422 -0.998792 -0.018736 +vn 0.007786 -0.999970 -0.000216 +vn 0.039138 -0.999233 -0.000989 +vn 0.179512 -0.983746 -0.004369 +vn 0.612299 -0.790557 -0.010460 +vn 0.986152 -0.165708 -0.006670 +vn 0.007039 -0.812495 0.582926 +vn 0.036127 -0.837257 0.545614 +vn 0.161846 -0.810421 0.563048 +vn 0.482365 -0.595148 0.642746 +vn 0.738720 -0.114594 0.664199 +vn -0.001909 0.162121 0.986769 +vn 0.002762 0.017107 0.999850 +vn 0.010533 0.073398 0.997247 +vn -0.066041 0.130070 0.989303 +vn -0.094427 0.016594 0.995393 +vn -0.009203 0.871509 0.490293 +vn -0.048606 0.840609 0.539457 +vn -0.223298 0.802880 0.552739 +vn -0.596365 0.559971 0.575135 +vn -0.803337 0.068236 0.591603 +vn -0.010561 0.999944 0.000103 +vn -0.058798 0.998270 0.000710 +vn -0.280710 0.959787 0.003269 +vn -0.749723 0.661738 0.004268 +vn -0.997351 0.072714 0.002059 +vn -0.008792 0.871493 -0.490330 +vn -0.046494 0.841178 -0.538756 +vn -0.217909 0.806807 -0.549161 +vn -0.597291 0.560026 -0.574121 +vn -0.804000 0.062913 -0.591292 +vn -0.001806 0.161691 -0.986840 +vn 0.002031 0.014555 -0.999892 +vn 0.009215 0.060069 -0.998152 +vn -0.059334 0.113865 -0.991723 +vn -0.086899 0.012290 -0.996141 +vn 0.006418 -0.812379 -0.583095 +vn 0.033783 -0.837512 -0.545373 +vn 0.157113 -0.811947 -0.562190 +vn 0.484406 -0.589366 -0.646528 +vn 0.738870 -0.101320 -0.666187 +vn 0.946512 0.322650 -0.003357 +vn 0.825830 0.563870 -0.007452 +vn 0.650011 0.759893 -0.006937 +vn 0.532429 0.846459 -0.005245 +vn 0.725608 0.259351 0.637361 +vn 0.645945 0.461988 0.607719 +vn 0.531615 0.636660 0.558614 +vn 0.424964 0.681717 0.595540 +vn -0.049562 -0.019755 0.998576 +vn -0.037816 -0.035624 0.998650 +vn -0.037914 -0.036512 0.998614 +vn -0.168854 -0.297945 0.939530 +vn -0.742342 -0.299166 0.599523 +vn -0.619602 -0.529406 0.579502 +vn -0.483708 -0.685760 0.543837 +vn -0.445293 -0.794355 0.413177 +vn -0.926513 -0.376258 0.001996 +vn -0.753920 -0.656952 0.004317 +vn -0.566224 -0.824244 0.003461 +vn -0.481804 -0.876277 0.001850 +vn -0.744675 -0.294425 -0.598977 +vn -0.621949 -0.528114 -0.578165 +vn -0.481171 -0.688340 -0.542828 +vn -0.438055 -0.797035 -0.415744 +vn -0.044337 -0.017056 -0.998871 +vn -0.026176 -0.028166 -0.999260 +vn -0.025294 -0.028332 -0.999278 +vn -0.157482 -0.289392 -0.944167 +vn 0.728244 0.252410 -0.637142 +vn 0.647055 0.459725 -0.608254 +vn 0.522994 0.640657 -0.562170 +vn 0.409978 0.682857 -0.604669 +vn -0.230787 0.972982 -0.006523 +vn -0.548936 0.835863 -0.001511 +vn -0.875671 0.482806 0.009893 +vn -0.877554 0.479097 0.019092 +vn -0.696190 0.717439 0.024497 +vn -0.152877 0.687211 0.710190 +vn -0.316721 0.637750 0.702113 +vn -0.601067 0.471452 0.645330 +vn -0.635889 0.446090 0.629801 +vn -0.435746 0.601008 0.670011 +vn 0.111113 -0.085070 0.990160 +vn 0.223310 0.006540 0.974726 +vn 0.190097 0.154964 0.969458 +vn 0.005271 0.189482 0.981870 +vn -0.011752 0.246688 0.969024 +vn 0.343906 -0.722796 0.599412 +vn 0.572489 -0.567656 0.591627 +vn 0.787436 -0.256459 0.560512 +vn 0.647097 -0.306374 0.698141 +vn 0.427528 -0.499343 0.753576 +vn 0.410926 -0.911668 0.001284 +vn 0.671520 -0.740986 -0.000899 +vn 0.922026 -0.387060 -0.007253 +vn 0.846910 -0.531556 -0.013854 +vn 0.535924 -0.844201 -0.010505 +vn 0.341188 -0.722823 -0.600931 +vn 0.578664 -0.561139 -0.591838 +vn 0.784869 -0.251020 -0.566542 +vn 0.642681 -0.302257 -0.703990 +vn 0.418589 -0.500042 -0.758117 +vn 0.115806 -0.079139 -0.990114 +vn 0.232811 0.012565 -0.972441 +vn 0.206662 0.153601 -0.966280 +vn 0.024500 0.161443 -0.986578 +vn 0.003382 0.211115 -0.977455 +vn -0.134912 0.687491 -0.713551 +vn -0.319540 0.633073 -0.705063 +vn -0.603902 0.461442 -0.649903 +vn -0.631815 0.437169 -0.640072 +vn -0.424306 0.612706 -0.666750 +vn -0.425801 0.904753 0.010805 +vn 0.022046 0.999756 0.001623 +vn 0.999598 0.025875 0.011556 +vn 0.709587 -0.704552 0.009672 +vn -0.259858 0.791937 0.552548 +vn 0.009539 0.999720 -0.021674 +vn 0.410157 0.332912 -0.849082 +vn 0.541523 -0.548619 -0.637001 +vn 0.046311 0.455223 0.889172 +vn -0.010688 0.988794 0.148900 +vn -0.044376 0.682946 -0.729120 +vn 0.122824 0.009233 -0.992385 +vn 0.481839 -0.180440 0.857480 +vn 0.455272 0.736752 0.499925 +vn -0.220542 0.907193 -0.358277 +vn -0.235919 0.657250 -0.715797 +vn 0.728094 -0.685300 -0.015585 +vn 0.888738 0.458112 -0.016679 +vn -0.260098 0.965582 0.000800 +vn -0.371611 0.928378 -0.004418 +vn 0.480165 -0.178362 -0.858853 +vn 0.488102 0.716802 -0.497947 +vn -0.222004 0.905399 0.361892 +vn -0.235405 0.663180 0.710477 +vn 0.058720 0.437702 -0.897200 +vn 0.001326 0.986459 -0.164002 +vn -0.044190 0.681675 0.730319 +vn 0.138801 -0.034188 0.989730 +vn -0.258890 0.797206 -0.545380 +vn 0.012270 0.999739 0.019287 +vn 0.398632 0.354890 0.845663 +vn 0.537564 -0.581398 0.610738 +vn 0.000000 1.000000 0.000000 +vn 0.824540 0.565804 0.000017 +vn 0.917701 -0.397272 0.000034 +vn 0.935269 -0.353939 0.000113 +vn 0.780712 0.624890 0.000075 +vn 0.762640 0.565035 0.314825 +vn 0.847982 -0.397998 0.350034 +vn 0.864141 -0.355261 0.356441 +vn 0.720992 0.625625 0.297933 +vn 0.583357 0.565165 0.583338 +vn 0.648485 -0.398726 0.648448 +vn 0.660872 -0.355894 0.660748 +vn 0.551862 0.625290 0.551780 +vn 0.314824 0.565051 0.762629 +vn 0.350045 -0.397976 0.847988 +vn 0.356474 -0.355199 0.864153 +vn 0.297983 0.625515 0.721067 +vn -0.000017 0.565804 0.824540 +vn -0.000034 -0.397272 0.917701 +vn -0.000113 -0.353939 0.935269 +vn -0.000075 0.624890 0.780712 +vn -0.314825 0.565035 0.762640 +vn -0.350034 -0.397998 0.847982 +vn -0.356441 -0.355261 0.864141 +vn -0.297933 0.625625 0.720992 +vn -0.583338 0.565165 0.583357 +vn -0.648448 -0.398726 0.648485 +vn -0.660748 -0.355894 0.660872 +vn -0.551780 0.625290 0.551862 +vn -0.762629 0.565051 0.314824 +vn -0.847988 -0.397976 0.350045 +vn -0.864153 -0.355199 0.356474 +vn -0.721067 0.625515 0.297983 +vn -0.824540 0.565804 -0.000017 +vn -0.917701 -0.397272 -0.000034 +vn -0.935269 -0.353939 -0.000113 +vn -0.780712 0.624890 -0.000075 +vn -0.762640 0.565035 -0.314825 +vn -0.847982 -0.397998 -0.350034 +vn -0.864141 -0.355261 -0.356441 +vn -0.720992 0.625625 -0.297933 +vn -0.583357 0.565165 -0.583338 +vn -0.648485 -0.398726 -0.648448 +vn -0.660872 -0.355894 -0.660748 +vn -0.551862 0.625290 -0.551780 +vn -0.314824 0.565051 -0.762629 +vn -0.350045 -0.397976 -0.847988 +vn -0.356474 -0.355199 -0.864153 +vn -0.297983 0.625515 -0.721067 +vn 0.000017 0.565804 -0.824540 +vn 0.000034 -0.397272 -0.917701 +vn 0.000113 -0.353939 -0.935269 +vn 0.000075 0.624890 -0.780712 +vn 0.314825 0.565035 -0.762640 +vn 0.350034 -0.397998 -0.847982 +vn 0.356441 -0.355261 -0.864141 +vn 0.297933 0.625625 -0.720992 +vn 0.583338 0.565165 -0.583357 +vn 0.648448 -0.398726 -0.648485 +vn 0.660748 -0.355894 -0.660872 +vn 0.551780 0.625290 -0.551862 +vn 0.762629 0.565051 -0.314824 +vn 0.847988 -0.397976 -0.350045 +vn 0.864153 -0.355199 -0.356474 +vn 0.721067 0.625515 -0.297983 +vn 0.236583 0.971611 -0.000000 +vn 0.173084 0.984907 -0.000000 +vn 0.379703 0.925108 -0.000000 +vn 0.526673 0.850068 0.000000 +vn 0.217978 0.971775 0.090216 +vn 0.159589 0.984977 0.065961 +vn 0.350498 0.925311 0.144740 +vn 0.485590 0.850653 0.201474 +vn 0.166631 0.971838 0.166631 +vn 0.121908 0.985026 0.121908 +vn 0.267668 0.925585 0.267668 +vn 0.371315 0.851029 0.371315 +vn 0.090216 0.971775 0.217978 +vn 0.065961 0.984977 0.159589 +vn 0.144740 0.925311 0.350498 +vn 0.201475 0.850653 0.485590 +vn 0.000000 0.971611 0.236583 +vn 0.000000 0.984907 0.173084 +vn 0.000000 0.925108 0.379703 +vn -0.000000 0.850068 0.526673 +vn -0.090216 0.971775 0.217978 +vn -0.065961 0.984977 0.159589 +vn -0.144740 0.925311 0.350498 +vn -0.201474 0.850653 0.485590 +vn -0.166631 0.971838 0.166631 +vn -0.121908 0.985026 0.121908 +vn -0.267668 0.925585 0.267668 +vn -0.371315 0.851029 0.371315 +vn -0.217978 0.971775 0.090216 +vn -0.159589 0.984977 0.065961 +vn -0.350498 0.925311 0.144740 +vn -0.485590 0.850653 0.201475 +vn -0.236583 0.971611 0.000000 +vn -0.173084 0.984907 0.000000 +vn -0.379703 0.925108 0.000000 +vn -0.526673 0.850068 -0.000000 +vn -0.217978 0.971775 -0.090216 +vn -0.159589 0.984977 -0.065961 +vn -0.350498 0.925311 -0.144740 +vn -0.485590 0.850653 -0.201474 +vn -0.166631 0.971838 -0.166631 +vn -0.121908 0.985026 -0.121908 +vn -0.267668 0.925585 -0.267668 +vn -0.371315 0.851029 -0.371315 +vn -0.090216 0.971775 -0.217978 +vn -0.065961 0.984977 -0.159589 +vn -0.144740 0.925311 -0.350498 +vn -0.201475 0.850653 -0.485590 +vn -0.000000 0.971611 -0.236583 +vn -0.000000 0.984907 -0.173084 +vn -0.000000 0.925108 -0.379703 +vn 0.000000 0.850068 -0.526673 +vn 0.090216 0.971775 -0.217978 +vn 0.065961 0.984977 -0.159589 +vn 0.144740 0.925311 -0.350498 +vn 0.201474 0.850653 -0.485590 +vn 0.166631 0.971838 -0.166631 +vn 0.121908 0.985026 -0.121908 +vn 0.267668 0.925585 -0.267668 +vn 0.371315 0.851029 -0.371315 +vn 0.217978 0.971775 -0.090216 +vn 0.159589 0.984977 -0.065961 +vn 0.350498 0.925311 -0.144740 +vn 0.485590 0.850653 -0.201475 +# 530 vertex normals + +g Teapot01 +f 1/1/1 6/6/6 7/7/7 +f 7/7/7 2/2/2 1/1/1 +f 2/2/2 7/7/7 8/8/8 +f 8/8/8 3/3/3 2/2/2 +f 3/3/3 8/8/8 9/9/9 +f 9/9/9 4/4/4 3/3/3 +f 4/4/4 9/9/9 10/10/10 +f 10/10/10 5/5/5 4/4/4 +f 6/6/6 11/11/11 12/12/12 +f 12/12/12 7/7/7 6/6/6 +f 7/7/7 12/12/12 13/13/13 +f 13/13/13 8/8/8 7/7/7 +f 8/8/8 13/13/13 14/14/14 +f 14/14/14 9/9/9 8/8/8 +f 9/9/9 14/14/14 15/15/15 +f 15/15/15 10/10/10 9/9/9 +f 11/11/11 16/16/16 17/17/17 +f 17/17/17 12/12/12 11/11/11 +f 12/12/12 17/17/17 18/18/18 +f 18/18/18 13/13/13 12/12/12 +f 13/13/13 18/18/18 19/19/19 +f 19/19/19 14/14/14 13/13/13 +f 14/14/14 19/19/19 20/20/20 +f 20/20/20 15/15/15 14/14/14 +f 16/16/16 21/21/21 22/22/22 +f 22/22/22 17/17/17 16/16/16 +f 17/17/17 22/22/22 23/23/23 +f 23/23/23 18/18/18 17/17/17 +f 18/18/18 23/23/23 24/24/24 +f 24/24/24 19/19/19 18/18/18 +f 19/19/19 24/24/24 25/25/25 +f 25/25/25 20/20/20 19/19/19 +f 21/26/21 26/31/26 27/32/27 +f 27/32/27 22/27/22 21/26/21 +f 22/27/22 27/32/27 28/33/28 +f 28/33/28 23/28/23 22/27/22 +f 23/28/23 28/33/28 29/34/29 +f 29/34/29 24/29/24 23/28/23 +f 24/29/24 29/34/29 30/35/30 +f 30/35/30 25/30/25 24/29/24 +f 26/31/26 31/36/31 32/37/32 +f 32/37/32 27/32/27 26/31/26 +f 27/32/27 32/37/32 33/38/33 +f 33/38/33 28/33/28 27/32/27 +f 28/33/28 33/38/33 34/39/34 +f 34/39/34 29/34/29 28/33/28 +f 29/34/29 34/39/34 35/40/35 +f 35/40/35 30/35/30 29/34/29 +f 31/36/31 36/41/36 37/42/37 +f 37/42/37 32/37/32 31/36/31 +f 32/37/32 37/42/37 38/43/38 +f 38/43/38 33/38/33 32/37/32 +f 33/38/33 38/43/38 39/44/39 +f 39/44/39 34/39/34 33/38/33 +f 34/39/34 39/44/39 40/45/40 +f 40/45/40 35/40/35 34/39/34 +f 36/41/36 41/46/41 42/47/42 +f 42/47/42 37/42/37 36/41/36 +f 37/42/37 42/47/42 43/48/43 +f 43/48/43 38/43/38 37/42/37 +f 38/43/38 43/48/43 44/49/44 +f 44/49/44 39/44/39 38/43/38 +f 39/44/39 44/49/44 45/50/45 +f 45/50/45 40/45/40 39/44/39 +f 41/51/41 46/56/46 47/57/47 +f 47/57/47 42/52/42 41/51/41 +f 42/52/42 47/57/47 48/58/48 +f 48/58/48 43/53/43 42/52/42 +f 43/53/43 48/58/48 49/59/49 +f 49/59/49 44/54/44 43/53/43 +f 44/54/44 49/59/49 50/60/50 +f 50/60/50 45/55/45 44/54/44 +f 46/56/46 51/61/51 52/62/52 +f 52/62/52 47/57/47 46/56/46 +f 47/57/47 52/62/52 53/63/53 +f 53/63/53 48/58/48 47/57/47 +f 48/58/48 53/63/53 54/64/54 +f 54/64/54 49/59/49 48/58/48 +f 49/59/49 54/64/54 55/65/55 +f 55/65/55 50/60/50 49/59/49 +f 51/61/51 56/66/56 57/67/57 +f 57/67/57 52/62/52 51/61/51 +f 52/62/52 57/67/57 58/68/58 +f 58/68/58 53/63/53 52/62/52 +f 53/63/53 58/68/58 59/69/59 +f 59/69/59 54/64/54 53/63/53 +f 54/64/54 59/69/59 60/70/60 +f 60/70/60 55/65/55 54/64/54 +f 56/66/56 61/71/61 62/72/62 +f 62/72/62 57/67/57 56/66/56 +f 57/67/57 62/72/62 63/73/63 +f 63/73/63 58/68/58 57/67/57 +f 58/68/58 63/73/63 64/74/64 +f 64/74/64 59/69/59 58/68/58 +f 59/69/59 64/74/64 65/75/65 +f 65/75/65 60/70/60 59/69/59 +f 61/76/61 66/81/66 67/82/67 +f 67/82/67 62/77/62 61/76/61 +f 62/77/62 67/82/67 68/83/68 +f 68/83/68 63/78/63 62/77/62 +f 63/78/63 68/83/68 69/84/69 +f 69/84/69 64/79/64 63/78/63 +f 64/79/64 69/84/69 70/85/70 +f 70/85/70 65/80/65 64/79/64 +f 66/81/66 71/86/71 72/87/72 +f 72/87/72 67/82/67 66/81/66 +f 67/82/67 72/87/72 73/88/73 +f 73/88/73 68/83/68 67/82/67 +f 68/83/68 73/88/73 74/89/74 +f 74/89/74 69/84/69 68/83/68 +f 69/84/69 74/89/74 75/90/75 +f 75/90/75 70/85/70 69/84/69 +f 71/86/71 76/91/76 77/92/77 +f 77/92/77 72/87/72 71/86/71 +f 72/87/72 77/92/77 78/93/78 +f 78/93/78 73/88/73 72/87/72 +f 73/88/73 78/93/78 79/94/79 +f 79/94/79 74/89/74 73/88/73 +f 74/89/74 79/94/79 80/95/80 +f 80/95/80 75/90/75 74/89/74 +f 76/91/76 1/96/1 2/97/2 +f 2/97/2 77/92/77 76/91/76 +f 77/92/77 2/97/2 3/98/3 +f 3/98/3 78/93/78 77/92/77 +f 78/93/78 3/98/3 4/99/4 +f 4/99/4 79/94/79 78/93/78 +f 79/94/79 4/99/4 5/100/5 +f 5/100/5 80/95/80 79/94/79 +f 5/101/5 10/106/10 85/107/85 +f 85/107/85 81/102/81 5/101/5 +f 81/102/81 85/107/85 86/108/86 +f 86/108/86 82/103/82 81/102/81 +f 82/103/82 86/108/86 87/109/87 +f 87/109/87 83/104/83 82/103/82 +f 83/104/83 87/109/87 88/110/88 +f 88/110/88 84/105/84 83/104/83 +f 10/106/10 15/111/15 89/112/89 +f 89/112/89 85/107/85 10/106/10 +f 85/107/85 89/112/89 90/113/90 +f 90/113/90 86/108/86 85/107/85 +f 86/108/86 90/113/90 91/114/91 +f 91/114/91 87/109/87 86/108/86 +f 87/109/87 91/114/91 92/115/92 +f 92/115/92 88/110/88 87/109/87 +f 15/111/15 20/116/20 93/117/93 +f 93/117/93 89/112/89 15/111/15 +f 89/112/89 93/117/93 94/118/94 +f 94/118/94 90/113/90 89/112/89 +f 90/113/90 94/118/94 95/119/95 +f 95/119/95 91/114/91 90/113/90 +f 91/114/91 95/119/95 96/120/96 +f 96/120/96 92/115/92 91/114/91 +f 20/116/20 25/121/25 97/122/97 +f 97/122/97 93/117/93 20/116/20 +f 93/117/93 97/122/97 98/123/98 +f 98/123/98 94/118/94 93/117/93 +f 94/118/94 98/123/98 99/124/99 +f 99/124/99 95/119/95 94/118/94 +f 95/119/95 99/124/99 100/125/100 +f 100/125/100 96/120/96 95/119/95 +f 25/126/25 30/131/30 101/132/101 +f 101/132/101 97/127/97 25/126/25 +f 97/127/97 101/132/101 102/133/102 +f 102/133/102 98/128/98 97/127/97 +f 98/128/98 102/133/102 103/134/103 +f 103/134/103 99/129/99 98/128/98 +f 99/129/99 103/134/103 104/135/104 +f 104/135/104 100/130/100 99/129/99 +f 30/131/30 35/136/35 105/137/105 +f 105/137/105 101/132/101 30/131/30 +f 101/132/101 105/137/105 106/138/106 +f 106/138/106 102/133/102 101/132/101 +f 102/133/102 106/138/106 107/139/107 +f 107/139/107 103/134/103 102/133/102 +f 103/134/103 107/139/107 108/140/108 +f 108/140/108 104/135/104 103/134/103 +f 35/136/35 40/141/40 109/142/109 +f 109/142/109 105/137/105 35/136/35 +f 105/137/105 109/142/109 110/143/110 +f 110/143/110 106/138/106 105/137/105 +f 106/138/106 110/143/110 111/144/111 +f 111/144/111 107/139/107 106/138/106 +f 107/139/107 111/144/111 112/145/112 +f 112/145/112 108/140/108 107/139/107 +f 40/141/40 45/146/45 113/147/113 +f 113/147/113 109/142/109 40/141/40 +f 109/142/109 113/147/113 114/148/114 +f 114/148/114 110/143/110 109/142/109 +f 110/143/110 114/148/114 115/149/115 +f 115/149/115 111/144/111 110/143/110 +f 111/144/111 115/149/115 116/150/116 +f 116/150/116 112/145/112 111/144/111 +f 45/151/45 50/156/50 117/157/117 +f 117/157/117 113/152/113 45/151/45 +f 113/152/113 117/157/117 118/158/118 +f 118/158/118 114/153/114 113/152/113 +f 114/153/114 118/158/118 119/159/119 +f 119/159/119 115/154/115 114/153/114 +f 115/154/115 119/159/119 120/160/120 +f 120/160/120 116/155/116 115/154/115 +f 50/156/50 55/161/55 121/162/121 +f 121/162/121 117/157/117 50/156/50 +f 117/157/117 121/162/121 122/163/122 +f 122/163/122 118/158/118 117/157/117 +f 118/158/118 122/163/122 123/164/123 +f 123/164/123 119/159/119 118/158/118 +f 119/159/119 123/164/123 124/165/124 +f 124/165/124 120/160/120 119/159/119 +f 55/161/55 60/166/60 125/167/125 +f 125/167/125 121/162/121 55/161/55 +f 121/162/121 125/167/125 126/168/126 +f 126/168/126 122/163/122 121/162/121 +f 122/163/122 126/168/126 127/169/127 +f 127/169/127 123/164/123 122/163/122 +f 123/164/123 127/169/127 128/170/128 +f 128/170/128 124/165/124 123/164/123 +f 60/166/60 65/171/65 129/172/129 +f 129/172/129 125/167/125 60/166/60 +f 125/167/125 129/172/129 130/173/130 +f 130/173/130 126/168/126 125/167/125 +f 126/168/126 130/173/130 131/174/131 +f 131/174/131 127/169/127 126/168/126 +f 127/169/127 131/174/131 132/175/132 +f 132/175/132 128/170/128 127/169/127 +f 65/176/65 70/181/70 133/182/133 +f 133/182/133 129/177/129 65/176/65 +f 129/177/129 133/182/133 134/183/134 +f 134/183/134 130/178/130 129/177/129 +f 130/178/130 134/183/134 135/184/135 +f 135/184/135 131/179/131 130/178/130 +f 131/179/131 135/184/135 136/185/136 +f 136/185/136 132/180/132 131/179/131 +f 70/181/70 75/186/75 137/187/137 +f 137/187/137 133/182/133 70/181/70 +f 133/182/133 137/187/137 138/188/138 +f 138/188/138 134/183/134 133/182/133 +f 134/183/134 138/188/138 139/189/139 +f 139/189/139 135/184/135 134/183/134 +f 135/184/135 139/189/139 140/190/140 +f 140/190/140 136/185/136 135/184/135 +f 75/186/75 80/191/80 141/192/141 +f 141/192/141 137/187/137 75/186/75 +f 137/187/137 141/192/141 142/193/142 +f 142/193/142 138/188/138 137/187/137 +f 138/188/138 142/193/142 143/194/143 +f 143/194/143 139/189/139 138/188/138 +f 139/189/139 143/194/143 144/195/144 +f 144/195/144 140/190/140 139/189/139 +f 80/191/80 5/196/5 81/197/81 +f 81/197/81 141/192/141 80/191/80 +f 141/192/141 81/197/81 82/198/82 +f 82/198/82 142/193/142 141/192/141 +f 142/193/142 82/198/82 83/199/83 +f 83/199/83 143/194/143 142/193/142 +f 143/194/143 83/199/83 84/200/84 +f 84/200/84 144/195/144 143/194/143 +f 84/201/84 88/206/88 149/207/149 +f 149/207/149 145/202/145 84/201/84 +f 145/202/145 149/207/149 150/208/150 +f 150/208/150 146/203/146 145/202/145 +f 146/203/146 150/208/150 151/209/151 +f 151/209/151 147/204/147 146/203/146 +f 147/204/147 151/209/151 152/210/152 +f 152/210/152 148/205/148 147/204/147 +f 88/206/88 92/211/92 153/212/153 +f 153/212/153 149/207/149 88/206/88 +f 149/207/149 153/212/153 154/213/154 +f 154/213/154 150/208/150 149/207/149 +f 150/208/150 154/213/154 155/214/155 +f 155/214/155 151/209/151 150/208/150 +f 151/209/151 155/214/155 156/215/156 +f 156/215/156 152/210/152 151/209/151 +f 92/211/92 96/216/96 157/217/157 +f 157/217/157 153/212/153 92/211/92 +f 153/212/153 157/217/157 158/218/158 +f 158/218/158 154/213/154 153/212/153 +f 154/213/154 158/218/158 159/219/159 +f 159/219/159 155/214/155 154/213/154 +f 155/214/155 159/219/159 160/220/160 +f 160/220/160 156/215/156 155/214/155 +f 96/216/96 100/221/100 161/222/161 +f 161/222/161 157/217/157 96/216/96 +f 157/217/157 161/222/161 162/223/162 +f 162/223/162 158/218/158 157/217/157 +f 158/218/158 162/223/162 163/224/163 +f 163/224/163 159/219/159 158/218/158 +f 159/219/159 163/224/163 164/225/164 +f 164/225/164 160/220/160 159/219/159 +f 100/226/100 104/231/104 165/232/165 +f 165/232/165 161/227/161 100/226/100 +f 161/227/161 165/232/165 166/233/166 +f 166/233/166 162/228/162 161/227/161 +f 162/228/162 166/233/166 167/234/167 +f 167/234/167 163/229/163 162/228/162 +f 163/229/163 167/234/167 168/235/168 +f 168/235/168 164/230/164 163/229/163 +f 104/231/104 108/236/108 169/237/169 +f 169/237/169 165/232/165 104/231/104 +f 165/232/165 169/237/169 170/238/170 +f 170/238/170 166/233/166 165/232/165 +f 166/233/166 170/238/170 171/239/171 +f 171/239/171 167/234/167 166/233/166 +f 167/234/167 171/239/171 172/240/172 +f 172/240/172 168/235/168 167/234/167 +f 108/236/108 112/241/112 173/242/173 +f 173/242/173 169/237/169 108/236/108 +f 169/237/169 173/242/173 174/243/174 +f 174/243/174 170/238/170 169/237/169 +f 170/238/170 174/243/174 175/244/175 +f 175/244/175 171/239/171 170/238/170 +f 171/239/171 175/244/175 176/245/176 +f 176/245/176 172/240/172 171/239/171 +f 112/241/112 116/246/116 177/247/177 +f 177/247/177 173/242/173 112/241/112 +f 173/242/173 177/247/177 178/248/178 +f 178/248/178 174/243/174 173/242/173 +f 174/243/174 178/248/178 179/249/179 +f 179/249/179 175/244/175 174/243/174 +f 175/244/175 179/249/179 180/250/180 +f 180/250/180 176/245/176 175/244/175 +f 116/251/116 120/256/120 181/257/181 +f 181/257/181 177/252/177 116/251/116 +f 177/252/177 181/257/181 182/258/182 +f 182/258/182 178/253/178 177/252/177 +f 178/253/178 182/258/182 183/259/183 +f 183/259/183 179/254/179 178/253/178 +f 179/254/179 183/259/183 184/260/184 +f 184/260/184 180/255/180 179/254/179 +f 120/256/120 124/261/124 185/262/185 +f 185/262/185 181/257/181 120/256/120 +f 181/257/181 185/262/185 186/263/186 +f 186/263/186 182/258/182 181/257/181 +f 182/258/182 186/263/186 187/264/187 +f 187/264/187 183/259/183 182/258/182 +f 183/259/183 187/264/187 188/265/188 +f 188/265/188 184/260/184 183/259/183 +f 124/261/124 128/266/128 189/267/189 +f 189/267/189 185/262/185 124/261/124 +f 185/262/185 189/267/189 190/268/190 +f 190/268/190 186/263/186 185/262/185 +f 186/263/186 190/268/190 191/269/191 +f 191/269/191 187/264/187 186/263/186 +f 187/264/187 191/269/191 192/270/192 +f 192/270/192 188/265/188 187/264/187 +f 128/266/128 132/271/132 193/272/193 +f 193/272/193 189/267/189 128/266/128 +f 189/267/189 193/272/193 194/273/194 +f 194/273/194 190/268/190 189/267/189 +f 190/268/190 194/273/194 195/274/195 +f 195/274/195 191/269/191 190/268/190 +f 191/269/191 195/274/195 196/275/196 +f 196/275/196 192/270/192 191/269/191 +f 132/276/132 136/281/136 197/282/197 +f 197/282/197 193/277/193 132/276/132 +f 193/277/193 197/282/197 198/283/198 +f 198/283/198 194/278/194 193/277/193 +f 194/278/194 198/283/198 199/284/199 +f 199/284/199 195/279/195 194/278/194 +f 195/279/195 199/284/199 200/285/200 +f 200/285/200 196/280/196 195/279/195 +f 136/281/136 140/286/140 201/287/201 +f 201/287/201 197/282/197 136/281/136 +f 197/282/197 201/287/201 202/288/202 +f 202/288/202 198/283/198 197/282/197 +f 198/283/198 202/288/202 203/289/203 +f 203/289/203 199/284/199 198/283/198 +f 199/284/199 203/289/203 204/290/204 +f 204/290/204 200/285/200 199/284/199 +f 140/286/140 144/291/144 205/292/205 +f 205/292/205 201/287/201 140/286/140 +f 201/287/201 205/292/205 206/293/206 +f 206/293/206 202/288/202 201/287/201 +f 202/288/202 206/293/206 207/294/207 +f 207/294/207 203/289/203 202/288/202 +f 203/289/203 207/294/207 208/295/208 +f 208/295/208 204/290/204 203/289/203 +f 144/291/144 84/296/84 145/297/145 +f 145/297/145 205/292/205 144/291/144 +f 205/292/205 145/297/145 146/298/146 +f 146/298/146 206/293/206 205/292/205 +f 206/293/206 146/298/146 147/299/147 +f 147/299/147 207/294/207 206/293/206 +f 207/294/207 147/299/147 148/300/148 +f 148/300/148 208/295/208 207/294/207 +f 148/301/148 152/306/152 213/307/213 +f 213/307/213 209/302/209 148/301/148 +f 209/302/209 213/307/213 214/308/214 +f 214/308/214 210/303/210 209/302/209 +f 210/303/210 214/308/214 215/309/215 +f 215/309/215 211/304/211 210/303/210 +f 211/304/211 215/309/215 212/310/212 +f 152/306/152 156/311/156 216/312/216 +f 216/312/216 213/307/213 152/306/152 +f 213/307/213 216/312/216 217/313/217 +f 217/313/217 214/308/214 213/307/213 +f 214/308/214 217/313/217 218/314/218 +f 218/314/218 215/309/215 214/308/214 +f 215/309/215 218/314/218 212/315/212 +f 156/311/156 160/316/160 219/317/219 +f 219/317/219 216/312/216 156/311/156 +f 216/312/216 219/317/219 220/318/220 +f 220/318/220 217/313/217 216/312/216 +f 217/313/217 220/318/220 221/319/221 +f 221/319/221 218/314/218 217/313/217 +f 218/314/218 221/319/221 212/320/212 +f 160/316/160 164/321/164 222/322/222 +f 222/322/222 219/317/219 160/316/160 +f 219/317/219 222/322/222 223/323/223 +f 223/323/223 220/318/220 219/317/219 +f 220/318/220 223/323/223 224/324/224 +f 224/324/224 221/319/221 220/318/220 +f 221/319/221 224/324/224 212/325/212 +f 164/326/164 168/331/168 225/332/225 +f 225/332/225 222/327/222 164/326/164 +f 222/327/222 225/332/225 226/333/226 +f 226/333/226 223/328/223 222/327/222 +f 223/328/223 226/333/226 227/334/227 +f 227/334/227 224/329/224 223/328/223 +f 224/329/224 227/334/227 212/335/212 +f 168/331/168 172/336/172 228/337/228 +f 228/337/228 225/332/225 168/331/168 +f 225/332/225 228/337/228 229/338/229 +f 229/338/229 226/333/226 225/332/225 +f 226/333/226 229/338/229 230/339/230 +f 230/339/230 227/334/227 226/333/226 +f 227/334/227 230/339/230 212/340/212 +f 172/336/172 176/341/176 231/342/231 +f 231/342/231 228/337/228 172/336/172 +f 228/337/228 231/342/231 232/343/232 +f 232/343/232 229/338/229 228/337/228 +f 229/338/229 232/343/232 233/344/233 +f 233/344/233 230/339/230 229/338/229 +f 230/339/230 233/344/233 212/345/212 +f 176/341/176 180/346/180 234/347/234 +f 234/347/234 231/342/231 176/341/176 +f 231/342/231 234/347/234 235/348/235 +f 235/348/235 232/343/232 231/342/231 +f 232/343/232 235/348/235 236/349/236 +f 236/349/236 233/344/233 232/343/232 +f 233/344/233 236/349/236 212/350/212 +f 180/351/180 184/356/184 237/357/237 +f 237/357/237 234/352/234 180/351/180 +f 234/352/234 237/357/237 238/358/238 +f 238/358/238 235/353/235 234/352/234 +f 235/353/235 238/358/238 239/359/239 +f 239/359/239 236/354/236 235/353/235 +f 236/354/236 239/359/239 212/360/212 +f 184/356/184 188/361/188 240/362/240 +f 240/362/240 237/357/237 184/356/184 +f 237/357/237 240/362/240 241/363/241 +f 241/363/241 238/358/238 237/357/237 +f 238/358/238 241/363/241 242/364/242 +f 242/364/242 239/359/239 238/358/238 +f 239/359/239 242/364/242 212/365/212 +f 188/361/188 192/366/192 243/367/243 +f 243/367/243 240/362/240 188/361/188 +f 240/362/240 243/367/243 244/368/244 +f 244/368/244 241/363/241 240/362/240 +f 241/363/241 244/368/244 245/369/245 +f 245/369/245 242/364/242 241/363/241 +f 242/364/242 245/369/245 212/370/212 +f 192/366/192 196/371/196 246/372/246 +f 246/372/246 243/367/243 192/366/192 +f 243/367/243 246/372/246 247/373/247 +f 247/373/247 244/368/244 243/367/243 +f 244/368/244 247/373/247 248/374/248 +f 248/374/248 245/369/245 244/368/244 +f 245/369/245 248/374/248 212/375/212 +f 196/376/196 200/381/200 249/382/249 +f 249/382/249 246/377/246 196/376/196 +f 246/377/246 249/382/249 250/383/250 +f 250/383/250 247/378/247 246/377/246 +f 247/378/247 250/383/250 251/384/251 +f 251/384/251 248/379/248 247/378/247 +f 248/379/248 251/384/251 212/385/212 +f 200/381/200 204/386/204 252/387/252 +f 252/387/252 249/382/249 200/381/200 +f 249/382/249 252/387/252 253/388/253 +f 253/388/253 250/383/250 249/382/249 +f 250/383/250 253/388/253 254/389/254 +f 254/389/254 251/384/251 250/383/250 +f 251/384/251 254/389/254 212/390/212 +f 204/386/204 208/391/208 255/392/255 +f 255/392/255 252/387/252 204/386/204 +f 252/387/252 255/392/255 256/393/256 +f 256/393/256 253/388/253 252/387/252 +f 253/388/253 256/393/256 257/394/257 +f 257/394/257 254/389/254 253/388/253 +f 254/389/254 257/394/257 212/395/212 +f 208/391/208 148/396/148 209/397/209 +f 209/397/209 255/392/255 208/391/208 +f 255/392/255 209/397/209 210/398/210 +f 210/398/210 256/393/256 255/392/255 +f 256/393/256 210/398/210 211/399/211 +f 211/399/211 257/394/257 256/393/256 +f 257/394/257 211/399/211 212/400/212 +f 258/401/258 263/406/263 264/407/264 +f 264/407/264 259/402/259 258/401/258 +f 259/402/259 264/407/264 265/408/265 +f 265/408/265 260/403/260 259/402/259 +f 260/403/260 265/408/265 266/409/266 +f 266/409/266 261/404/261 260/403/260 +f 261/404/261 266/409/266 267/410/267 +f 267/410/267 262/405/262 261/404/261 +f 263/406/263 268/411/268 269/412/269 +f 269/412/269 264/407/264 263/406/263 +f 264/407/264 269/412/269 270/413/270 +f 270/413/270 265/408/265 264/407/264 +f 265/408/265 270/413/270 271/414/271 +f 271/414/271 266/409/266 265/408/265 +f 266/409/266 271/414/271 272/415/272 +f 272/415/272 267/410/267 266/409/266 +f 268/411/268 273/416/273 274/417/274 +f 274/417/274 269/412/269 268/411/268 +f 269/412/269 274/417/274 275/418/275 +f 275/418/275 270/413/270 269/412/269 +f 270/413/270 275/418/275 276/419/276 +f 276/419/276 271/414/271 270/413/270 +f 271/414/271 276/419/276 277/420/277 +f 277/420/277 272/415/272 271/414/271 +f 273/416/273 278/421/278 279/422/279 +f 279/422/279 274/417/274 273/416/273 +f 274/417/274 279/422/279 280/423/280 +f 280/423/280 275/418/275 274/417/274 +f 275/418/275 280/423/280 281/424/281 +f 281/424/281 276/419/276 275/418/275 +f 276/419/276 281/424/281 282/425/282 +f 282/425/282 277/420/277 276/419/276 +f 278/426/278 283/431/283 284/432/284 +f 284/432/284 279/427/279 278/426/278 +f 279/427/279 284/432/284 285/433/285 +f 285/433/285 280/428/280 279/427/279 +f 280/428/280 285/433/285 286/434/286 +f 286/434/286 281/429/281 280/428/280 +f 281/429/281 286/434/286 287/435/287 +f 287/435/287 282/430/282 281/429/281 +f 283/431/283 288/436/288 289/437/289 +f 289/437/289 284/432/284 283/431/283 +f 284/432/284 289/437/289 290/438/290 +f 290/438/290 285/433/285 284/432/284 +f 285/433/285 290/438/290 291/439/291 +f 291/439/291 286/434/286 285/433/285 +f 286/434/286 291/439/291 292/440/292 +f 292/440/292 287/435/287 286/434/286 +f 288/436/288 293/441/293 294/442/294 +f 294/442/294 289/437/289 288/436/288 +f 289/437/289 294/442/294 295/443/295 +f 295/443/295 290/438/290 289/437/289 +f 290/438/290 295/443/295 296/444/296 +f 296/444/296 291/439/291 290/438/290 +f 291/439/291 296/444/296 297/445/297 +f 297/445/297 292/440/292 291/439/291 +f 293/441/293 258/446/258 259/447/259 +f 259/447/259 294/442/294 293/441/293 +f 294/442/294 259/447/259 260/448/260 +f 260/448/260 295/443/295 294/442/294 +f 295/443/295 260/448/260 261/449/261 +f 261/449/261 296/444/296 295/443/295 +f 296/444/296 261/449/261 262/450/262 +f 262/450/262 297/445/297 296/444/296 +f 262/451/262 267/456/267 302/457/302 +f 302/457/302 298/452/298 262/451/262 +f 298/452/298 302/457/302 303/458/303 +f 303/458/303 299/453/299 298/452/298 +f 299/453/299 303/458/303 304/459/304 +f 304/459/304 300/454/300 299/453/299 +f 300/454/300 304/459/304 305/460/305 +f 305/460/305 301/455/301 300/454/300 +f 267/456/267 272/461/272 306/462/306 +f 306/462/306 302/457/302 267/456/267 +f 302/457/302 306/462/306 307/463/307 +f 307/463/307 303/458/303 302/457/302 +f 303/458/303 307/463/307 308/464/308 +f 308/464/308 304/459/304 303/458/303 +f 304/459/304 308/464/308 309/465/309 +f 309/465/309 305/460/305 304/459/304 +f 272/461/272 277/466/277 310/467/310 +f 310/467/310 306/462/306 272/461/272 +f 306/462/306 310/467/310 311/468/311 +f 311/468/311 307/463/307 306/462/306 +f 307/463/307 311/468/311 312/469/312 +f 312/469/312 308/464/308 307/463/307 +f 308/464/308 312/469/312 313/470/313 +f 313/470/313 309/465/309 308/464/308 +f 277/466/277 282/471/282 314/472/314 +f 314/472/314 310/467/310 277/466/277 +f 310/467/310 314/472/314 315/473/315 +f 315/473/315 311/468/311 310/467/310 +f 311/468/311 315/473/315 316/474/316 +f 316/474/316 312/469/312 311/468/311 +f 312/469/312 316/474/316 317/475/317 +f 317/475/317 313/470/313 312/469/312 +f 282/476/282 287/481/287 318/482/318 +f 318/482/318 314/477/314 282/476/282 +f 314/477/314 318/482/318 319/483/319 +f 319/483/319 315/478/315 314/477/314 +f 315/478/315 319/483/319 320/484/320 +f 320/484/320 316/479/316 315/478/315 +f 316/479/316 320/484/320 321/485/321 +f 321/485/321 317/480/317 316/479/316 +f 287/481/287 292/486/292 322/487/322 +f 322/487/322 318/482/318 287/481/287 +f 318/482/318 322/487/322 323/488/323 +f 323/488/323 319/483/319 318/482/318 +f 319/483/319 323/488/323 324/489/324 +f 324/489/324 320/484/320 319/483/319 +f 320/484/320 324/489/324 325/490/325 +f 325/490/325 321/485/321 320/484/320 +f 292/486/292 297/491/297 326/492/326 +f 326/492/326 322/487/322 292/486/292 +f 322/487/322 326/492/326 327/493/327 +f 327/493/327 323/488/323 322/487/322 +f 323/488/323 327/493/327 328/494/328 +f 328/494/328 324/489/324 323/488/323 +f 324/489/324 328/494/328 329/495/329 +f 329/495/329 325/490/325 324/489/324 +f 297/491/297 262/496/262 298/497/298 +f 298/497/298 326/492/326 297/491/297 +f 326/492/326 298/497/298 299/498/299 +f 299/498/299 327/493/327 326/492/326 +f 327/493/327 299/498/299 300/499/300 +f 300/499/300 328/494/328 327/493/327 +f 328/494/328 300/499/300 301/500/301 +f 301/500/301 329/495/329 328/494/328 +f 330/501/330 335/506/335 336/507/336 +f 336/507/336 331/502/331 330/501/330 +f 331/502/331 336/507/336 337/508/337 +f 337/508/337 332/503/332 331/502/331 +f 332/503/332 337/508/337 338/509/338 +f 338/509/338 333/504/333 332/503/332 +f 333/504/333 338/509/338 339/510/339 +f 339/510/339 334/505/334 333/504/333 +f 335/506/335 340/511/340 341/512/341 +f 341/512/341 336/507/336 335/506/335 +f 336/507/336 341/512/341 342/513/342 +f 342/513/342 337/508/337 336/507/336 +f 337/508/337 342/513/342 343/514/343 +f 343/514/343 338/509/338 337/508/337 +f 338/509/338 343/514/343 344/515/344 +f 344/515/344 339/510/339 338/509/338 +f 340/511/340 345/516/345 346/517/346 +f 346/517/346 341/512/341 340/511/340 +f 341/512/341 346/517/346 347/518/347 +f 347/518/347 342/513/342 341/512/341 +f 342/513/342 347/518/347 348/519/348 +f 348/519/348 343/514/343 342/513/342 +f 343/514/343 348/519/348 349/520/349 +f 349/520/349 344/515/344 343/514/343 +f 345/516/345 350/521/350 351/522/351 +f 351/522/351 346/517/346 345/516/345 +f 346/517/346 351/522/351 352/523/352 +f 352/523/352 347/518/347 346/517/346 +f 347/518/347 352/523/352 353/524/353 +f 353/524/353 348/519/348 347/518/347 +f 348/519/348 353/524/353 354/525/354 +f 354/525/354 349/520/349 348/519/348 +f 350/526/350 355/531/355 356/532/356 +f 356/532/356 351/527/351 350/526/350 +f 351/527/351 356/532/356 357/533/357 +f 357/533/357 352/528/352 351/527/351 +f 352/528/352 357/533/357 358/534/358 +f 358/534/358 353/529/353 352/528/352 +f 353/529/353 358/534/358 359/535/359 +f 359/535/359 354/530/354 353/529/353 +f 355/531/355 360/536/360 361/537/361 +f 361/537/361 356/532/356 355/531/355 +f 356/532/356 361/537/361 362/538/362 +f 362/538/362 357/533/357 356/532/356 +f 357/533/357 362/538/362 363/539/363 +f 363/539/363 358/534/358 357/533/357 +f 358/534/358 363/539/363 364/540/364 +f 364/540/364 359/535/359 358/534/358 +f 360/536/360 365/541/365 366/542/366 +f 366/542/366 361/537/361 360/536/360 +f 361/537/361 366/542/366 367/543/367 +f 367/543/367 362/538/362 361/537/361 +f 362/538/362 367/543/367 368/544/368 +f 368/544/368 363/539/363 362/538/362 +f 363/539/363 368/544/368 369/545/369 +f 369/545/369 364/540/364 363/539/363 +f 365/541/365 330/546/330 331/547/331 +f 331/547/331 366/542/366 365/541/365 +f 366/542/366 331/547/331 332/548/332 +f 332/548/332 367/543/367 366/542/366 +f 367/543/367 332/548/332 333/549/333 +f 333/549/333 368/544/368 367/543/367 +f 368/544/368 333/549/333 334/550/334 +f 334/550/334 369/545/369 368/544/368 +f 334/551/334 339/556/339 374/557/374 +f 374/557/374 370/552/370 334/551/334 +f 370/552/370 374/557/374 375/558/375 +f 375/558/375 371/553/371 370/552/370 +f 371/553/371 375/558/375 376/559/376 +f 376/559/376 372/554/372 371/553/371 +f 372/554/372 376/559/376 377/560/377 +f 377/560/377 373/555/373 372/554/372 +f 339/556/339 344/561/344 378/562/378 +f 378/562/378 374/557/374 339/556/339 +f 374/557/374 378/562/378 379/563/379 +f 379/563/379 375/558/375 374/557/374 +f 375/558/375 379/563/379 380/564/380 +f 380/564/380 376/559/376 375/558/375 +f 376/559/376 380/564/380 381/565/381 +f 381/565/381 377/560/377 376/559/376 +f 344/561/344 349/566/349 382/567/382 +f 382/567/382 378/562/378 344/561/344 +f 378/562/378 382/567/382 383/568/383 +f 383/568/383 379/563/379 378/562/378 +f 379/563/379 383/568/383 384/569/384 +f 384/569/384 380/564/380 379/563/379 +f 380/564/380 384/569/384 385/570/385 +f 385/570/385 381/565/381 380/564/380 +f 349/566/349 354/571/354 386/572/386 +f 386/572/386 382/567/382 349/566/349 +f 382/567/382 386/572/386 387/573/387 +f 387/573/387 383/568/383 382/567/382 +f 383/568/383 387/573/387 388/574/388 +f 388/574/388 384/569/384 383/568/383 +f 384/569/384 388/574/388 389/575/389 +f 389/575/389 385/570/385 384/569/384 +f 354/576/354 359/581/359 390/582/390 +f 390/582/390 386/577/386 354/576/354 +f 386/577/386 390/582/390 391/583/391 +f 391/583/391 387/578/387 386/577/386 +f 387/578/387 391/583/391 392/584/392 +f 392/584/392 388/579/388 387/578/387 +f 388/579/388 392/584/392 393/585/393 +f 393/585/393 389/580/389 388/579/388 +f 359/581/359 364/586/364 394/587/394 +f 394/587/394 390/582/390 359/581/359 +f 390/582/390 394/587/394 395/588/395 +f 395/588/395 391/583/391 390/582/390 +f 391/583/391 395/588/395 396/589/396 +f 396/589/396 392/584/392 391/583/391 +f 392/584/392 396/589/396 397/590/397 +f 397/590/397 393/585/393 392/584/392 +f 364/586/364 369/591/369 398/592/398 +f 398/592/398 394/587/394 364/586/364 +f 394/587/394 398/592/398 399/593/399 +f 399/593/399 395/588/395 394/587/394 +f 395/588/395 399/593/399 400/594/400 +f 400/594/400 396/589/396 395/588/395 +f 396/589/396 400/594/400 401/595/401 +f 401/595/401 397/590/397 396/589/396 +f 369/591/369 334/596/334 370/597/370 +f 370/597/370 398/592/398 369/591/369 +f 398/592/398 370/597/370 371/598/371 +f 371/598/371 399/593/399 398/592/398 +f 399/593/399 371/598/371 372/599/372 +f 372/599/372 400/594/400 399/593/399 +f 400/594/400 372/599/372 373/600/373 +f 373/600/373 401/595/401 400/594/400 +f 407/607/407 403/602/403 402/601/402 +f 403/602/403 407/607/407 408/608/408 +f 408/608/408 404/603/404 403/602/403 +f 404/603/404 408/608/408 409/609/409 +f 409/609/409 405/604/405 404/603/404 +f 405/604/405 409/609/409 410/610/410 +f 410/610/410 406/605/406 405/604/405 +f 411/612/411 407/607/407 402/606/402 +f 407/607/407 411/612/411 412/613/412 +f 412/613/412 408/608/408 407/607/407 +f 408/608/408 412/613/412 413/614/413 +f 413/614/413 409/609/409 408/608/408 +f 409/609/409 413/614/413 414/615/414 +f 414/615/414 410/610/410 409/609/409 +f 415/617/415 411/612/411 402/611/402 +f 411/612/411 415/617/415 416/618/416 +f 416/618/416 412/613/412 411/612/411 +f 412/613/412 416/618/416 417/619/417 +f 417/619/417 413/614/413 412/613/412 +f 413/614/413 417/619/417 418/620/418 +f 418/620/418 414/615/414 413/614/413 +f 419/622/419 415/617/415 402/616/402 +f 415/617/415 419/622/419 420/623/420 +f 420/623/420 416/618/416 415/617/415 +f 416/618/416 420/623/420 421/624/421 +f 421/624/421 417/619/417 416/618/416 +f 417/619/417 421/624/421 422/625/422 +f 422/625/422 418/620/418 417/619/417 +f 423/632/423 419/627/419 402/626/402 +f 419/627/419 423/632/423 424/633/424 +f 424/633/424 420/628/420 419/627/419 +f 420/628/420 424/633/424 425/634/425 +f 425/634/425 421/629/421 420/628/420 +f 421/629/421 425/634/425 426/635/426 +f 426/635/426 422/630/422 421/629/421 +f 427/637/427 423/632/423 402/631/402 +f 423/632/423 427/637/427 428/638/428 +f 428/638/428 424/633/424 423/632/423 +f 424/633/424 428/638/428 429/639/429 +f 429/639/429 425/634/425 424/633/424 +f 425/634/425 429/639/429 430/640/430 +f 430/640/430 426/635/426 425/634/425 +f 431/642/431 427/637/427 402/636/402 +f 427/637/427 431/642/431 432/643/432 +f 432/643/432 428/638/428 427/637/427 +f 428/638/428 432/643/432 433/644/433 +f 433/644/433 429/639/429 428/638/428 +f 429/639/429 433/644/433 434/645/434 +f 434/645/434 430/640/430 429/639/429 +f 435/647/435 431/642/431 402/641/402 +f 431/642/431 435/647/435 436/648/436 +f 436/648/436 432/643/432 431/642/431 +f 432/643/432 436/648/436 437/649/437 +f 437/649/437 433/644/433 432/643/432 +f 433/644/433 437/649/437 438/650/438 +f 438/650/438 434/645/434 433/644/433 +f 439/657/439 435/652/435 402/651/402 +f 435/652/435 439/657/439 440/658/440 +f 440/658/440 436/653/436 435/652/435 +f 436/653/436 440/658/440 441/659/441 +f 441/659/441 437/654/437 436/653/436 +f 437/654/437 441/659/441 442/660/442 +f 442/660/442 438/655/438 437/654/437 +f 443/662/443 439/657/439 402/656/402 +f 439/657/439 443/662/443 444/663/444 +f 444/663/444 440/658/440 439/657/439 +f 440/658/440 444/663/444 445/664/445 +f 445/664/445 441/659/441 440/658/440 +f 441/659/441 445/664/445 446/665/446 +f 446/665/446 442/660/442 441/659/441 +f 447/667/447 443/662/443 402/661/402 +f 443/662/443 447/667/447 448/668/448 +f 448/668/448 444/663/444 443/662/443 +f 444/663/444 448/668/448 449/669/449 +f 449/669/449 445/664/445 444/663/444 +f 445/664/445 449/669/449 450/670/450 +f 450/670/450 446/665/446 445/664/445 +f 451/672/451 447/667/447 402/666/402 +f 447/667/447 451/672/451 452/673/452 +f 452/673/452 448/668/448 447/667/447 +f 448/668/448 452/673/452 453/674/453 +f 453/674/453 449/669/449 448/668/448 +f 449/669/449 453/674/453 454/675/454 +f 454/675/454 450/670/450 449/669/449 +f 455/682/455 451/677/451 402/676/402 +f 451/677/451 455/682/455 456/683/456 +f 456/683/456 452/678/452 451/677/451 +f 452/678/452 456/683/456 457/684/457 +f 457/684/457 453/679/453 452/678/452 +f 453/679/453 457/684/457 458/685/458 +f 458/685/458 454/680/454 453/679/453 +f 459/687/459 455/682/455 402/681/402 +f 455/682/455 459/687/459 460/688/460 +f 460/688/460 456/683/456 455/682/455 +f 456/683/456 460/688/460 461/689/461 +f 461/689/461 457/684/457 456/683/456 +f 457/684/457 461/689/461 462/690/462 +f 462/690/462 458/685/458 457/684/457 +f 463/692/463 459/687/459 402/686/402 +f 459/687/459 463/692/463 464/693/464 +f 464/693/464 460/688/460 459/687/459 +f 460/688/460 464/693/464 465/694/465 +f 465/694/465 461/689/461 460/688/460 +f 461/689/461 465/694/465 466/695/466 +f 466/695/466 462/690/462 461/689/461 +f 403/697/403 463/692/463 402/691/402 +f 463/692/463 403/697/403 404/698/404 +f 404/698/404 464/693/464 463/692/463 +f 464/693/464 404/698/404 405/699/405 +f 405/699/405 465/694/465 464/693/464 +f 465/694/465 405/699/405 406/700/406 +f 406/700/406 466/695/466 465/694/465 +f 406/701/406 410/706/410 471/707/471 +f 471/707/471 467/702/467 406/701/406 +f 467/702/467 471/707/471 472/708/472 +f 472/708/472 468/703/468 467/702/467 +f 468/703/468 472/708/472 473/709/473 +f 473/709/473 469/704/469 468/703/468 +f 469/704/469 473/709/473 474/710/474 +f 474/710/474 470/705/470 469/704/469 +f 410/706/410 414/711/414 475/712/475 +f 475/712/475 471/707/471 410/706/410 +f 471/707/471 475/712/475 476/713/476 +f 476/713/476 472/708/472 471/707/471 +f 472/708/472 476/713/476 477/714/477 +f 477/714/477 473/709/473 472/708/472 +f 473/709/473 477/714/477 478/715/478 +f 478/715/478 474/710/474 473/709/473 +f 414/711/414 418/716/418 479/717/479 +f 479/717/479 475/712/475 414/711/414 +f 475/712/475 479/717/479 480/718/480 +f 480/718/480 476/713/476 475/712/475 +f 476/713/476 480/718/480 481/719/481 +f 481/719/481 477/714/477 476/713/476 +f 477/714/477 481/719/481 482/720/482 +f 482/720/482 478/715/478 477/714/477 +f 418/716/418 422/721/422 483/722/483 +f 483/722/483 479/717/479 418/716/418 +f 479/717/479 483/722/483 484/723/484 +f 484/723/484 480/718/480 479/717/479 +f 480/718/480 484/723/484 485/724/485 +f 485/724/485 481/719/481 480/718/480 +f 481/719/481 485/724/485 486/725/486 +f 486/725/486 482/720/482 481/719/481 +f 422/726/422 426/731/426 487/732/487 +f 487/732/487 483/727/483 422/726/422 +f 483/727/483 487/732/487 488/733/488 +f 488/733/488 484/728/484 483/727/483 +f 484/728/484 488/733/488 489/734/489 +f 489/734/489 485/729/485 484/728/484 +f 485/729/485 489/734/489 490/735/490 +f 490/735/490 486/730/486 485/729/485 +f 426/731/426 430/736/430 491/737/491 +f 491/737/491 487/732/487 426/731/426 +f 487/732/487 491/737/491 492/738/492 +f 492/738/492 488/733/488 487/732/487 +f 488/733/488 492/738/492 493/739/493 +f 493/739/493 489/734/489 488/733/488 +f 489/734/489 493/739/493 494/740/494 +f 494/740/494 490/735/490 489/734/489 +f 430/736/430 434/741/434 495/742/495 +f 495/742/495 491/737/491 430/736/430 +f 491/737/491 495/742/495 496/743/496 +f 496/743/496 492/738/492 491/737/491 +f 492/738/492 496/743/496 497/744/497 +f 497/744/497 493/739/493 492/738/492 +f 493/739/493 497/744/497 498/745/498 +f 498/745/498 494/740/494 493/739/493 +f 434/741/434 438/746/438 499/747/499 +f 499/747/499 495/742/495 434/741/434 +f 495/742/495 499/747/499 500/748/500 +f 500/748/500 496/743/496 495/742/495 +f 496/743/496 500/748/500 501/749/501 +f 501/749/501 497/744/497 496/743/496 +f 497/744/497 501/749/501 502/750/502 +f 502/750/502 498/745/498 497/744/497 +f 438/751/438 442/756/442 503/757/503 +f 503/757/503 499/752/499 438/751/438 +f 499/752/499 503/757/503 504/758/504 +f 504/758/504 500/753/500 499/752/499 +f 500/753/500 504/758/504 505/759/505 +f 505/759/505 501/754/501 500/753/500 +f 501/754/501 505/759/505 506/760/506 +f 506/760/506 502/755/502 501/754/501 +f 442/756/442 446/761/446 507/762/507 +f 507/762/507 503/757/503 442/756/442 +f 503/757/503 507/762/507 508/763/508 +f 508/763/508 504/758/504 503/757/503 +f 504/758/504 508/763/508 509/764/509 +f 509/764/509 505/759/505 504/758/504 +f 505/759/505 509/764/509 510/765/510 +f 510/765/510 506/760/506 505/759/505 +f 446/761/446 450/766/450 511/767/511 +f 511/767/511 507/762/507 446/761/446 +f 507/762/507 511/767/511 512/768/512 +f 512/768/512 508/763/508 507/762/507 +f 508/763/508 512/768/512 513/769/513 +f 513/769/513 509/764/509 508/763/508 +f 509/764/509 513/769/513 514/770/514 +f 514/770/514 510/765/510 509/764/509 +f 450/766/450 454/771/454 515/772/515 +f 515/772/515 511/767/511 450/766/450 +f 511/767/511 515/772/515 516/773/516 +f 516/773/516 512/768/512 511/767/511 +f 512/768/512 516/773/516 517/774/517 +f 517/774/517 513/769/513 512/768/512 +f 513/769/513 517/774/517 518/775/518 +f 518/775/518 514/770/514 513/769/513 +f 454/776/454 458/781/458 519/782/519 +f 519/782/519 515/777/515 454/776/454 +f 515/777/515 519/782/519 520/783/520 +f 520/783/520 516/778/516 515/777/515 +f 516/778/516 520/783/520 521/784/521 +f 521/784/521 517/779/517 516/778/516 +f 517/779/517 521/784/521 522/785/522 +f 522/785/522 518/780/518 517/779/517 +f 458/781/458 462/786/462 523/787/523 +f 523/787/523 519/782/519 458/781/458 +f 519/782/519 523/787/523 524/788/524 +f 524/788/524 520/783/520 519/782/519 +f 520/783/520 524/788/524 525/789/525 +f 525/789/525 521/784/521 520/783/520 +f 521/784/521 525/789/525 526/790/526 +f 526/790/526 522/785/522 521/784/521 +f 462/786/462 466/791/466 527/792/527 +f 527/792/527 523/787/523 462/786/462 +f 523/787/523 527/792/527 528/793/528 +f 528/793/528 524/788/524 523/787/523 +f 524/788/524 528/793/528 529/794/529 +f 529/794/529 525/789/525 524/788/524 +f 525/789/525 529/794/529 530/795/530 +f 530/795/530 526/790/526 525/789/525 +f 466/791/466 406/796/406 467/797/467 +f 467/797/467 527/792/527 466/791/466 +f 527/792/527 467/797/467 468/798/468 +f 468/798/468 528/793/528 527/792/527 +f 528/793/528 468/798/468 469/799/469 +f 469/799/469 529/794/529 528/793/528 +f 529/794/529 469/799/469 470/800/470 +f 470/800/470 530/795/530 529/794/529 +# 992 faces + +g diff --git a/examples/OpenGLAppExample/Source/VertexShader.glsl b/examples/OpenGLAppExample/Source/VertexShader.glsl new file mode 100644 index 0000000000..4bc25651fe --- /dev/null +++ b/examples/OpenGLAppExample/Source/VertexShader.glsl @@ -0,0 +1,9 @@ +/* + ============================================================================== + + VertexShader.cpp + Created: 11 Nov 2014 12:17:40pm + Author: Felix Faire + + ============================================================================== +*/ diff --git a/extras/audio plugin demo/Builds/Linux/Makefile b/examples/audio plugin demo/Builds/Linux/Makefile similarity index 100% rename from extras/audio plugin demo/Builds/Linux/Makefile rename to examples/audio plugin demo/Builds/Linux/Makefile diff --git a/extras/audio plugin demo/Builds/MacOSX/Info.plist b/examples/audio plugin demo/Builds/MacOSX/Info.plist similarity index 100% rename from extras/audio plugin demo/Builds/MacOSX/Info.plist rename to examples/audio plugin demo/Builds/MacOSX/Info.plist diff --git a/extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj b/examples/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj similarity index 99% rename from extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj rename to examples/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj index a5ee113c19..640a011dfc 100644 --- a/extras/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj +++ b/examples/audio plugin demo/Builds/MacOSX/JuceDemoPlugin.xcodeproj/project.pbxproj @@ -140,6 +140,7 @@ 104CC5F094E0B3D1D3055D04 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioUnitPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_AudioUnitPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 10A49DD74F3FB9E69FC989B9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_JPEGLoader.cpp"; path = "../../../../modules/juce_graphics/image_formats/juce_JPEGLoader.cpp"; sourceTree = "SOURCE_ROOT"; }; 10C46E275C321A3974729DA6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; + 1101AD528ED2238FE265B715 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 1127215528CC4A4A504078BF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_RenderingHelpers.h"; path = "../../../../modules/juce_graphics/native/juce_RenderingHelpers.h"; sourceTree = "SOURCE_ROOT"; }; 115FCA1C09C15AD7EB4AC87C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferedInputStream.cpp"; path = "../../../../modules/juce_core/streams/juce_BufferedInputStream.cpp"; sourceTree = "SOURCE_ROOT"; }; 121FB46FF3426D00B9776611 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChoicePropertyComponent.h"; path = "../../../../modules/juce_gui_basics/properties/juce_ChoicePropertyComponent.h"; sourceTree = "SOURCE_ROOT"; }; @@ -337,6 +338,7 @@ 4B13AFACB5B6B81347E6652D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_RecentlyOpenedFilesList.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_RecentlyOpenedFilesList.cpp"; sourceTree = "SOURCE_ROOT"; }; 4B7CE8D596B3F3901B2A7826 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_basics.h"; path = "../../../../modules/juce_audio_basics/juce_audio_basics.h"; sourceTree = "SOURCE_ROOT"; }; 4BDFDEDCF05F480BB99EE8A2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MouseListener.cpp"; path = "../../../../modules/juce_gui_basics/mouse/juce_MouseListener.cpp"; sourceTree = "SOURCE_ROOT"; }; + 4BEE40628E4C3581FF774383 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4C4DA110B4ABCD9A9CBE93E1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUViewLocalizedStringKeys.h; path = Extras/CoreAudio/AudioUnits/AUPublic/AUViewBase/AUViewLocalizedStringKeys.h; sourceTree = "DEVELOPER_DIR"; }; 4CE2C5B8F3B9176330D7E38D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_NamedPipe.cpp"; path = "../../../../modules/juce_core/network/juce_NamedPipe.cpp"; sourceTree = "SOURCE_ROOT"; }; 4D57626C71E0A81969B64FFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioIODeviceType.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioIODeviceType.h"; sourceTree = "SOURCE_ROOT"; }; @@ -497,6 +499,7 @@ 7997E4EB2706B00B44880412 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_gui_extra.h"; path = "../../../../modules/juce_gui_extra/juce_gui_extra.h"; sourceTree = "SOURCE_ROOT"; }; 79B3B7E2DD82AB16C411D9E0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_graphics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; 79B958A028493E0DB0133E2B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CAVectorUnit.cpp; path = Extras/CoreAudio/PublicUtility/CAVectorUnit.cpp; sourceTree = "DEVELOPER_DIR"; }; + 7A1CD659BB507996CC7EE951 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7AC8B40A09251FDC9D75053A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_GZIPCompressorOutputStream.h"; path = "../../../../modules/juce_core/zip/juce_GZIPCompressorOutputStream.h"; sourceTree = "SOURCE_ROOT"; }; 7B2A0D30289D548DCF3AC985 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_PropertiesFile.cpp"; path = "../../../../modules/juce_data_structures/app_properties/juce_PropertiesFile.cpp"; sourceTree = "SOURCE_ROOT"; }; 7B491514CCDB29EBB9674F9E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CADebugMacros.h; path = Extras/CoreAudio/PublicUtility/CADebugMacros.h; sourceTree = "DEVELOPER_DIR"; }; @@ -665,11 +668,11 @@ AAA122282581E6425F5D9405 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OggVorbisAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; AB0E8347C9AC7E4A861C0252 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_IIRFilterAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; AB7726FF34DB2E7FA75ECC19 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ToolbarItemComponent.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ToolbarItemComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; - AB7BCFBC4B2CB784F57A0FBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputFormatConverter.h; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUInputFormatConverter.h; sourceTree = "DEVELOPER_DIR"; }; AB87317D90A518C8A886EE9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceSelectorComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioDeviceSelectorComponent.h"; sourceTree = "SOURCE_ROOT"; }; ABC394D5E03B690404E80E1E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_MessageManager.mm"; path = "../../../../modules/juce_events/native/juce_mac_MessageManager.mm"; sourceTree = "SOURCE_ROOT"; }; ABCB715245090A15092108D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioDeviceManager.h"; path = "../../../../modules/juce_audio_devices/audio_io/juce_AudioDeviceManager.h"; sourceTree = "SOURCE_ROOT"; }; ABE98156B2F8FBDAE1B7CF88 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_QuickTimeAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_QuickTimeAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; + AC5452F5122E3A4B670B5185 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; ACAD736DA78EA0A66BF1CE29 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_TopLevelWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_TopLevelWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; ACB591F236B9E8054BF9ECB9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DialogWindow.cpp"; path = "../../../../modules/juce_gui_basics/windows/juce_DialogWindow.cpp"; sourceTree = "SOURCE_ROOT"; }; AD33682668F35136E9195684 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiMessage.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiMessage.h"; sourceTree = "SOURCE_ROOT"; }; @@ -691,8 +694,8 @@ AA012A21BE3049C205D4A44A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_AudioCDReader.cpp"; path = "../../../../modules/juce_audio_devices/native/juce_win32_AudioCDReader.cpp"; sourceTree = "SOURCE_ROOT"; }; AAEC41BFA57E45EBF94ED3C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableImage.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableImage.cpp"; sourceTree = "SOURCE_ROOT"; }; AB10327C69AAE4AACCFC81EB = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableText.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableText.cpp"; sourceTree = "SOURCE_ROOT"; }; + AB7BCFBC4B2CB784F57A0FBC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AUInputFormatConverter.h; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUInputFormatConverter.h; sourceTree = "DEVELOPER_DIR"; }; AB9AD07EF899B75AC4CF01DA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAMutex.h; path = Extras/CoreAudio/PublicUtility/CAMutex.h; sourceTree = "DEVELOPER_DIR"; }; - AC5452F5122E3A4B670B5185 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioThumbnail.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioThumbnail.h"; sourceTree = "SOURCE_ROOT"; }; ACC4E765AD4BF1D025FB4E83 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Network.cpp"; path = "../../../../modules/juce_core/native/juce_linux_Network.cpp"; sourceTree = "SOURCE_ROOT"; }; ACD46CD092A8EC640448BD70 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_BufferingAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; ACDF0E99B316A7C266F6EFFD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LAMEEncoderAudioFormat.cpp"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -877,6 +880,7 @@ E5EDE1797446522FADDF78B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CAAudioChannelLayout.h; path = Extras/CoreAudio/PublicUtility/CAAudioChannelLayout.h; sourceTree = "DEVELOPER_DIR"; }; E65E231978B796AA7868DC4A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_audio_plugin_client.h"; path = "../../../../modules/juce_audio_plugin_client/juce_audio_plugin_client.h"; sourceTree = "SOURCE_ROOT"; }; E695834F7C3FC81BB41044C0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PropertyPanel.h"; path = "../../../../modules/juce_gui_basics/properties/juce_PropertyPanel.h"; sourceTree = "SOURCE_ROOT"; }; + E7A0D2A3AAD8192B65EB0141 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E7A11AD35375D0EBD838113B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_LAMEEncoderAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_LAMEEncoderAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; E7C5E25093EF1CC291215E69 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_linux_Clipboard.cpp"; path = "../../../../modules/juce_gui_basics/native/juce_linux_Clipboard.cpp"; sourceTree = "SOURCE_ROOT"; }; E7EE2DFC483DD254C543EA60 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1207,6 +1211,8 @@ 448D9DAF51E9FDC76DAFD913, 19D63B88BE3B2620D7EB8489, ); name = "juce_audio_processors"; sourceTree = ""; }; 224AA427916F585D0B62D5C4 = {isa = PBXGroup; children = ( + E7A0D2A3AAD8192B65EB0141, + 1101AD528ED2238FE265B715, FCEC950D217FEEF2948508C5, AB87317D90A518C8A886EE9D, 0B23FB9FC547A7877DC3E23E, @@ -1932,6 +1938,8 @@ BCB54D2E4C0C3357DACFD29B, FABC846A7451773CA5FEDA13, ); name = embedding; sourceTree = ""; }; A4D5C22EAEECE5134B247F54 = {isa = PBXGroup; children = ( + 4BEE40628E4C3581FF774383, + 7A1CD659BB507996CC7EE951, 7CAABF65B56BE6A4529B2513, A31CE7177BF947DB60F72D94, 598E9C9D95393B4E4699CF0B, diff --git a/examples/audio plugin demo/Builds/MacOSX/RecentFilesMenuTemplate.nib b/examples/audio plugin demo/Builds/MacOSX/RecentFilesMenuTemplate.nib new file mode 100644 index 0000000000..cec7f7c72b Binary files /dev/null and b/examples/audio plugin demo/Builds/MacOSX/RecentFilesMenuTemplate.nib differ diff --git a/extras/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.sln b/examples/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.sln similarity index 100% rename from extras/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.sln rename to examples/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.sln diff --git a/extras/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj b/examples/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj similarity index 97% rename from extras/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj rename to examples/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj index 0944b75bc4..71473775da 100644 --- a/extras/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj +++ b/examples/audio plugin demo/Builds/VisualStudio2005/JuceDemoPlugin.vcproj @@ -1061,6 +1061,17 @@ + + + + + + + + + @@ -4189,6 +4200,17 @@ + + + + + + + + + + + + + + + + + + @@ -4189,6 +4200,17 @@ + + + + + + + + + true + + true + true @@ -1131,6 +1134,9 @@ true + + true + true @@ -1296,6 +1302,7 @@ + @@ -1624,6 +1631,7 @@ + diff --git a/extras/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.vcxproj.filters b/examples/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.vcxproj.filters similarity index 97% rename from extras/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.vcxproj.filters rename to examples/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.vcxproj.filters index ec76f42dc8..c77a4e603f 100644 --- a/extras/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.vcxproj.filters +++ b/examples/audio plugin demo/Builds/VisualStudio2010/JuceDemoPlugin.vcxproj.filters @@ -538,6 +538,9 @@ Juce Modules\juce_audio_processors\scanning + + Juce Modules\juce_audio_utils\gui + Juce Modules\juce_audio_utils\gui @@ -1366,6 +1369,9 @@ Juce Modules\juce_gui_extra\documents + + Juce Modules\juce_gui_extra\misc + Juce Modules\juce_gui_extra\misc @@ -1749,6 +1755,9 @@ Juce Modules\juce_audio_processors + + Juce Modules\juce_audio_utils\gui + Juce Modules\juce_audio_utils\gui @@ -2733,6 +2742,9 @@ Juce Modules\juce_gui_extra\embedding + + Juce Modules\juce_gui_extra\misc + Juce Modules\juce_gui_extra\misc diff --git a/extras/audio plugin demo/Builds/VisualStudio2010/resources.rc b/examples/audio plugin demo/Builds/VisualStudio2010/resources.rc similarity index 100% rename from extras/audio plugin demo/Builds/VisualStudio2010/resources.rc rename to examples/audio plugin demo/Builds/VisualStudio2010/resources.rc diff --git a/extras/audio plugin demo/How to use this framework.txt b/examples/audio plugin demo/How to use this framework.txt similarity index 100% rename from extras/audio plugin demo/How to use this framework.txt rename to examples/audio plugin demo/How to use this framework.txt diff --git a/extras/audio plugin demo/JuceDemoPlugin.jucer b/examples/audio plugin demo/JuceDemoPlugin.jucer similarity index 100% rename from extras/audio plugin demo/JuceDemoPlugin.jucer rename to examples/audio plugin demo/JuceDemoPlugin.jucer diff --git a/extras/audio plugin demo/JuceLibraryCode/AppConfig.h b/examples/audio plugin demo/JuceLibraryCode/AppConfig.h similarity index 100% rename from extras/audio plugin demo/JuceLibraryCode/AppConfig.h rename to examples/audio plugin demo/JuceLibraryCode/AppConfig.h diff --git a/extras/audio plugin demo/JuceLibraryCode/JuceHeader.h b/examples/audio plugin demo/JuceLibraryCode/JuceHeader.h similarity index 100% rename from extras/audio plugin demo/JuceLibraryCode/JuceHeader.h rename to examples/audio plugin demo/JuceLibraryCode/JuceHeader.h diff --git a/examples/audio plugin demo/JuceLibraryCode/ReadMe.txt b/examples/audio plugin demo/JuceLibraryCode/ReadMe.txt new file mode 100644 index 0000000000..f6c3564e99 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/ReadMe.txt @@ -0,0 +1,12 @@ + + Important Note!! + ================ + +The purpose of this folder is to contain files that are auto-generated by the Introjucer, +and ALL files in this folder will be mercilessly DELETED and completely re-written whenever +the Introjucer saves your project. + +Therefore, it's a bad idea to make any manual changes to the files in here, or to +put any of your own files in here if you don't want to lose them. (Of course you may choose +to add the folder's contents to your version-control system so that you can re-merge your own +modifications after the Introjucer has saved its changes). diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h new file mode 100644 index 0000000000..b9a775c861 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h" + diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h new file mode 100644 index 0000000000..6a672ccda4 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h" + diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h new file mode 100644 index 0000000000..4307ccc794 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h" + diff --git a/extras/audio plugin demo/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h similarity index 100% rename from extras/audio plugin demo/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h rename to examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_plugin_client/juce_audio_plugin_client.h diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h new file mode 100644 index 0000000000..bd61929b93 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h" + diff --git a/extras/audio plugin host/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h similarity index 100% rename from extras/audio plugin host/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h rename to examples/audio plugin demo/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_core/juce_core.h new file mode 100644 index 0000000000..ee07e01a50 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/modules/juce_core/juce_core.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_core/juce_core.h" + diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h new file mode 100644 index 0000000000..00f01d46aa --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_data_structures/juce_data_structures.h" + diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_events/juce_events.h new file mode 100644 index 0000000000..d0b4133815 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/modules/juce_events/juce_events.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_events/juce_events.h" + diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h new file mode 100644 index 0000000000..f287a18ee6 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/modules/juce_graphics/juce_graphics.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_graphics/juce_graphics.h" + diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h new file mode 100644 index 0000000000..c678c1cfc9 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" + diff --git a/examples/audio plugin demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/audio plugin demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h new file mode 100644 index 0000000000..7efee1d103 --- /dev/null +++ b/examples/audio plugin demo/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" + diff --git a/extras/audio plugin demo/Source/PluginEditor.cpp b/examples/audio plugin demo/Source/PluginEditor.cpp similarity index 100% rename from extras/audio plugin demo/Source/PluginEditor.cpp rename to examples/audio plugin demo/Source/PluginEditor.cpp diff --git a/extras/audio plugin demo/Source/PluginEditor.h b/examples/audio plugin demo/Source/PluginEditor.h similarity index 100% rename from extras/audio plugin demo/Source/PluginEditor.h rename to examples/audio plugin demo/Source/PluginEditor.h diff --git a/extras/audio plugin demo/Source/PluginProcessor.cpp b/examples/audio plugin demo/Source/PluginProcessor.cpp similarity index 100% rename from extras/audio plugin demo/Source/PluginProcessor.cpp rename to examples/audio plugin demo/Source/PluginProcessor.cpp diff --git a/extras/audio plugin demo/Source/PluginProcessor.h b/examples/audio plugin demo/Source/PluginProcessor.h similarity index 100% rename from extras/audio plugin demo/Source/PluginProcessor.h rename to examples/audio plugin demo/Source/PluginProcessor.h diff --git a/extras/audio plugin host/Builds/Linux/Makefile b/examples/audio plugin host/Builds/Linux/Makefile similarity index 100% rename from extras/audio plugin host/Builds/Linux/Makefile rename to examples/audio plugin host/Builds/Linux/Makefile diff --git a/extras/audio plugin host/Builds/MacOSX/Info.plist b/examples/audio plugin host/Builds/MacOSX/Info.plist similarity index 100% rename from extras/audio plugin host/Builds/MacOSX/Info.plist rename to examples/audio plugin host/Builds/MacOSX/Info.plist diff --git a/extras/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj b/examples/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj similarity index 99% rename from extras/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj rename to examples/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj index 8418142e75..61568c232b 100644 --- a/extras/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj +++ b/examples/audio plugin host/Builds/MacOSX/Plugin Host.xcodeproj/project.pbxproj @@ -310,6 +310,7 @@ 47C408503AAF7D0AAF1484D0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_MarkerList.cpp"; path = "../../../../modules/juce_gui_basics/positioning/juce_MarkerList.cpp"; sourceTree = "SOURCE_ROOT"; }; 47D5DB3D6E203E43E808C4C1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SVGParser.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_SVGParser.cpp"; sourceTree = "SOURCE_ROOT"; }; 480EB4F8B71B880C74AA82F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WindowsRegistry.h"; path = "../../../../modules/juce_core/misc/juce_WindowsRegistry.h"; sourceTree = "SOURCE_ROOT"; }; + 4840790BC5D2B26068E76863 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_OpenGLAppComponent.cpp"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 4876E03AA7977023BDABA2A4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_PluginDescription.h"; path = "../../../../modules/juce_audio_processors/processors/juce_PluginDescription.h"; sourceTree = "SOURCE_ROOT"; }; 4A394735BB54B32F3BA7A221 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BufferingAudioSource.h"; path = "../../../../modules/juce_audio_basics/sources/juce_BufferingAudioSource.h"; sourceTree = "SOURCE_ROOT"; }; 4A4AA708ABE863E4A6B609BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_KeyListener.cpp"; path = "../../../../modules/juce_gui_basics/keyboard/juce_KeyListener.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -476,6 +477,8 @@ 7CBB1C386813A3FDA3FEBB5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatReader.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatReader.cpp"; sourceTree = "SOURCE_ROOT"; }; 7DA35787B5F6F7440D667CC8 = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; 7DB54E0039B3D0D2560D6E47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioProcessorEditor.cpp"; path = "../../../../modules/juce_audio_processors/processors/juce_AudioProcessorEditor.cpp"; sourceTree = "SOURCE_ROOT"; }; + 7DBB713E52BEF9A059959B9A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioAppComponent.h"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; + 7E4C0E94BAD29885B8E8BAAD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGLAppComponent.h"; path = "../../../../modules/juce_opengl/utils/juce_OpenGLAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 7EB9FBC9366AE99B264DF62A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WildcardFileFilter.h"; path = "../../../../modules/juce_core/files/juce_WildcardFileFilter.h"; sourceTree = "SOURCE_ROOT"; }; 7EC4BF7FFDD52F005ACDF6CC = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormat.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormat.h"; sourceTree = "SOURCE_ROOT"; }; 7F031C3EECC44A707A4B1F5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DropShadowEffect.cpp"; path = "../../../../modules/juce_graphics/effects/juce_DropShadowEffect.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -606,6 +609,7 @@ 9EC65D648D37E3C325E29259 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileTreeComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileTreeComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9ED0202809EFF61F72BC949C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OggVorbisAudioFormat.h"; path = "../../../../modules/juce_audio_formats/codecs/juce_OggVorbisAudioFormat.h"; sourceTree = "SOURCE_ROOT"; }; 9F026AC7E95B4C723F18903C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Colour.cpp"; path = "../../../../modules/juce_graphics/colour/juce_Colour.cpp"; sourceTree = "SOURCE_ROOT"; }; + 9F5B773064345EFCF3C35D87 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AnimatedAppComponent.h"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h"; sourceTree = "SOURCE_ROOT"; }; 9F9B445E6755CAA19E4344ED = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; 9FA45AAB6573E64BD6DB4F3B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_FileListComponent.cpp"; path = "../../../../modules/juce_gui_basics/filebrowser/juce_FileListComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; 9FD54AAEFDAC77FAC6186FC2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_NamedValueSet.h"; path = "../../../../modules/juce_core/containers/juce_NamedValueSet.h"; sourceTree = "SOURCE_ROOT"; }; @@ -767,6 +771,7 @@ CF0F1D933CE2A89A9D05FF38 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ColourGradient.h"; path = "../../../../modules/juce_graphics/colour/juce_ColourGradient.h"; sourceTree = "SOURCE_ROOT"; }; CF27DFD59466D38E34428405 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Typeface.h"; path = "../../../../modules/juce_graphics/fonts/juce_Typeface.h"; sourceTree = "SOURCE_ROOT"; }; CF299925A6A365E288DC206E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_WebBrowserComponent.cpp"; path = "../../../../modules/juce_gui_extra/native/juce_android_WebBrowserComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + CF67033CFC21C0060B538042 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; D06DA3FA113EAB0CCF8D7A64 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Singleton.h"; path = "../../../../modules/juce_core/memory/juce_Singleton.h"; sourceTree = "SOURCE_ROOT"; }; D0A714338F6B7A47BA1F8F45 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_DirectWriteTypeface.cpp"; path = "../../../../modules/juce_graphics/native/juce_win32_DirectWriteTypeface.cpp"; sourceTree = "SOURCE_ROOT"; }; D313CF37B25D7FD313C4F336 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; }; @@ -783,18 +788,19 @@ D7433453EBB3700D2805FF42 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_XmlDocument.h"; path = "../../../../modules/juce_core/xml/juce_XmlDocument.h"; sourceTree = "SOURCE_ROOT"; }; D795067D4EFB5A34BC383250 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ThreadPool.h"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.h"; sourceTree = "SOURCE_ROOT"; }; D79E29A54AE62E03A533F436 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_StretchableLayoutResizerBar.cpp"; path = "../../../../modules/juce_gui_basics/layout/juce_StretchableLayoutResizerBar.cpp"; sourceTree = "SOURCE_ROOT"; }; - D7C1255A555A016BA0D98228 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; D7D1FFD98DABD765479240E6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_EdgeTable.cpp"; path = "../../../../modules/juce_graphics/geometry/juce_EdgeTable.cpp"; sourceTree = "SOURCE_ROOT"; }; D8101C0D25DF708FB2E446E5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IPAddress.cpp"; path = "../../../../modules/juce_core/network/juce_IPAddress.cpp"; sourceTree = "SOURCE_ROOT"; }; D8A3F086596562E081EB0F39 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioFormatManager.h"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; D8B7DCDFD32613B13AC54008 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel.cpp"; sourceTree = "SOURCE_ROOT"; }; D8C28108DE7AD0208D790606 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ProgressBar.cpp"; path = "../../../../modules/juce_gui_basics/widgets/juce_ProgressBar.cpp"; sourceTree = "SOURCE_ROOT"; }; D8E9881F48E0A32121A9E84B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_LookAndFeel_V2.cpp"; path = "../../../../modules/juce_gui_basics/lookandfeel/juce_LookAndFeel_V2.cpp"; sourceTree = "SOURCE_ROOT"; }; - D9207F324519739FC25FFBDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; D92D579F2458F2426E5F828A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ScopedWriteLock.h"; path = "../../../../modules/juce_core/threads/juce_ScopedWriteLock.h"; sourceTree = "SOURCE_ROOT"; }; + D950776EDF9260DB0278C132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; D9857957A36A3081186D53FC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_android_CameraDevice.cpp"; path = "../../../../modules/juce_video/native/juce_android_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; + DA9E577DC37123CEA41C4A71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; DBD90FC88456B62308AD9AD0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_events.mm"; path = "../../../../modules/juce_events/juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; DC30BDE9C4EE1FD059D06902 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioDataConverters.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioDataConverters.cpp"; sourceTree = "SOURCE_ROOT"; }; + DCACD63912A2F68687ED06CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; DD53156BA824889FD7DF52D2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_ThreadPool.cpp"; path = "../../../../modules/juce_core/threads/juce_ThreadPool.cpp"; sourceTree = "SOURCE_ROOT"; }; DD8E5D0C88FA2C287F824357 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GraphEditorPanel.h; path = ../../Source/GraphEditorPanel.h; sourceTree = "SOURCE_ROOT"; }; DE0C4CC1CE545BAD009786E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioFormatWriter.cpp"; path = "../../../../modules/juce_audio_formats/format/juce_AudioFormatWriter.cpp"; sourceTree = "SOURCE_ROOT"; }; @@ -804,15 +810,13 @@ B2A7B6A8E3CCA7E2038E8EFF = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Plugin Host.app"; sourceTree = "BUILT_PRODUCTS_DIR"; }; C9EBFF5064D2B5EEE2C95FE1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_AudioPluginFormatManager.h"; path = "../../../../modules/juce_audio_processors/format/juce_AudioPluginFormatManager.h"; sourceTree = "SOURCE_ROOT"; }; CDFF2DDB7331FB561D1673EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Common.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Common.h"; sourceTree = "SOURCE_ROOT"; }; - CF67033CFC21C0060B538042 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ReferenceCountedObject.h"; path = "../../../../modules/juce_core/memory/juce_ReferenceCountedObject.h"; sourceTree = "SOURCE_ROOT"; }; D52F4E0C637B4685217CBEB4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_Decibels.h"; path = "../../../../modules/juce_audio_basics/effects/juce_Decibels.h"; sourceTree = "SOURCE_ROOT"; }; - D950776EDF9260DB0278C132 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_SliderPropertyComponent.cpp"; path = "../../../../modules/juce_gui_basics/properties/juce_SliderPropertyComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; + D7C1255A555A016BA0D98228 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_cryptography.h"; path = "../../../../modules/juce_cryptography/juce_cryptography.h"; sourceTree = "SOURCE_ROOT"; }; + D9207F324519739FC25FFBDE = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_core.h"; path = "../../../../modules/juce_core/juce_core.h"; sourceTree = "SOURCE_ROOT"; }; D99B064D47C6B0FDDBC66B02 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_VST3Headers.h"; path = "../../../../modules/juce_audio_processors/format_types/juce_VST3Headers.h"; sourceTree = "SOURCE_ROOT"; }; DA918320EF4057DF54FF8909 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ActionBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ActionBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; - DA9E577DC37123CEA41C4A71 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_WaitableEvent.h"; path = "../../../../modules/juce_core/threads/juce_WaitableEvent.h"; sourceTree = "SOURCE_ROOT"; }; DAF7C72A4348C33364BB654C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CallbackMessage.h"; path = "../../../../modules/juce_events/messages/juce_CallbackMessage.h"; sourceTree = "SOURCE_ROOT"; }; DB246262CA669F13ABDDB33E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_InterprocessConnectionServer.cpp"; path = "../../../../modules/juce_events/interprocess/juce_InterprocessConnectionServer.cpp"; sourceTree = "SOURCE_ROOT"; }; - DCACD63912A2F68687ED06CF = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MemoryInputStream.h"; path = "../../../../modules/juce_core/streams/juce_MemoryInputStream.h"; sourceTree = "SOURCE_ROOT"; }; DD68D7D44BC0B2CA5DCE8532 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ChangeBroadcaster.h"; path = "../../../../modules/juce_events/broadcasters/juce_ChangeBroadcaster.h"; sourceTree = "SOURCE_ROOT"; }; DD91A9EB61D40F941C814090 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_BasicNativeHeaders.h"; path = "../../../../modules/juce_core/native/juce_BasicNativeHeaders.h"; sourceTree = "SOURCE_ROOT"; }; DDE8A5E6804C149ED936C551 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_TargetPlatform.h"; path = "../../../../modules/juce_core/system/juce_TargetPlatform.h"; sourceTree = "SOURCE_ROOT"; }; @@ -860,6 +864,7 @@ E8052B55E5F36932E1BE3A09 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_module_info"; path = "../../../../modules/juce_audio_basics/juce_module_info"; sourceTree = "SOURCE_ROOT"; }; E884C93E7363F24B5CE6DE1C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioSampleBuffer.cpp"; path = "../../../../modules/juce_audio_basics/buffers/juce_AudioSampleBuffer.cpp"; sourceTree = "SOURCE_ROOT"; }; E8D7980A9BE064F54551C3D4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_HighResolutionTimer.h"; path = "../../../../modules/juce_core/threads/juce_HighResolutionTimer.h"; sourceTree = "SOURCE_ROOT"; }; + E90924010E25657C573AFE2A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AnimatedAppComponent.cpp"; path = "../../../../modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; E97917473ACF5E2BF4B424EF = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_DrawableComposite.cpp"; path = "../../../../modules/juce_gui_basics/drawables/juce_DrawableComposite.cpp"; sourceTree = "SOURCE_ROOT"; }; E9B6CD16E5484D71733A15D8 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_MidiKeyboardState.h"; path = "../../../../modules/juce_audio_basics/midi/juce_MidiKeyboardState.h"; sourceTree = "SOURCE_ROOT"; }; EA70FDB4DC6548345E1B0915 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_SHA256.h"; path = "../../../../modules/juce_cryptography/hashing/juce_SHA256.h"; sourceTree = "SOURCE_ROOT"; }; @@ -922,6 +927,7 @@ FC387D5ECE3620237397F0B5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_IIRFilterAudioSource.cpp"; path = "../../../../modules/juce_audio_basics/sources/juce_IIRFilterAudioSource.cpp"; sourceTree = "SOURCE_ROOT"; }; FC99246683913F59070B7966 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_CPlusPlusCodeTokeniser.h"; path = "../../../../modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniser.h"; sourceTree = "SOURCE_ROOT"; }; FCC1B59EB0F8C430693F5832 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_Result.cpp"; path = "../../../../modules/juce_core/misc/juce_Result.cpp"; sourceTree = "SOURCE_ROOT"; }; + FCE0E6E130E6EF32593CC613 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_AudioAppComponent.cpp"; path = "../../../../modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp"; sourceTree = "SOURCE_ROOT"; }; FD0A360D16FC0851ED8F12E9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_ToggleButton.h"; path = "../../../../modules/juce_gui_basics/buttons/juce_ToggleButton.h"; sourceTree = "SOURCE_ROOT"; }; FD3630D56455CA49F6784A6E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_CameraDevice.cpp"; path = "../../../../modules/juce_video/capture/juce_CameraDevice.cpp"; sourceTree = "SOURCE_ROOT"; }; FDC5CCA1B1D3A41BADE24142 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_OpenGL_linux.h"; path = "../../../../modules/juce_opengl/native/juce_OpenGL_linux.h"; sourceTree = "SOURCE_ROOT"; }; @@ -1139,6 +1145,8 @@ B13108F6CE0124C355234332, 973D507D2DF9F9FDE7A59EB8, ); name = "juce_audio_processors"; sourceTree = ""; }; 1AE19A571132D74271CC56C8 = {isa = PBXGroup; children = ( + FCE0E6E130E6EF32593CC613, + 7DBB713E52BEF9A059959B9A, 211E522AB68EFF013607E737, 0511AF7660ABC3E031579CCC, 6467FD9F05820570B157B623, @@ -1881,6 +1889,8 @@ 382380170B8E1B0FF39435F4, 5085F1038F87BFFE07A491C4, ); name = embedding; sourceTree = ""; }; 4700EB1C9B14BBA22B871A1E = {isa = PBXGroup; children = ( + E90924010E25657C573AFE2A, + 9F5B773064345EFCF3C35D87, A30AE6BCB8C3947B097DA340, B87839FF32E9244397D28862, 043393B6262698FFD549A24A, @@ -1943,7 +1953,10 @@ 7C7F405778EA1C68A151B8C3, 775C0307D56978AFC4E2C10D, CDB3F888E50C16B72E745EA1, ); name = geometry; sourceTree = ""; }; - 017A9AA002FFAE4418BD3D16 = {isa = PBXGroup; children = ( + E179614A91A68F12F4E60015 = {isa = PBXGroup; children = ( + 4840790BC5D2B26068E76863, + 7E4C0E94BAD29885B8E8BAAD, ); name = utils; sourceTree = ""; }; + 97CFA3ABA224501DDE5D8097 = {isa = PBXGroup; children = ( B3E0F684EFAAB3722FC50D6F, 9279BC369938CE651A7F8348, 4F4884B5DE59137D823301FB, @@ -1954,7 +1967,8 @@ 2C43A64E61A92F2912632BD6 = {isa = PBXGroup; children = ( E23F6FDE88C4164420DC07F6, 7B1E673135B6D72C79E5E92A, - 017A9AA002FFAE4418BD3D16, + E179614A91A68F12F4E60015, + 97CFA3ABA224501DDE5D8097, CBC2829B45DFFAF01865FAAA, CAA1AEA2DA42ACE7AFBB7A17, ); name = "juce_opengl"; sourceTree = ""; }; 722D4F109F8D2D2A9ECF2644 = {isa = PBXGroup; children = ( diff --git a/examples/audio plugin host/Builds/MacOSX/RecentFilesMenuTemplate.nib b/examples/audio plugin host/Builds/MacOSX/RecentFilesMenuTemplate.nib new file mode 100644 index 0000000000..cec7f7c72b Binary files /dev/null and b/examples/audio plugin host/Builds/MacOSX/RecentFilesMenuTemplate.nib differ diff --git a/extras/audio plugin host/Builds/VisualStudio2010/Plugin Host.sln b/examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.sln similarity index 100% rename from extras/audio plugin host/Builds/VisualStudio2010/Plugin Host.sln rename to examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.sln diff --git a/extras/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj b/examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj similarity index 97% rename from extras/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj rename to examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj index 8cae1870b7..fa6190c751 100644 --- a/extras/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj +++ b/examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj @@ -346,6 +346,9 @@ true + + true + true @@ -1141,6 +1144,9 @@ true + + true + true @@ -1210,6 +1216,9 @@ true + + true + true @@ -1322,6 +1331,7 @@ + @@ -1656,6 +1666,7 @@ + @@ -1681,6 +1692,7 @@ + diff --git a/extras/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj.filters b/examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj.filters similarity index 97% rename from extras/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj.filters rename to examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj.filters index 8695c3e305..38793b51f7 100644 --- a/extras/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj.filters +++ b/examples/audio plugin host/Builds/VisualStudio2010/Plugin Host.vcxproj.filters @@ -284,6 +284,9 @@ {B3141847-8F13-F67D-45B2-E3ECF6E09088} + + {9E586194-C056-101C-5311-F2AF5191AC80} + {151B49D8-6102-F802-1C07-D59931BC0574} @@ -544,6 +547,9 @@ Juce Modules\juce_audio_processors\scanning + + Juce Modules\juce_audio_utils\gui + Juce Modules\juce_audio_utils\gui @@ -1387,6 +1393,9 @@ Juce Modules\juce_gui_extra\documents + + Juce Modules\juce_gui_extra\misc + Juce Modules\juce_gui_extra\misc @@ -1468,6 +1477,9 @@ Juce Modules\juce_opengl\opengl + + Juce Modules\juce_opengl\utils + Juce Modules\juce_video\capture @@ -1776,6 +1788,9 @@ Juce Modules\juce_audio_processors + + Juce Modules\juce_audio_utils\gui + Juce Modules\juce_audio_utils\gui @@ -2778,6 +2793,9 @@ Juce Modules\juce_gui_extra\embedding + + Juce Modules\juce_gui_extra\misc + Juce Modules\juce_gui_extra\misc @@ -2853,6 +2871,9 @@ Juce Modules\juce_opengl\geometry + + Juce Modules\juce_opengl\utils + Juce Modules\juce_opengl\native diff --git a/extras/audio plugin host/Builds/VisualStudio2010/resources.rc b/examples/audio plugin host/Builds/VisualStudio2010/resources.rc similarity index 100% rename from extras/audio plugin host/Builds/VisualStudio2010/resources.rc rename to examples/audio plugin host/Builds/VisualStudio2010/resources.rc diff --git a/extras/audio plugin host/JuceLibraryCode/AppConfig.h b/examples/audio plugin host/JuceLibraryCode/AppConfig.h similarity index 100% rename from extras/audio plugin host/JuceLibraryCode/AppConfig.h rename to examples/audio plugin host/JuceLibraryCode/AppConfig.h diff --git a/extras/audio plugin host/JuceLibraryCode/JuceHeader.h b/examples/audio plugin host/JuceLibraryCode/JuceHeader.h similarity index 100% rename from extras/audio plugin host/JuceLibraryCode/JuceHeader.h rename to examples/audio plugin host/JuceLibraryCode/JuceHeader.h diff --git a/examples/audio plugin host/JuceLibraryCode/ReadMe.txt b/examples/audio plugin host/JuceLibraryCode/ReadMe.txt new file mode 100644 index 0000000000..f6c3564e99 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/ReadMe.txt @@ -0,0 +1,12 @@ + + Important Note!! + ================ + +The purpose of this folder is to contain files that are auto-generated by the Introjucer, +and ALL files in this folder will be mercilessly DELETED and completely re-written whenever +the Introjucer saves your project. + +Therefore, it's a bad idea to make any manual changes to the files in here, or to +put any of your own files in here if you don't want to lose them. (Of course you may choose +to add the folder's contents to your version-control system so that you can re-merge your own +modifications after the Introjucer has saved its changes). diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h new file mode 100644 index 0000000000..b9a775c861 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_basics/juce_audio_basics.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_audio_basics/juce_audio_basics.h" + diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h new file mode 100644 index 0000000000..6a672ccda4 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_devices/juce_audio_devices.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_audio_devices/juce_audio_devices.h" + diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h new file mode 100644 index 0000000000..4307ccc794 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_formats/juce_audio_formats.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_audio_formats/juce_audio_formats.h" + diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h new file mode 100644 index 0000000000..bd61929b93 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_processors/juce_audio_processors.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_audio_processors/juce_audio_processors.h" + diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h new file mode 100644 index 0000000000..dfd50e5536 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/modules/juce_audio_utils/juce_audio_utils.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_audio_utils/juce_audio_utils.h" + diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_core/juce_core.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_core/juce_core.h new file mode 100644 index 0000000000..ee07e01a50 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/modules/juce_core/juce_core.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_core/juce_core.h" + diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h new file mode 100644 index 0000000000..860c0221c7 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/modules/juce_cryptography/juce_cryptography.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_cryptography/juce_cryptography.h" + diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h new file mode 100644 index 0000000000..00f01d46aa --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/modules/juce_data_structures/juce_data_structures.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_data_structures/juce_data_structures.h" + diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_events/juce_events.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_events/juce_events.h new file mode 100644 index 0000000000..d0b4133815 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/modules/juce_events/juce_events.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_events/juce_events.h" + diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_graphics/juce_graphics.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_graphics/juce_graphics.h new file mode 100644 index 0000000000..f287a18ee6 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/modules/juce_graphics/juce_graphics.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_graphics/juce_graphics.h" + diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h new file mode 100644 index 0000000000..c678c1cfc9 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/modules/juce_gui_basics/juce_gui_basics.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_gui_basics/juce_gui_basics.h" + diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h new file mode 100644 index 0000000000..7efee1d103 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/modules/juce_gui_extra/juce_gui_extra.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_gui_extra/juce_gui_extra.h" + diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_opengl/juce_opengl.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_opengl/juce_opengl.h new file mode 100644 index 0000000000..e427fa2135 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/modules/juce_opengl/juce_opengl.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_opengl/juce_opengl.h" + diff --git a/examples/audio plugin host/JuceLibraryCode/modules/juce_video/juce_video.h b/examples/audio plugin host/JuceLibraryCode/modules/juce_video/juce_video.h new file mode 100644 index 0000000000..1b77c4a466 --- /dev/null +++ b/examples/audio plugin host/JuceLibraryCode/modules/juce_video/juce_video.h @@ -0,0 +1,5 @@ +// This is an auto-generated file to redirect any included +// module headers to the correct external folder. + +#include "../../../../../modules/juce_video/juce_video.h" + diff --git a/extras/audio plugin host/Plugin Host.jucer b/examples/audio plugin host/Plugin Host.jucer similarity index 100% rename from extras/audio plugin host/Plugin Host.jucer rename to examples/audio plugin host/Plugin Host.jucer diff --git a/extras/audio plugin host/Source/FilterGraph.cpp b/examples/audio plugin host/Source/FilterGraph.cpp similarity index 100% rename from extras/audio plugin host/Source/FilterGraph.cpp rename to examples/audio plugin host/Source/FilterGraph.cpp diff --git a/extras/audio plugin host/Source/FilterGraph.h b/examples/audio plugin host/Source/FilterGraph.h similarity index 100% rename from extras/audio plugin host/Source/FilterGraph.h rename to examples/audio plugin host/Source/FilterGraph.h diff --git a/extras/audio plugin host/Source/GraphEditorPanel.cpp b/examples/audio plugin host/Source/GraphEditorPanel.cpp similarity index 100% rename from extras/audio plugin host/Source/GraphEditorPanel.cpp rename to examples/audio plugin host/Source/GraphEditorPanel.cpp diff --git a/extras/audio plugin host/Source/GraphEditorPanel.h b/examples/audio plugin host/Source/GraphEditorPanel.h similarity index 100% rename from extras/audio plugin host/Source/GraphEditorPanel.h rename to examples/audio plugin host/Source/GraphEditorPanel.h diff --git a/extras/audio plugin host/Source/HostStartup.cpp b/examples/audio plugin host/Source/HostStartup.cpp similarity index 100% rename from extras/audio plugin host/Source/HostStartup.cpp rename to examples/audio plugin host/Source/HostStartup.cpp diff --git a/extras/audio plugin host/Source/InternalFilters.cpp b/examples/audio plugin host/Source/InternalFilters.cpp similarity index 100% rename from extras/audio plugin host/Source/InternalFilters.cpp rename to examples/audio plugin host/Source/InternalFilters.cpp diff --git a/extras/audio plugin host/Source/InternalFilters.h b/examples/audio plugin host/Source/InternalFilters.h similarity index 100% rename from extras/audio plugin host/Source/InternalFilters.h rename to examples/audio plugin host/Source/InternalFilters.h diff --git a/extras/audio plugin host/Source/MainHostWindow.cpp b/examples/audio plugin host/Source/MainHostWindow.cpp similarity index 100% rename from extras/audio plugin host/Source/MainHostWindow.cpp rename to examples/audio plugin host/Source/MainHostWindow.cpp diff --git a/extras/audio plugin host/Source/MainHostWindow.h b/examples/audio plugin host/Source/MainHostWindow.h similarity index 100% rename from extras/audio plugin host/Source/MainHostWindow.h rename to examples/audio plugin host/Source/MainHostWindow.h diff --git a/extras/browser plugin demo/How to build a browser plugin.txt b/examples/browser plugin demo/How to build a browser plugin.txt similarity index 100% rename from extras/browser plugin demo/How to build a browser plugin.txt rename to examples/browser plugin demo/How to build a browser plugin.txt diff --git a/extras/browser plugin demo/build/mac/Info.plist b/examples/browser plugin demo/build/mac/Info.plist similarity index 100% rename from extras/browser plugin demo/build/mac/Info.plist rename to examples/browser plugin demo/build/mac/Info.plist diff --git a/extras/browser plugin demo/build/mac/JuceBrowserPluginDemo.xcodeproj/project.pbxproj b/examples/browser plugin demo/build/mac/JuceBrowserPluginDemo.xcodeproj/project.pbxproj similarity index 100% rename from extras/browser plugin demo/build/mac/JuceBrowserPluginDemo.xcodeproj/project.pbxproj rename to examples/browser plugin demo/build/mac/JuceBrowserPluginDemo.xcodeproj/project.pbxproj diff --git a/extras/browser plugin demo/build/win32/JuceBrowserPluginDemo.sln b/examples/browser plugin demo/build/win32/JuceBrowserPluginDemo.sln similarity index 100% rename from extras/browser plugin demo/build/win32/JuceBrowserPluginDemo.sln rename to examples/browser plugin demo/build/win32/JuceBrowserPluginDemo.sln diff --git a/extras/browser plugin demo/build/win32/JuceBrowserPluginDemo.vcproj b/examples/browser plugin demo/build/win32/JuceBrowserPluginDemo.vcproj similarity index 100% rename from extras/browser plugin demo/build/win32/JuceBrowserPluginDemo.vcproj rename to examples/browser plugin demo/build/win32/JuceBrowserPluginDemo.vcproj diff --git a/extras/browser plugin demo/src/AppConfig.h b/examples/browser plugin demo/src/AppConfig.h similarity index 100% rename from extras/browser plugin demo/src/AppConfig.h rename to examples/browser plugin demo/src/AppConfig.h diff --git a/extras/browser plugin demo/src/BrowserPluginCharacteristics.h b/examples/browser plugin demo/src/BrowserPluginCharacteristics.h similarity index 100% rename from extras/browser plugin demo/src/BrowserPluginCharacteristics.h rename to examples/browser plugin demo/src/BrowserPluginCharacteristics.h diff --git a/extras/browser plugin demo/src/JuceBrowserPluginDemo.cpp b/examples/browser plugin demo/src/JuceBrowserPluginDemo.cpp similarity index 100% rename from extras/browser plugin demo/src/JuceBrowserPluginDemo.cpp rename to examples/browser plugin demo/src/JuceBrowserPluginDemo.cpp diff --git a/extras/browser plugin demo/src/JuceHeader.h b/examples/browser plugin demo/src/JuceHeader.h similarity index 100% rename from extras/browser plugin demo/src/JuceHeader.h rename to examples/browser plugin demo/src/JuceHeader.h diff --git a/extras/browser plugin demo/src/juce_browser_plugin_wrapper.cpp b/examples/browser plugin demo/src/juce_browser_plugin_wrapper.cpp similarity index 100% rename from extras/browser plugin demo/src/juce_browser_plugin_wrapper.cpp rename to examples/browser plugin demo/src/juce_browser_plugin_wrapper.cpp diff --git a/extras/browser plugin demo/src/juce_browser_plugin_wrapper.mm b/examples/browser plugin demo/src/juce_browser_plugin_wrapper.mm similarity index 100% rename from extras/browser plugin demo/src/juce_browser_plugin_wrapper.mm rename to examples/browser plugin demo/src/juce_browser_plugin_wrapper.mm diff --git a/extras/browser plugin demo/src/juce_core_wrapper.cpp b/examples/browser plugin demo/src/juce_core_wrapper.cpp similarity index 100% rename from extras/browser plugin demo/src/juce_core_wrapper.cpp rename to examples/browser plugin demo/src/juce_core_wrapper.cpp diff --git a/extras/browser plugin demo/src/juce_core_wrapper.mm b/examples/browser plugin demo/src/juce_core_wrapper.mm similarity index 100% rename from extras/browser plugin demo/src/juce_core_wrapper.mm rename to examples/browser plugin demo/src/juce_core_wrapper.mm diff --git a/extras/browser plugin demo/src/juce_data_structures_wrapper.cpp b/examples/browser plugin demo/src/juce_data_structures_wrapper.cpp similarity index 100% rename from extras/browser plugin demo/src/juce_data_structures_wrapper.cpp rename to examples/browser plugin demo/src/juce_data_structures_wrapper.cpp diff --git a/extras/browser plugin demo/src/juce_data_structures_wrapper.mm b/examples/browser plugin demo/src/juce_data_structures_wrapper.mm similarity index 100% rename from extras/browser plugin demo/src/juce_data_structures_wrapper.mm rename to examples/browser plugin demo/src/juce_data_structures_wrapper.mm diff --git a/extras/browser plugin demo/src/juce_events_wrapper.cpp b/examples/browser plugin demo/src/juce_events_wrapper.cpp similarity index 100% rename from extras/browser plugin demo/src/juce_events_wrapper.cpp rename to examples/browser plugin demo/src/juce_events_wrapper.cpp diff --git a/extras/browser plugin demo/src/juce_events_wrapper.mm b/examples/browser plugin demo/src/juce_events_wrapper.mm similarity index 100% rename from extras/browser plugin demo/src/juce_events_wrapper.mm rename to examples/browser plugin demo/src/juce_events_wrapper.mm diff --git a/extras/browser plugin demo/src/juce_graphics_wrapper.cpp b/examples/browser plugin demo/src/juce_graphics_wrapper.cpp similarity index 100% rename from extras/browser plugin demo/src/juce_graphics_wrapper.cpp rename to examples/browser plugin demo/src/juce_graphics_wrapper.cpp diff --git a/extras/browser plugin demo/src/juce_graphics_wrapper.mm b/examples/browser plugin demo/src/juce_graphics_wrapper.mm similarity index 100% rename from extras/browser plugin demo/src/juce_graphics_wrapper.mm rename to examples/browser plugin demo/src/juce_graphics_wrapper.mm diff --git a/extras/browser plugin demo/src/juce_gui_basics_wrapper.cpp b/examples/browser plugin demo/src/juce_gui_basics_wrapper.cpp similarity index 100% rename from extras/browser plugin demo/src/juce_gui_basics_wrapper.cpp rename to examples/browser plugin demo/src/juce_gui_basics_wrapper.cpp diff --git a/extras/browser plugin demo/src/juce_gui_basics_wrapper.mm b/examples/browser plugin demo/src/juce_gui_basics_wrapper.mm similarity index 100% rename from extras/browser plugin demo/src/juce_gui_basics_wrapper.mm rename to examples/browser plugin demo/src/juce_gui_basics_wrapper.mm diff --git a/extras/browser plugin demo/test.html b/examples/browser plugin demo/test.html similarity index 100% rename from extras/browser plugin demo/test.html rename to examples/browser plugin demo/test.html diff --git a/extras/Demo/Builds/Android/res/drawable-mdpi/icon.png b/extras/Demo/Builds/Android/res/drawable-mdpi/icon.png deleted file mode 100644 index 6001a4931f..0000000000 Binary files a/extras/Demo/Builds/Android/res/drawable-mdpi/icon.png and /dev/null differ diff --git a/extras/Demo/Builds/MacOSX/Icon.icns b/extras/Demo/Builds/MacOSX/Icon.icns deleted file mode 100644 index a1d2ba8423..0000000000 Binary files a/extras/Demo/Builds/MacOSX/Icon.icns and /dev/null differ diff --git a/extras/Demo/Builds/VisualStudio2010/icon.ico b/extras/Demo/Builds/VisualStudio2010/icon.ico deleted file mode 100644 index 978b919a98..0000000000 Binary files a/extras/Demo/Builds/VisualStudio2010/icon.ico and /dev/null differ diff --git a/extras/Demo/Builds/VisualStudio2012/icon.ico b/extras/Demo/Builds/VisualStudio2012/icon.ico deleted file mode 100644 index 978b919a98..0000000000 Binary files a/extras/Demo/Builds/VisualStudio2012/icon.ico and /dev/null differ diff --git a/extras/Demo/Builds/VisualStudio2013/icon.ico b/extras/Demo/Builds/VisualStudio2013/icon.ico deleted file mode 100644 index 978b919a98..0000000000 Binary files a/extras/Demo/Builds/VisualStudio2013/icon.ico and /dev/null differ diff --git a/extras/Demo/Builds/iOS/Icon.icns b/extras/Demo/Builds/iOS/Icon.icns deleted file mode 100644 index a1d2ba8423..0000000000 Binary files a/extras/Demo/Builds/iOS/Icon.icns and /dev/null differ diff --git a/extras/Demo/Resources/brushed_aluminium.png b/extras/Demo/Resources/brushed_aluminium.png deleted file mode 100644 index 1269023e5d..0000000000 Binary files a/extras/Demo/Resources/brushed_aluminium.png and /dev/null differ diff --git a/extras/Introjucer/Builds/CodeBlocks/The Introjucer.cbp b/extras/Introjucer/Builds/CodeBlocks/The Introjucer.cbp index cca0039e9e..0cf6dcf3a9 100644 --- a/extras/Introjucer/Builds/CodeBlocks/The Introjucer.cbp +++ b/extras/Introjucer/Builds/CodeBlocks/The Introjucer.cbp @@ -16,7 +16,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -299,6 +246,289 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + @@ -351,7 +580,7 @@ - + @@ -361,7 +590,7 @@ - + @@ -371,7 +600,7 @@ - + @@ -381,7 +610,7 @@ - + @@ -391,7 +620,7 @@ - + @@ -401,7 +630,7 @@ - + @@ -411,7 +640,7 @@ - + @@ -421,7 +650,7 @@ - + @@ -431,7 +660,7 @@ - + @@ -441,67 +670,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -521,6 +690,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3653,6 +3922,17 @@ + + + + + + + + + + @@ -145,60 +146,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -299,6 +246,289 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + @@ -351,7 +580,7 @@ - + @@ -361,7 +590,7 @@ - + @@ -371,7 +600,7 @@ - + @@ -381,7 +610,7 @@ - + @@ -391,7 +620,7 @@ - + @@ -401,7 +630,7 @@ - + @@ -411,7 +640,7 @@ - + @@ -421,7 +650,7 @@ - + @@ -431,7 +660,7 @@ - + @@ -441,67 +670,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -521,6 +690,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3653,6 +3922,17 @@ + + + + + + + + + - - - - - - - - - - - - - - @@ -166,6 +152,27 @@ + + + + + + + + + + + + + + + + + true + + + true + true @@ -184,6 +191,9 @@ true + + true + true @@ -193,6 +203,9 @@ true + + true + true @@ -973,6 +986,9 @@ true + + true + true @@ -1030,6 +1046,7 @@ + @@ -1038,40 +1055,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1137,6 +1120,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1472,6 +1503,7 @@ + @@ -1494,7 +1526,27 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj.filters b/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj.filters index 85d67d0ccd..6b0ef12457 100644 --- a/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj.filters +++ b/extras/Introjucer/Builds/VisualStudio2010/The Introjucer.vcxproj.filters @@ -8,15 +8,6 @@ {BCABA310-8FA8-9483-44C8-901CB254B038} - - {9CFC1C13-C955-D9BB-A0F7-363446AC2CBB} - - - {330A7495-9D53-820D-AD63-2DC83D2ED767} - - - {BF742880-2B1E-3276-CFB8-089DC7DD5EE5} - {D05B051C-4835-D6A6-3AF4-B61963EFC368} @@ -38,6 +29,21 @@ {3CBBC95A-4009-C9C5-036C-B226EF4E113E} + + {330A7495-9D53-820D-AD63-2DC83D2ED767} + + + {9CFC1C13-C955-D9BB-A0F7-363446AC2CBB} + + + {BF742880-2B1E-3276-CFB8-089DC7DD5EE5} + + + {CB03A00B-C740-D8D3-A019-4C165270265F} + + + {EF91E5A7-0051-0493-4B4A-D458322DB03D} + {768EDA37-3A9B-E5C5-8D35-27FEF74CCBA0} @@ -262,48 +268,6 @@ The Introjucer\Application - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - The Introjucer\Code Editor @@ -367,32 +331,89 @@ The Introjucer\ComponentEditor + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards\templates + + + The Introjucer\Wizards\templates + - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates + + + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates + + + The Introjucer\Wizards\templates Juce Modules\juce_core\text @@ -1222,6 +1243,9 @@ Juce Modules\juce_gui_extra\documents + + Juce Modules\juce_gui_extra\misc + Juce Modules\juce_gui_extra\misc @@ -1311,6 +1335,9 @@ The Introjucer\Application + + The Introjucer\Application + The Introjucer\Application @@ -1335,108 +1362,6 @@ The Introjucer\Application - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - The Introjucer\Code Editor @@ -1632,29 +1557,173 @@ The Introjucer\ComponentEditor + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates Juce Modules\juce_core\text @@ -2637,6 +2706,9 @@ Juce Modules\juce_gui_extra\embedding + + Juce Modules\juce_gui_extra\misc + Juce Modules\juce_gui_extra\misc @@ -2699,9 +2771,69 @@ The Introjucer\BinaryData + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + The Introjucer\BinaryData + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + Juce Modules\juce_core diff --git a/extras/Introjucer/Builds/VisualStudio2010/icon.ico b/extras/Introjucer/Builds/VisualStudio2010/icon.ico index 978b919a98..6ba1b7e3d5 100644 Binary files a/extras/Introjucer/Builds/VisualStudio2010/icon.ico and b/extras/Introjucer/Builds/VisualStudio2010/icon.ico differ diff --git a/extras/Introjucer/Builds/VisualStudio2012/The Introjucer.vcxproj b/extras/Introjucer/Builds/VisualStudio2012/The Introjucer.vcxproj index 4ab8da348c..eb2ccee2f0 100644 --- a/extras/Introjucer/Builds/VisualStudio2012/The Introjucer.vcxproj +++ b/extras/Introjucer/Builds/VisualStudio2012/The Introjucer.vcxproj @@ -137,20 +137,6 @@ - - - - - - - - - - - - - - @@ -172,6 +158,27 @@ + + + + + + + + + + + + + + + + + true + + + true + true @@ -190,6 +197,9 @@ true + + true + true @@ -199,6 +209,9 @@ true + + true + true @@ -979,6 +992,9 @@ true + + true + true @@ -1036,6 +1052,7 @@ + @@ -1044,40 +1061,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1143,6 +1126,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1478,6 +1509,7 @@ + @@ -1500,7 +1532,27 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/extras/Introjucer/Builds/VisualStudio2012/The Introjucer.vcxproj.filters b/extras/Introjucer/Builds/VisualStudio2012/The Introjucer.vcxproj.filters index 85d67d0ccd..6b0ef12457 100644 --- a/extras/Introjucer/Builds/VisualStudio2012/The Introjucer.vcxproj.filters +++ b/extras/Introjucer/Builds/VisualStudio2012/The Introjucer.vcxproj.filters @@ -8,15 +8,6 @@ {BCABA310-8FA8-9483-44C8-901CB254B038} - - {9CFC1C13-C955-D9BB-A0F7-363446AC2CBB} - - - {330A7495-9D53-820D-AD63-2DC83D2ED767} - - - {BF742880-2B1E-3276-CFB8-089DC7DD5EE5} - {D05B051C-4835-D6A6-3AF4-B61963EFC368} @@ -38,6 +29,21 @@ {3CBBC95A-4009-C9C5-036C-B226EF4E113E} + + {330A7495-9D53-820D-AD63-2DC83D2ED767} + + + {9CFC1C13-C955-D9BB-A0F7-363446AC2CBB} + + + {BF742880-2B1E-3276-CFB8-089DC7DD5EE5} + + + {CB03A00B-C740-D8D3-A019-4C165270265F} + + + {EF91E5A7-0051-0493-4B4A-D458322DB03D} + {768EDA37-3A9B-E5C5-8D35-27FEF74CCBA0} @@ -262,48 +268,6 @@ The Introjucer\Application - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - The Introjucer\Code Editor @@ -367,32 +331,89 @@ The Introjucer\ComponentEditor + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards\templates + + + The Introjucer\Wizards\templates + - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates + + + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates + + + The Introjucer\Wizards\templates Juce Modules\juce_core\text @@ -1222,6 +1243,9 @@ Juce Modules\juce_gui_extra\documents + + Juce Modules\juce_gui_extra\misc + Juce Modules\juce_gui_extra\misc @@ -1311,6 +1335,9 @@ The Introjucer\Application + + The Introjucer\Application + The Introjucer\Application @@ -1335,108 +1362,6 @@ The Introjucer\Application - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - The Introjucer\Code Editor @@ -1632,29 +1557,173 @@ The Introjucer\ComponentEditor + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates Juce Modules\juce_core\text @@ -2637,6 +2706,9 @@ Juce Modules\juce_gui_extra\embedding + + Juce Modules\juce_gui_extra\misc + Juce Modules\juce_gui_extra\misc @@ -2699,9 +2771,69 @@ The Introjucer\BinaryData + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + The Introjucer\BinaryData + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + Juce Modules\juce_core diff --git a/extras/Introjucer/Builds/VisualStudio2012/icon.ico b/extras/Introjucer/Builds/VisualStudio2012/icon.ico index 978b919a98..6ba1b7e3d5 100644 Binary files a/extras/Introjucer/Builds/VisualStudio2012/icon.ico and b/extras/Introjucer/Builds/VisualStudio2012/icon.ico differ diff --git a/extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj b/extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj index a5d2d9f769..6480e5e003 100644 --- a/extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj +++ b/extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj @@ -137,20 +137,6 @@ - - - - - - - - - - - - - - @@ -172,6 +158,27 @@ + + + + + + + + + + + + + + + + + true + + + true + true @@ -190,6 +197,9 @@ true + + true + true @@ -199,6 +209,9 @@ true + + true + true @@ -979,6 +992,9 @@ true + + true + true @@ -1036,6 +1052,7 @@ + @@ -1044,40 +1061,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1143,6 +1126,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1478,6 +1509,7 @@ + @@ -1500,7 +1532,27 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj.filters b/extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj.filters index 73d6239303..f51cde8811 100644 --- a/extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj.filters +++ b/extras/Introjucer/Builds/VisualStudio2013/The Introjucer.vcxproj.filters @@ -8,15 +8,6 @@ {BCABA310-8FA8-9483-44C8-901CB254B038} - - {9CFC1C13-C955-D9BB-A0F7-363446AC2CBB} - - - {330A7495-9D53-820D-AD63-2DC83D2ED767} - - - {BF742880-2B1E-3276-CFB8-089DC7DD5EE5} - {D05B051C-4835-D6A6-3AF4-B61963EFC368} @@ -38,6 +29,21 @@ {3CBBC95A-4009-C9C5-036C-B226EF4E113E} + + {330A7495-9D53-820D-AD63-2DC83D2ED767} + + + {9CFC1C13-C955-D9BB-A0F7-363446AC2CBB} + + + {BF742880-2B1E-3276-CFB8-089DC7DD5EE5} + + + {CB03A00B-C740-D8D3-A019-4C165270265F} + + + {EF91E5A7-0051-0493-4B4A-D458322DB03D} + {768EDA37-3A9B-E5C5-8D35-27FEF74CCBA0} @@ -262,48 +268,6 @@ The Introjucer\Application - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - The Introjucer\Code Editor @@ -367,32 +331,89 @@ The Introjucer\ComponentEditor + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards\templates + + + The Introjucer\Wizards\templates + - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates + + + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates + + + The Introjucer\Wizards\templates Juce Modules\juce_core\text @@ -1222,6 +1243,9 @@ Juce Modules\juce_gui_extra\documents + + Juce Modules\juce_gui_extra\misc + Juce Modules\juce_gui_extra\misc @@ -1311,6 +1335,9 @@ The Introjucer\Application + + The Introjucer\Application + The Introjucer\Application @@ -1335,108 +1362,6 @@ The Introjucer\Application - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Project Saving - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - - - The Introjucer\Utility - The Introjucer\Code Editor @@ -1632,29 +1557,173 @@ The Introjucer\ComponentEditor + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project Saving + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Project + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Utility + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + + + The Introjucer\Wizards + - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates - The Introjucer\BinaryData + The Introjucer\Wizards\templates Juce Modules\juce_core\text @@ -2637,6 +2706,9 @@ Juce Modules\juce_gui_extra\embedding + + Juce Modules\juce_gui_extra\misc + Juce Modules\juce_gui_extra\misc @@ -2699,9 +2771,69 @@ The Introjucer\BinaryData + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + The Introjucer\BinaryData + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + + + The Introjucer\BinaryData + Juce Modules\juce_core diff --git a/extras/Introjucer/Builds/VisualStudio2013/icon.ico b/extras/Introjucer/Builds/VisualStudio2013/icon.ico index 978b919a98..6ba1b7e3d5 100644 Binary files a/extras/Introjucer/Builds/VisualStudio2013/icon.ico and b/extras/Introjucer/Builds/VisualStudio2013/icon.ico differ diff --git a/extras/Introjucer/Introjucer.jucer b/extras/Introjucer/Introjucer.jucer index 59cb413a23..2729633a45 100644 --- a/extras/Introjucer/Introjucer.jucer +++ b/extras/Introjucer/Introjucer.jucer @@ -162,6 +162,8 @@ file="Source/Application/jucer_AppearanceSettings.h"/> + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -473,6 +376,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -482,43 +560,47 @@ file="Source/BinaryData/colourscheme_dark.xml"/> - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + \r\n" +"/*\r\n" +" ==============================================================================\r\n" "\r\n" -"\r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -"\r\n"; - -const char* colourscheme_dark_xml = (const char*) temp_binary_data_2; - -//================== colourscheme_light.xml ================== -static const unsigned char temp_binary_data_3[] = -"\r\n" +" This file was auto-generated!\r\n" "\r\n" -"\r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -" \r\n" -"\r\n"; +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#ifndef MAINCOMPONENT_H_INCLUDED\r\n" +"#define MAINCOMPONENT_H_INCLUDED\r\n" +"\r\n" +"INCLUDE_JUCE\r\n" +"\r\n" +"//==============================================================================\r\n" +"/*\r\n" +" This component lives inside our window, and this is where you should put all\r\n" +" your controls and content.\r\n" +"*/\r\n" +"class MainContentComponent : public AudioAppComponent\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" MainContentComponent()\r\n" +" {\r\n" +" setSize (800, 600);\r\n" +"\r\n" +" // specify the number of input and output channels that we want to open\r\n" +" setAudioChannels (2, 2);\r\n" +" }\r\n" +"\r\n" +" ~MainContentComponent()\r\n" +" {\r\n" +" shutdownAudio();\r\n" +" }\r\n" +"\r\n" +" //=======================================================================\r\n" +" void prepareToPlay (int samplesPerBlockExpected, double sampleRate) override\r\n" +" {\r\n" +" // This function will be called when the audio device is started, or when\r\n" +" // its settings (i.e. sample rate, block size, etc) are changed.\r\n" +"\r\n" +" // You can use this function to initialise any resources you might need,\r\n" +" // but be careful - it will be called on the audio thread, not the GUI thread.\r\n" +"\r\n" +" // For more details, see the help for AudioProcessor::prepareToPlay()\r\n" +" }\r\n" +"\r\n" +" void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) override\r\n" +" {\r\n" +" // Your audio-processing code goes here!\r\n" +"\r\n" +" // For more details, see the help for AudioProcessor::getNextAudioBlock()\r\n" +" }\r\n" +"\r\n" +" void releaseResources() override\r\n" +" {\r\n" +" // This will be called when the audio device stops, or when it is being\r\n" +" // restarted due to a setting change.\r\n" +"\r\n" +" // For more details, see the help for AudioProcessor::releaseResources()\r\n" +" }\r\n" +"\r\n" +" //=======================================================================\r\n" +" void paint (Graphics& g) override\r\n" +" {\r\n" +" // (Our component is opaque, so we must completely fill the background with a solid colour)\r\n" +" g.fillAll (Colours::black);\r\n" +"\r\n" +"\r\n" +" // You can add your drawing code here!\r\n" +" }\r\n" +"\r\n" +" void resized() override\r\n" +" {\r\n" +" // This is called when the MainContentComponent is resized.\r\n" +" // If you add any child components, this is where you should\r\n" +" // update their positions.\r\n" +" }\r\n" +"\r\n" +"\r\n" +"private:\r\n" +" //==============================================================================\r\n" +"\r\n" +" // Your private member variables go here...\r\n" +"\r\n" +"\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)\r\n" +"};\r\n" +"\r\n" +"\r\n" +"// (This function is called by the app startup code to create our main component)\r\n" +"Component* createMainContentComponent() { return new MainContentComponent(); }\r\n" +"\r\n" +"\r\n" +"#endif // MAINCOMPONENT_H_INCLUDED\r\n"; -const char* colourscheme_light_xml = (const char*) temp_binary_data_3; +const char* jucer_AudioComponentTemplate_cpp = (const char*) temp_binary_data_1; //================== jucer_AudioPluginEditorTemplate.cpp ================== -static const unsigned char temp_binary_data_4[] = +static const unsigned char temp_binary_data_2[] = "/*\r\n" " ==============================================================================\r\n" "\r\n" @@ -209,10 +227,10 @@ static const unsigned char temp_binary_data_4[] = " // subcomponents in your editor..\r\n" "}\r\n"; -const char* jucer_AudioPluginEditorTemplate_cpp = (const char*) temp_binary_data_4; +const char* jucer_AudioPluginEditorTemplate_cpp = (const char*) temp_binary_data_2; //================== jucer_AudioPluginEditorTemplate.h ================== -static const unsigned char temp_binary_data_5[] = +static const unsigned char temp_binary_data_3[] = "/*\r\n" " ==============================================================================\r\n" "\r\n" @@ -253,10 +271,10 @@ static const unsigned char temp_binary_data_5[] = "\r\n" "#endif // HEADERGUARD\r\n"; -const char* jucer_AudioPluginEditorTemplate_h = (const char*) temp_binary_data_5; +const char* jucer_AudioPluginEditorTemplate_h = (const char*) temp_binary_data_3; //================== jucer_AudioPluginFilterTemplate.cpp ================== -static const unsigned char temp_binary_data_6[] = +static const unsigned char temp_binary_data_4[] = "/*\r\n" " ==============================================================================\r\n" "\r\n" @@ -447,10 +465,10 @@ static const unsigned char temp_binary_data_6[] = " return new FILTERCLASSNAME();\r\n" "}\r\n"; -const char* jucer_AudioPluginFilterTemplate_cpp = (const char*) temp_binary_data_6; +const char* jucer_AudioPluginFilterTemplate_cpp = (const char*) temp_binary_data_4; //================== jucer_AudioPluginFilterTemplate.h ================== -static const unsigned char temp_binary_data_7[] = +static const unsigned char temp_binary_data_5[] = "/*\r\n" " ==============================================================================\r\n" "\r\n" @@ -526,10 +544,10 @@ static const unsigned char temp_binary_data_7[] = "\r\n" "#endif // HEADERGUARD\r\n"; -const char* jucer_AudioPluginFilterTemplate_h = (const char*) temp_binary_data_7; +const char* jucer_AudioPluginFilterTemplate_h = (const char*) temp_binary_data_5; //================== jucer_ComponentTemplate.cpp ================== -static const unsigned char temp_binary_data_8[] = +static const unsigned char temp_binary_data_6[] = "/*\r\n" " ==============================================================================\r\n" "\r\n" @@ -602,10 +620,10 @@ static const unsigned char temp_binary_data_8[] = "//[EndFile] You can add extra defines here...\r\n" "//[/EndFile]"; -const char* jucer_ComponentTemplate_cpp = (const char*) temp_binary_data_8; +const char* jucer_ComponentTemplate_cpp = (const char*) temp_binary_data_6; //================== jucer_ComponentTemplate.h ================== -static const unsigned char temp_binary_data_9[] = +static const unsigned char temp_binary_data_7[] = "/*\r\n" " ==============================================================================\r\n" "\r\n" @@ -671,10 +689,10 @@ static const unsigned char temp_binary_data_9[] = "\r\n" "#endif // %%headerGuard%%"; -const char* jucer_ComponentTemplate_h = (const char*) temp_binary_data_9; +const char* jucer_ComponentTemplate_h = (const char*) temp_binary_data_7; //================== jucer_ContentCompTemplate.cpp ================== -static const unsigned char temp_binary_data_10[] = +static const unsigned char temp_binary_data_8[] = "/*\r\n" " ==============================================================================\r\n" "\r\n" @@ -689,7 +707,7 @@ static const unsigned char temp_binary_data_10[] = "//==============================================================================\r\n" "CONTENTCOMPCLASS::CONTENTCOMPCLASS()\r\n" "{\r\n" -" setSize (500, 400);\r\n" +" setSize (600, 400);\r\n" "}\r\n" "\r\n" "CONTENTCOMPCLASS::~CONTENTCOMPCLASS()\r\n" @@ -698,10 +716,10 @@ static const unsigned char temp_binary_data_10[] = "\r\n" "void CONTENTCOMPCLASS::paint (Graphics& g)\r\n" "{\r\n" -" g.fillAll (Colour (0xffeeddff));\r\n" +" g.fillAll (Colour (0xff001F36));\r\n" "\r\n" " g.setFont (Font (16.0f));\r\n" -" g.setColour (Colours::black);\r\n" +" g.setColour (Colours::white);\r\n" " g.drawText (\"Hello World!\", getLocalBounds(), Justification::centred, true);\r\n" "}\r\n" "\r\n" @@ -712,10 +730,10 @@ static const unsigned char temp_binary_data_10[] = " // update their positions.\r\n" "}\r\n"; -const char* jucer_ContentCompTemplate_cpp = (const char*) temp_binary_data_10; +const char* jucer_ContentCompTemplate_cpp = (const char*) temp_binary_data_8; //================== jucer_ContentCompTemplate.h ================== -static const unsigned char temp_binary_data_11[] = +static const unsigned char temp_binary_data_9[] = "/*\r\n" " ==============================================================================\r\n" "\r\n" @@ -753,10 +771,10 @@ static const unsigned char temp_binary_data_11[] = "\r\n" "#endif // HEADERGUARD\r\n"; -const char* jucer_ContentCompTemplate_h = (const char*) temp_binary_data_11; +const char* jucer_ContentCompTemplate_h = (const char*) temp_binary_data_9; //================== jucer_InlineComponentTemplate.h ================== -static const unsigned char temp_binary_data_12[] = +static const unsigned char temp_binary_data_10[] = "//==============================================================================\r\n" "class COMPONENTCLASS : public Component\r\n" "{\r\n" @@ -798,10 +816,10 @@ static const unsigned char temp_binary_data_12[] = " JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (COMPONENTCLASS)\r\n" "};\r\n"; -const char* jucer_InlineComponentTemplate_h = (const char*) temp_binary_data_12; +const char* jucer_InlineComponentTemplate_h = (const char*) temp_binary_data_10; //================== jucer_MainConsoleAppTemplate.cpp ================== -static const unsigned char temp_binary_data_13[] = +static const unsigned char temp_binary_data_11[] = "/*\r\n" " ==============================================================================\r\n" "\r\n" @@ -825,10 +843,10 @@ static const unsigned char temp_binary_data_13[] = " return 0;\r\n" "}\r\n"; -const char* jucer_MainConsoleAppTemplate_cpp = (const char*) temp_binary_data_13; +const char* jucer_MainConsoleAppTemplate_cpp = (const char*) temp_binary_data_11; //================== jucer_MainTemplate_NoWindow.cpp ================== -static const unsigned char temp_binary_data_14[] = +static const unsigned char temp_binary_data_12[] = "/*\r\n" " ==============================================================================\r\n" "\r\n" @@ -884,10 +902,116 @@ static const unsigned char temp_binary_data_14[] = "// This macro generates the main() routine that launches the app.\r\n" "START_JUCE_APPLICATION (APPCLASSNAME)\r\n"; -const char* jucer_MainTemplate_NoWindow_cpp = (const char*) temp_binary_data_14; +const char* jucer_MainTemplate_NoWindow_cpp = (const char*) temp_binary_data_12; + +//================== jucer_MainTemplate_SimpleWindow.cpp ================== +static const unsigned char temp_binary_data_13[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated by the Introjucer!\r\n" +"\r\n" +" It contains the basic startup code for a Juce application.\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"APPHEADERS\r\n" +"\r\n" +"Component* createMainContentComponent();\r\n" +"\r\n" +"//==============================================================================\r\n" +"class APPCLASSNAME : public JUCEApplication\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" APPCLASSNAME() {}\r\n" +"\r\n" +" const String getApplicationName() override { return ProjectInfo::projectName; }\r\n" +" const String getApplicationVersion() override { return ProjectInfo::versionString; }\r\n" +" bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; }\r\n" +"\r\n" +" //==============================================================================\r\n" +" void initialise (const String& commandLine) override\r\n" +" {\r\n" +" // This method is where you should put your application's initialisation code..\r\n" +"\r\n" +" mainWindow = new MainWindow (getApplicationName());\r\n" +" }\r\n" +"\r\n" +" void shutdown() override\r\n" +" {\r\n" +" // Add your application's shutdown code here..\r\n" +"\r\n" +" mainWindow = nullptr; // (deletes our window)\r\n" +" }\r\n" +"\r\n" +" //==============================================================================\r\n" +" void systemRequestedQuit() override\r\n" +" {\r\n" +" // This is called when the app is being asked to quit: you can ignore this\r\n" +" // request and let the app carry on running, or call quit() to allow the app to close.\r\n" +" quit();\r\n" +" }\r\n" +"\r\n" +" void anotherInstanceStarted (const String& commandLine) override\r\n" +" {\r\n" +" // When another instance of the app is launched while this one is running,\r\n" +" // this method is invoked, and the commandLine parameter tells you what\r\n" +" // the other instance's command-line arguments were.\r\n" +" }\r\n" +"\r\n" +" //==============================================================================\r\n" +" /*\r\n" +" This class implements the desktop window that contains an instance of\r\n" +" our CONTENTCOMPCLASS class.\r\n" +" */\r\n" +" class MainWindow : public DocumentWindow\r\n" +" {\r\n" +" public:\r\n" +" MainWindow (String name) : DocumentWindow (name,\r\n" +" Colours::lightgrey,\r\n" +" DocumentWindow::allButtons)\r\n" +" {\r\n" +" setUsingNativeTitleBar (true);\r\n" +" setContentOwned (createMainContentComponent(), true);\r\n" +" setResizable (true, true);\r\n" +"\r\n" +" centreWithSize (getWidth(), getHeight());\r\n" +" setVisible (true);\r\n" +" }\r\n" +"\r\n" +" void closeButtonPressed() override\r\n" +" {\r\n" +" // This is called when the user tries to close this window. Here, we'll just\r\n" +" // ask the app to quit when this happens, but you can change this to do\r\n" +" // whatever you need.\r\n" +" JUCEApplication::getInstance()->systemRequestedQuit();\r\n" +" }\r\n" +"\r\n" +" /* Note: Be careful if you override any DocumentWindow methods - the base\r\n" +" class uses a lot of them, so by overriding you might break its functionality.\r\n" +" It's best to do all your work in your content component instead, but if\r\n" +" you really have to override any DocumentWindow methods, make sure your\r\n" +" subclass also calls the superclass's method.\r\n" +" */\r\n" +"\r\n" +" private:\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow)\r\n" +" };\r\n" +"\r\n" +"private:\r\n" +" ScopedPointer mainWindow;\r\n" +"};\r\n" +"\r\n" +"//==============================================================================\r\n" +"// This macro generates the main() routine that launches the app.\r\n" +"START_JUCE_APPLICATION (APPCLASSNAME)\r\n"; + +const char* jucer_MainTemplate_SimpleWindow_cpp = (const char*) temp_binary_data_13; //================== jucer_MainTemplate_Window.cpp ================== -static const unsigned char temp_binary_data_15[] = +static const unsigned char temp_binary_data_14[] = "/*\r\n" " ==============================================================================\r\n" "\r\n" @@ -988,10 +1112,10 @@ static const unsigned char temp_binary_data_15[] = "// This macro generates the main() routine that launches the app.\r\n" "START_JUCE_APPLICATION (APPCLASSNAME)\r\n"; -const char* jucer_MainTemplate_Window_cpp = (const char*) temp_binary_data_15; +const char* jucer_MainTemplate_Window_cpp = (const char*) temp_binary_data_14; //================== jucer_NewComponentTemplate.cpp ================== -static const unsigned char temp_binary_data_16[] = +static const unsigned char temp_binary_data_15[] = "/*\r\n" " ==============================================================================\r\n" "\r\n" @@ -1044,10 +1168,10 @@ static const unsigned char temp_binary_data_16[] = "\r\n" "}\r\n"; -const char* jucer_NewComponentTemplate_cpp = (const char*) temp_binary_data_16; +const char* jucer_NewComponentTemplate_cpp = (const char*) temp_binary_data_15; //================== jucer_NewComponentTemplate.h ================== -static const unsigned char temp_binary_data_17[] = +static const unsigned char temp_binary_data_16[] = "/*\r\n" " ==============================================================================\r\n" "\r\n" @@ -1082,10 +1206,10 @@ static const unsigned char temp_binary_data_17[] = "\r\n" "#endif // HEADERGUARD\r\n"; -const char* jucer_NewComponentTemplate_h = (const char*) temp_binary_data_17; +const char* jucer_NewComponentTemplate_h = (const char*) temp_binary_data_16; //================== jucer_NewCppFileTemplate.cpp ================== -static const unsigned char temp_binary_data_18[] = +static const unsigned char temp_binary_data_17[] = "/*\r\n" " ==============================================================================\r\n" "\r\n" @@ -1098,10 +1222,10 @@ static const unsigned char temp_binary_data_18[] = "\r\n" "INCLUDE_CORRESPONDING_HEADER\r\n"; -const char* jucer_NewCppFileTemplate_cpp = (const char*) temp_binary_data_18; +const char* jucer_NewCppFileTemplate_cpp = (const char*) temp_binary_data_17; //================== jucer_NewCppFileTemplate.h ================== -static const unsigned char temp_binary_data_19[] = +static const unsigned char temp_binary_data_18[] = "/*\r\n" " ==============================================================================\r\n" "\r\n" @@ -1121,10 +1245,10 @@ static const unsigned char temp_binary_data_19[] = "\r\n" "#endif // HEADERGUARD\r\n"; -const char* jucer_NewCppFileTemplate_h = (const char*) temp_binary_data_19; +const char* jucer_NewCppFileTemplate_h = (const char*) temp_binary_data_18; //================== jucer_NewInlineComponentTemplate.h ================== -static const unsigned char temp_binary_data_20[] = +static const unsigned char temp_binary_data_19[] = "/*\r\n" " ==============================================================================\r\n" "\r\n" @@ -1191,10 +1315,2638 @@ static const unsigned char temp_binary_data_20[] = "\r\n" "#endif // HEADERGUARD\r\n"; -const char* jucer_NewInlineComponentTemplate_h = (const char*) temp_binary_data_20; +const char* jucer_NewInlineComponentTemplate_h = (const char*) temp_binary_data_19; + +//================== jucer_OpenGLComponentTemplate.cpp ================== +static const unsigned char temp_binary_data_20[] = +"/*\r\n" +" ==============================================================================\r\n" +"\r\n" +" This file was auto-generated!\r\n" +"\r\n" +" ==============================================================================\r\n" +"*/\r\n" +"\r\n" +"#ifndef MAINCOMPONENT_H_INCLUDED\r\n" +"#define MAINCOMPONENT_H_INCLUDED\r\n" +"\r\n" +"INCLUDE_JUCE\r\n" +"\r\n" +"//==============================================================================\r\n" +"/*\r\n" +" This component lives inside our window, and this is where you should put all\r\n" +" your controls and content.\r\n" +"*/\r\n" +"class MainContentComponent : public OpenGLAppComponent\r\n" +"{\r\n" +"public:\r\n" +" //==============================================================================\r\n" +" MainContentComponent()\r\n" +" {\r\n" +" setSize (800, 600);\r\n" +" }\r\n" +"\r\n" +" ~MainContentComponent()\r\n" +" {\r\n" +" shutdownOpenGL();\r\n" +" }\r\n" +"\r\n" +" void initialise() override\r\n" +" {\r\n" +" }\r\n" +"\r\n" +" void shutdown() override\r\n" +" {\r\n" +" }\r\n" +"\r\n" +" void render() override\r\n" +" {\r\n" +" OpenGLHelpers::clear (Colours::black);\r\n" +"\r\n" +" }\r\n" +"\r\n" +" void paint (Graphics& g) override\r\n" +" {\r\n" +" // You can add your component specific drawing code here!\r\n" +" // This will draw over the top of the openGL background.\r\n" +" }\r\n" +"\r\n" +" void resized() override\r\n" +" {\r\n" +" // This is called when the MainContentComponent is resized.\r\n" +" // If you add any child components, this is where you should\r\n" +" // update their positions.\r\n" +" }\r\n" +"\r\n" +"\r\n" +"private:\r\n" +" //==============================================================================\r\n" +"\r\n" +" // private member variables\r\n" +"\r\n" +"\r\n" +"\r\n" +" JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent)\r\n" +"};\r\n" +"\r\n" +"\r\n" +"// (This function is called by the app startup code to create our main component)\r\n" +"Component* createMainContentComponent() { return new MainContentComponent(); }\r\n" +"\r\n" +"\r\n" +"#endif // MAINCOMPONENT_H_INCLUDED\r\n"; + +const char* jucer_OpenGLComponentTemplate_cpp = (const char*) temp_binary_data_20; + +//================== AudioPluginXCodeScript.txt ================== +static const unsigned char temp_binary_data_21[] = +"\r\n" +"# This script takes the build product and copies it to the AU, VST, VST3, RTAS and AAX folders, depending on \r\n" +"# which plugin types you've built\r\n" +"\r\n" +"original=$CONFIGURATION_BUILD_DIR/$FULL_PRODUCT_NAME\r\n" +"\r\n" +"# this looks inside the binary to detect which platforms are needed.. \r\n" +"copyAU=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'AudioUnit' | wc -l`\r\n" +"copyVST=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'VSTPlugin' | wc -l`\r\n" +"copyVST3=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'GetPluginFactory' | wc -l`\r\n" +"copyRTAS=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'CProcess' | wc -l`\r\n" +"copyAAX=`nm -g \"$CONFIGURATION_BUILD_DIR/$EXECUTABLE_PATH\" | grep -i 'ACFStartup' | wc -l`\r\n" +"\r\n" +"if [ $copyAU -gt 0 ]; then\r\n" +" echo \"Copying to AudioUnit folder...\"\r\n" +" AU=~/Library/Audio/Plug-Ins/Components/$PRODUCT_NAME.component\r\n" +" if [ -d \"$AU\" ]; then \r\n" +" rm -r \"$AU\"\r\n" +" fi\r\n" +"\r\n" +" cp -r \"$original\" \"$AU\"\r\n" +" sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$AU/Contents/PkgInfo\"\r\n" +" sed -i \"\" -e 's/TDMw/BNDL/g' \"$AU/Contents/$INFOPLIST_FILE\"\r\n" +"\r\n" +" # Fix info.plist for AUs built with Xcode 3\r\n" +" if [ -f \"$DEVELOPER_DIR/Library/Developer/CoreAudio/AudioUnits/AUPublic/AUBase/AUPlugInDispatch.cpp\" ]; then\r\n" +" echo\r\n" +" else\r\n" +" echo \"Removing AudioComponents entry from Info.plist because this is not a new-format AU\"\r\n" +" /usr/libexec/PlistBuddy -c \"Delete AudioComponents\" \"$AU/Contents/Info.plist\"\r\n" +" fi\r\n" +"fi\r\n" +"\r\n" +"if [ $copyVST -gt 0 ]; then\r\n" +" echo \"Copying to VST folder...\"\r\n" +" VST=~/Library/Audio/Plug-Ins/VST/$PRODUCT_NAME.vst\r\n" +" if [ -d \"$VST\" ]; then \r\n" +" rm -r \"$VST\"\r\n" +" fi\r\n" +"\r\n" +" cp -r \"$original\" \"$VST\"\r\n" +" sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST/Contents/PkgInfo\"\r\n" +" sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST/Contents/$INFOPLIST_FILE\"\r\n" +"fi\r\n" +"\r\n" +"if [ $copyVST3 -gt 0 ]; then\r\n" +" echo \"Copying to VST3 folder...\"\r\n" +" VST3=~/Library/Audio/Plug-Ins/VST3/$PRODUCT_NAME.vst3\r\n" +" if [ -d \"$VST3\" ]; then \r\n" +" rm -r \"$VST3\"\r\n" +" fi\r\n" +"\r\n" +" cp -r \"$original\" \"$VST3\"\r\n" +" sed -i \"\" -e 's/TDMwPTul/BNDLPTul/g' \"$VST3/Contents/PkgInfo\"\r\n" +" sed -i \"\" -e 's/TDMw/BNDL/g' \"$VST3/Contents/$INFOPLIST_FILE\"\r\n" +"fi\r\n" +"\r\n" +"if [ $copyRTAS -gt 0 ]; then\r\n" +" echo \"Copying to RTAS folder...\"\r\n" +" RTAS=/Library/Application\\ Support/Digidesign/Plug-Ins/$PRODUCT_NAME.dpm\r\n" +" if [ -d \"$RTAS\" ]; then\r\n" +" rm -r \"$RTAS\"\r\n" +" fi\r\n" +"\r\n" +" cp -r \"$original\" \"$RTAS\"\r\n" +"fi\r\n" +"\r\n" +"if [ $copyAAX -gt 0 ]; then\r\n" +" echo \"Copying to AAX folder...\"\r\n" +"\r\n" +" if [ -d \"/Applications/ProTools_3PDev/Plug-Ins\" ]; then\r\n" +" AAX1=\"/Applications/ProTools_3PDev/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\r\n" +"\r\n" +" if [ -d \"$AAX1\" ]; then\r\n" +" rm -r \"$AAX1\"\r\n" +" fi\r\n" +"\r\n" +" cp -R -H \"$original\" \"$AAX1\"\r\n" +" fi\r\n" +"\r\n" +" if [ -d \"/Library/Application Support/Avid/Audio/Plug-Ins\" ]; then\r\n" +" AAX2=\"/Library/Application Support/Avid/Audio/Plug-Ins/$PRODUCT_NAME.aaxplugin\"\r\n" +"\r\n" +" if [ -d \"$AAX2\" ]; then\r\n" +" rm -r \"$AAX2\"\r\n" +" fi\r\n" +"\r\n" +" cp -R -H \"$original\" \"$AAX2\"\r\n" +" fi\r\n" +"fi\r\n"; + +const char* AudioPluginXCodeScript_txt = (const char*) temp_binary_data_21; + +//================== background_tile.png ================== +static const unsigned char temp_binary_data_22[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,7,0,0,0,7,8,6,0,0,0,196,82,87,211,0,0,0,94,73,68,65,84,120,218,85,141,73,14,0,33,8,4,253,137,226,18,19,245,234,255,127,70,75,155,232,56,135,10,132,94,112,33,4,37,222,123,205,57,107,74,105,239,196,137, +8,72,239,29,99,12,204,57,209,90,227,237,19,45,113,161,209,12,234,172,18,49,70,88,229,134,34,103,173,245,159,60,134,82,10,238,79,166,223,106,238,91,100,229,73,191,80,92,47,179,68,223,148,158,98,226,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* background_tile_png = (const char*) temp_binary_data_22; + +//================== colourscheme_dark.xml ================== +static const unsigned char temp_binary_data_23[] = +"\r\n" +"\r\n" +"\r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +"\r\n"; + +const char* colourscheme_dark_xml = (const char*) temp_binary_data_23; + +//================== colourscheme_light.xml ================== +static const unsigned char temp_binary_data_24[] = +"\r\n" +"\r\n" +"\r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +" \r\n" +"\r\n"; + +const char* colourscheme_light_xml = (const char*) temp_binary_data_24; + +//================== juce_icon.png ================== +static const unsigned char temp_binary_data_25[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0,67,120,105,84,88,116,88,77,76,58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120, +112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,10,60,120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34, +97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53,54,55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58, +48,50,32,32,32,32,32,32,32,32,34,62,10,32,32,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97, +120,45,110,115,35,34,62,10,32,32,32,32,32,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,10,32,32,32,32,32,32,32,32,32,32,32,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112,58,47, +47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,10,32,32,32,32,32,32,32,32,32,32,32,32,120,109,108,110,115,58,100,99,61,34,104,116,116,112,58,47,47,112,117,114,108,46,111,114,103,47,100,99,47,101,108,101,109,101,110,116, +115,47,49,46,49,47,34,10,32,32,32,32,32,32,32,32,32,32,32,32,120,109,108,110,115,58,112,104,111,116,111,115,104,111,112,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,112,104,111,116,111,115,104,111,112,47,49,46,48,47,34, +10,32,32,32,32,32,32,32,32,32,32,32,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,10,32,32,32,32,32,32,32,32,32,32,32,32,120,109,108,110, +115,58,115,116,69,118,116,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,115,84,121,112,101,47,82,101,115,111,117,114,99,101,69,118,101,110,116,35,34,10,32,32,32,32,32,32,32,32,32,32,32,32,120,109, +108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,10,32,32,32,32,32,32,32,32,32,32,32,32,120,109, +108,110,115,58,116,105,102,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,116,105,102,102,47,49,46,48,47,34,10,32,32,32,32,32,32,32,32,32,32,32,32,120,109,108,110,115,58,101,120,105,102,61,34,104,116,116,112,58,47,47, +110,115,46,97,100,111,98,101,46,99,111,109,47,101,120,105,102,47,49,46,48,47,34,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,62,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49, +52,32,40,77,97,99,105,110,116,111,115,104,41,60,47,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,58,67,114,101,97,116,101,68,97,116,101,62,50,48,49,52,45,49,49,45,49,49,84,49,48,58,49,51,58,53, +56,90,60,47,120,109,112,58,67,114,101,97,116,101,68,97,116,101,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,58,77,111,100,105,102,121,68,97,116,101,62,50,48,49,52,45,49,49,45,49,51,84,49,49,58,50,51,58,51,54,90,60,47,120,109,112,58,77,111,100,105, +102,121,68,97,116,101,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,58,77,101,116,97,100,97,116,97,68,97,116,101,62,50,48,49,52,45,49,49,45,49,51,84,49,49,58,50,51,58,51,54,90,60,47,120,109,112,58,77,101,116,97,100,97,116,97,68,97,116,101,62,10,32, +32,32,32,32,32,32,32,32,60,100,99,58,102,111,114,109,97,116,62,105,109,97,103,101,47,112,110,103,60,47,100,99,58,102,111,114,109,97,116,62,10,32,32,32,32,32,32,32,32,32,60,112,104,111,116,111,115,104,111,112,58,67,111,108,111,114,77,111,100,101,62,51, +60,47,112,104,111,116,111,115,104,111,112,58,67,111,108,111,114,77,111,100,101,62,10,32,32,32,32,32,32,32,32,32,60,112,104,111,116,111,115,104,111,112,58,68,111,99,117,109,101,110,116,65,110,99,101,115,116,111,114,115,62,10,32,32,32,32,32,32,32,32,32, +32,32,32,60,114,100,102,58,66,97,103,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,114,100,102,58,108,105,62,120,109,112,46,100,105,100,58,101,98,102,56,101,56,50,55,45,99,99,101,50,45,52,99,48,53,45,97,97,98,54,45,52,102,100,55,54,50,52,52,51, +56,50,51,60,47,114,100,102,58,108,105,62,10,32,32,32,32,32,32,32,32,32,32,32,32,60,47,114,100,102,58,66,97,103,62,10,32,32,32,32,32,32,32,32,32,60,47,112,104,111,116,111,115,104,111,112,58,68,111,99,117,109,101,110,116,65,110,99,101,115,116,111,114,115, +62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,62,120,109,112,46,105,105,100,58,49,56,101,97,99,100,52,49,45,55,102,54,52,45,52,48,97,57,45,56,99,102,51,45,51,100,51,55,97,101,54,51,57,50,97,52,60,47,120,109, +112,77,77,58,73,110,115,116,97,110,99,101,73,68,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,77,77,58,68,111,99,117,109,101,110,116,73,68,62,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115,104,111,112,58,98,48,97,56,48,51,101,57, +45,97,98,98,51,45,49,49,55,55,45,98,102,54,100,45,102,56,98,101,56,51,57,100,48,101,51,102,60,47,120,109,112,77,77,58,68,111,99,117,109,101,110,116,73,68,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,77,77,58,79,114,105,103,105,110,97,108,68,111,99, +117,109,101,110,116,73,68,62,120,109,112,46,100,105,100,58,52,101,100,98,50,55,97,49,45,57,98,56,53,45,52,102,53,52,45,97,51,101,57,45,100,55,53,98,98,101,97,98,100,99,100,54,60,47,120,109,112,77,77,58,79,114,105,103,105,110,97,108,68,111,99,117,109, +101,110,116,73,68,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,77,77,58,72,105,115,116,111,114,121,62,10,32,32,32,32,32,32,32,32,32,32,32,32,60,114,100,102,58,83,101,113,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,114,100,102,58,108,105, +32,114,100,102,58,112,97,114,115,101,84,121,112,101,61,34,82,101,115,111,117,114,99,101,34,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,97,99,116,105,111,110,62,99,114,101,97,116,101,100,60,47,115,116,69,118,116, +58,97,99,116,105,111,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,105,110,115,116,97,110,99,101,73,68,62,120,109,112,46,105,105,100,58,52,101,100,98,50,55,97,49,45,57,98,56,53,45,52,102,53,52,45,97,51,101,57, +45,100,55,53,98,98,101,97,98,100,99,100,54,60,47,115,116,69,118,116,58,105,110,115,116,97,110,99,101,73,68,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,119,104,101,110,62,50,48,49,52,45,49,49,45,49,49,84,49,48, +58,49,51,58,53,56,90,60,47,115,116,69,118,116,58,119,104,101,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,115,111,102,116,119,97,114,101,65,103,101,110,116,62,65,100,111,98,101,32,80,104,111,116,111,115,104, +111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105,110,116,111,115,104,41,60,47,115,116,69,118,116,58,115,111,102,116,119,97,114,101,65,103,101,110,116,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,47,114,100,102,58,108,105,62,10,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,60,114,100,102,58,108,105,32,114,100,102,58,112,97,114,115,101,84,121,112,101,61,34,82,101,115,111,117,114,99,101,34,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,97,99,116,105,111, +110,62,115,97,118,101,100,60,47,115,116,69,118,116,58,97,99,116,105,111,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,105,110,115,116,97,110,99,101,73,68,62,120,109,112,46,105,105,100,58,52,54,55,53,52,52,56, +54,45,56,49,98,100,45,52,57,57,101,45,57,100,56,50,45,52,56,48,56,51,53,99,55,100,100,98,98,60,47,115,116,69,118,116,58,105,110,115,116,97,110,99,101,73,68,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,119,104,101, +110,62,50,48,49,52,45,49,49,45,49,51,84,49,49,58,48,55,58,53,57,90,60,47,115,116,69,118,116,58,119,104,101,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,115,111,102,116,119,97,114,101,65,103,101,110,116,62,65, +100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105,110,116,111,115,104,41,60,47,115,116,69,118,116,58,115,111,102,116,119,97,114,101,65,103,101,110,116,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,60,115,116,69,118,116,58,99,104,97,110,103,101,100,62,47,60,47,115,116,69,118,116,58,99,104,97,110,103,101,100,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,47,114,100,102,58,108,105,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60, +114,100,102,58,108,105,32,114,100,102,58,112,97,114,115,101,84,121,112,101,61,34,82,101,115,111,117,114,99,101,34,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,97,99,116,105,111,110,62,115,97,118,101,100,60,47,115, +116,69,118,116,58,97,99,116,105,111,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,105,110,115,116,97,110,99,101,73,68,62,120,109,112,46,105,105,100,58,102,48,102,100,48,57,99,49,45,53,97,49,98,45,52,55,99,97, +45,98,48,55,56,45,55,51,99,56,51,51,57,53,57,99,56,98,60,47,115,116,69,118,116,58,105,110,115,116,97,110,99,101,73,68,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,119,104,101,110,62,50,48,49,52,45,49,49,45,49,51, +84,49,49,58,48,57,58,49,56,90,60,47,115,116,69,118,116,58,119,104,101,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,115,111,102,116,119,97,114,101,65,103,101,110,116,62,65,100,111,98,101,32,80,104,111,116,111, +115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105,110,116,111,115,104,41,60,47,115,116,69,118,116,58,115,111,102,116,119,97,114,101,65,103,101,110,116,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,99,104, +97,110,103,101,100,62,47,60,47,115,116,69,118,116,58,99,104,97,110,103,101,100,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,47,114,100,102,58,108,105,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,114,100,102,58,108,105,32,114,100,102, +58,112,97,114,115,101,84,121,112,101,61,34,82,101,115,111,117,114,99,101,34,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,97,99,116,105,111,110,62,100,101,114,105,118,101,100,60,47,115,116,69,118,116,58,97,99,116, +105,111,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,112,97,114,97,109,101,116,101,114,115,62,99,111,110,118,101,114,116,101,100,32,102,114,111,109,32,105,109,97,103,101,47,112,110,103,32,116,111,32,97,112, +112,108,105,99,97,116,105,111,110,47,118,110,100,46,97,100,111,98,101,46,112,104,111,116,111,115,104,111,112,60,47,115,116,69,118,116,58,112,97,114,97,109,101,116,101,114,115,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,47,114,100,102,58,108, +105,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,114,100,102,58,108,105,32,114,100,102,58,112,97,114,115,101,84,121,112,101,61,34,82,101,115,111,117,114,99,101,34,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118, +116,58,97,99,116,105,111,110,62,115,97,118,101,100,60,47,115,116,69,118,116,58,97,99,116,105,111,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,105,110,115,116,97,110,99,101,73,68,62,120,109,112,46,105,105,100, +58,52,102,51,49,54,52,102,99,45,56,100,53,101,45,52,99,99,102,45,97,50,50,50,45,101,57,51,54,53,55,55,49,55,55,54,99,60,47,115,116,69,118,116,58,105,110,115,116,97,110,99,101,73,68,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116, +69,118,116,58,119,104,101,110,62,50,48,49,52,45,49,49,45,49,51,84,49,49,58,49,57,58,53,56,90,60,47,115,116,69,118,116,58,119,104,101,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,115,111,102,116,119,97,114,101, +65,103,101,110,116,62,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105,110,116,111,115,104,41,60,47,115,116,69,118,116,58,115,111,102,116,119,97,114,101,65,103,101,110,116,62,10,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,99,104,97,110,103,101,100,62,47,60,47,115,116,69,118,116,58,99,104,97,110,103,101,100,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,47,114,100,102,58,108,105,62,10,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,60,114,100,102,58,108,105,32,114,100,102,58,112,97,114,115,101,84,121,112,101,61,34,82,101,115,111,117,114,99,101,34,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,97,99,116,105,111,110,62,100, +101,114,105,118,101,100,60,47,115,116,69,118,116,58,97,99,116,105,111,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,112,97,114,97,109,101,116,101,114,115,62,99,111,110,118,101,114,116,101,100,32,102,114,111, +109,32,97,112,112,108,105,99,97,116,105,111,110,47,118,110,100,46,97,100,111,98,101,46,112,104,111,116,111,115,104,111,112,32,116,111,32,105,109,97,103,101,47,112,110,103,60,47,115,116,69,118,116,58,112,97,114,97,109,101,116,101,114,115,62,10,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,60,47,114,100,102,58,108,105,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,114,100,102,58,108,105,32,114,100,102,58,112,97,114,115,101,84,121,112,101,61,34,82,101,115,111,117,114,99,101,34,62,10,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,97,99,116,105,111,110,62,115,97,118,101,100,60,47,115,116,69,118,116,58,97,99,116,105,111,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,105, +110,115,116,97,110,99,101,73,68,62,120,109,112,46,105,105,100,58,49,56,101,97,99,100,52,49,45,55,102,54,52,45,52,48,97,57,45,56,99,102,51,45,51,100,51,55,97,101,54,51,57,50,97,52,60,47,115,116,69,118,116,58,105,110,115,116,97,110,99,101,73,68,62,10,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,119,104,101,110,62,50,48,49,52,45,49,49,45,49,51,84,49,49,58,50,51,58,51,54,90,60,47,115,116,69,118,116,58,119,104,101,110,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,60,115,116,69,118,116,58,115,111,102,116,119,97,114,101,65,103,101,110,116,62,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105,110,116,111,115,104,41,60,47,115,116,69,118,116,58,115,111,102,116, +119,97,114,101,65,103,101,110,116,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,69,118,116,58,99,104,97,110,103,101,100,62,47,60,47,115,116,69,118,116,58,99,104,97,110,103,101,100,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,60,47,114,100,102,58,108,105,62,10,32,32,32,32,32,32,32,32,32,32,32,32,60,47,114,100,102,58,83,101,113,62,10,32,32,32,32,32,32,32,32,32,60,47,120,109,112,77,77,58,72,105,115,116,111,114,121,62,10,32,32,32,32,32,32,32,32,32,60,120,109,112,77,77, +58,68,101,114,105,118,101,100,70,114,111,109,32,114,100,102,58,112,97,114,115,101,84,121,112,101,61,34,82,101,115,111,117,114,99,101,34,62,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,62,120,109, +112,46,105,105,100,58,52,102,51,49,54,52,102,99,45,56,100,53,101,45,52,99,99,102,45,97,50,50,50,45,101,57,51,54,53,55,55,49,55,55,54,99,60,47,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,62,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116, +82,101,102,58,100,111,99,117,109,101,110,116,73,68,62,120,109,112,46,100,105,100,58,52,102,51,49,54,52,102,99,45,56,100,53,101,45,52,99,99,102,45,97,50,50,50,45,101,57,51,54,53,55,55,49,55,55,54,99,60,47,115,116,82,101,102,58,100,111,99,117,109,101,110, +116,73,68,62,10,32,32,32,32,32,32,32,32,32,32,32,32,60,115,116,82,101,102,58,111,114,105,103,105,110,97,108,68,111,99,117,109,101,110,116,73,68,62,120,109,112,46,100,105,100,58,52,101,100,98,50,55,97,49,45,57,98,56,53,45,52,102,53,52,45,97,51,101,57, +45,100,55,53,98,98,101,97,98,100,99,100,54,60,47,115,116,82,101,102,58,111,114,105,103,105,110,97,108,68,111,99,117,109,101,110,116,73,68,62,10,32,32,32,32,32,32,32,32,32,60,47,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,62,10,32,32, +32,32,32,32,32,32,32,60,116,105,102,102,58,79,114,105,101,110,116,97,116,105,111,110,62,49,60,47,116,105,102,102,58,79,114,105,101,110,116,97,116,105,111,110,62,10,32,32,32,32,32,32,32,32,32,60,116,105,102,102,58,88,82,101,115,111,108,117,116,105,111, +110,62,55,50,48,48,48,48,47,49,48,48,48,48,60,47,116,105,102,102,58,88,82,101,115,111,108,117,116,105,111,110,62,10,32,32,32,32,32,32,32,32,32,60,116,105,102,102,58,89,82,101,115,111,108,117,116,105,111,110,62,55,50,48,48,48,48,47,49,48,48,48,48,60,47, +116,105,102,102,58,89,82,101,115,111,108,117,116,105,111,110,62,10,32,32,32,32,32,32,32,32,32,60,116,105,102,102,58,82,101,115,111,108,117,116,105,111,110,85,110,105,116,62,50,60,47,116,105,102,102,58,82,101,115,111,108,117,116,105,111,110,85,110,105, +116,62,10,32,32,32,32,32,32,32,32,32,60,101,120,105,102,58,67,111,108,111,114,83,112,97,99,101,62,54,53,53,51,53,60,47,101,120,105,102,58,67,111,108,111,114,83,112,97,99,101,62,10,32,32,32,32,32,32,32,32,32,60,101,120,105,102,58,80,105,120,101,108,88, +68,105,109,101,110,115,105,111,110,62,49,50,56,60,47,101,120,105,102,58,80,105,120,101,108,88,68,105,109,101,110,115,105,111,110,62,10,32,32,32,32,32,32,32,32,32,60,101,120,105,102,58,80,105,120,101,108,89,68,105,109,101,110,115,105,111,110,62,49,50, +56,60,47,101,120,105,102,58,80,105,120,101,108,89,68,105,109,101,110,115,105,111,110,62,10,32,32,32,32,32,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,10,32,32,32,60,47,114,100,102,58,82,68,70,62,10,60,47,120,58,120,109,112,109, +101,116,97,62,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, +32,32,32,32,32,32,32,32,32,32,32,32,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,60,63,120,112,97,99,107,101,116,32,101,110,100,61,34,119,34,63,62,129,236,100,88,0,0,0,32,99,72,82,77,0,0,122,37,0,0,128,131, +0,0,249,255,0,0,128,233,0,0,117,48,0,0,234,96,0,0,58,152,0,0,23,111,146,95,197,70,0,1,0,149,73,68,65,84,120,1,0,255,255,0,0,1,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0, +254,0,0,0,254,0,0,0,254,0,0,0,254,0,0,0,253,0,0,0,254,0,0,0,254,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,4,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,254,0,0,0,253,0,0,0,253,0,0,0,252,0,0,0,252,0,0,0,251,0,0,0,251,0,0,0,250,0,0,0,250,0,0,0,251,0,0,0,252,0,0,0,252,0,0,0,253,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,11,0,0,0,9,0,0,0,8,0,0, +0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,0,0,0,248,0,0,0,247,0,0,0,245,0,0,0,247,0,0,0,248,0,0,0,248,0,0,0,249,0,0,0,248,0,0,0,250,0,0,0,252,0,0,0,253,0,0,0, +255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,9,0,0,0,11,0,0,0,12,0,0,0, +13,0,0,0,13,0,0,0,12,0,0,0,4,0,0,0,0,0,0,0,21,0,0,0,23,0,0,0,22,0,0,0,20,0,0,0,18,0,0,0,16,0,0,0,13,255,255,255,12,255,0,0,9,0,0,1,7,0,0,0,4,0,0,0,0,0,0,0,252,0,0,255,249,1,0,0,247,0,0,0,244,1,1,1,243,0,0,0,240,0,0,0,238,0,0,0,236,0,0,0,234,0,0,0,233, +0,0,0,235,0,0,0,0,0,0,0,252,0,0,0,244,0,0,0,243,0,0,0,243,0,0,0,244,0,0,0,245,0,0,0,247,0,0,0,249,0,0,0,252,0,0,0,253,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,28,28,28,2,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,17,0,0,0,7,0,0,0,8,0,0,0,34,0,0,0,32,0,0,0,31,0,0,0,29,254,254,255,27,252,255,0,5,252,253,0,0,253,255,1,0,0,0,1,0,254,255,0,0,5,5,2,0,6,4,4,0,3,1,255,0,3,1,255,0, +255,0,0,0,0,0,0,0,0,0,0,5,255,255,1,5,253,255,1,12,251,254,255,21,251,249,251,0,254,255,0,0,2,1,0,0,2,0,254,0,4,3,0,0,4,2,0,251,2,2,1,229,1,0,0,227,0,0,0,225,0,0,0,224,0,0,0,222,0,0,0,248,0,0,0,249,0,0,0,239,0,0,0,240,0,0,0,242,0,0,0,244,0,0,0,247,28, +28,28,249,0,0,0,251,228,228,228,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,2,0,0,0,5,0,0,0,8,0,0,0,13,0,0,0,16,0,0,0,18,0,0,0,18,0,0,0,8,0,0,0,23,0,0,0,40,0,0,0,39,0,0,0,37,253,254, +255,27,249,252,0,0,251,254,1,0,3,2,2,0,13,11,5,0,26,11,255,0,30,19,5,0,32,14,248,0,31,21,11,0,24,6,242,0,23,11,251,0,18,15,4,0,10,4,255,0,8,2,251,0,255,0,0,0,0,0,0,0,1,0,0,0,251,255,2,0,246,252,5,0,243,247,252,0,234,241,251,0,232,252,16,0,226,236,250, +0,226,241,2,0,223,238,0,0,231,242,255,5,239,245,252,32,250,251,254,32,4,1,254,61,5,4,0,0,5,2,1,229,1,1,0,219,0,0,0,217,0,0,0,216,0,0,0,233,0,0,0,248,0,0,0,238,0,0,0,238,0,0,0,240,0,0,0,243,28,28,28,248,0,0,0,251,0,0,0,254,228,228,228,255,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,2,0,0,0,5,0,0,0,9,0,0,0,15,0,0,0,18,0,0,0,21,0,0,0,18,0,0,0,17,0,0,0,45,0,0,0,43,0,0,0,43,250,253,255,18,249,251,1,0,1,2,2,0,19,13,4,0,53,25,4,0,51,27,253,0,55,27,254,0,43,21,248,0,29,13,249, +0,0,9,253,0,0,2,251,0,0,0,235,0,0,1,0,0,0,255,255,0,0,254,238,0,0,0,1,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,0,0,1,1,0,0,1,1,0,0,1,243,0,0,255,255,0,0,255,7,0,0,249,1,0,238,246,8,0,218,237,3,0,204,231,6,0,203,228,3,0,209,230,254,0,228,239, +251,27,249,249,253,27,7,4,255,64,7,3,0,238,1,1,1,213,0,0,0,213,0,0,0,211,0,0,0,239,0,0,0,238,0,0,0,235,0,0,0,238,0,0,0,241,0,0,0,247,28,28,28,251,0,0,0,254,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,1,0,0,0,6,0,0,0,9,0,0,0,15, +0,0,0,19,0,0,0,24,0,0,0,14,0,0,0,39,0,0,0,49,0,0,0,48,253,254,255,30,247,250,0,0,1,4,4,0,31,19,5,0,60,32,1,0,72,38,253,0,57,27,246,0,19,16,249,0,0,4,251,0,0,255,253,0,0,253,0,0,0,253,1,0,0,255,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,1,0,0,0,1,255,0,0,4,0,0,0,2,1,0,0,254,5,0,253,246,7,0,205,231,8,0,188,222,6,0,188,221,1,0,214,230,253,0,245,248,250,0,8,4,255,0,7,4,1,226,0,0,0,208,0,0,0,207,0,0,0, +217,0,0,0,242,0,0,0,232,0,0,0,237,0,0,0,241,0,0,0,247,0,0,0,250,0,0,0,255,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,2,0,0,0,4,0,0,0,9,0,0,0,15,0,0,0,20,0,0,0,25,0,0,0,14,0,0,0,50,0,0,0,53,0,0,0,51,249,252,255,12,248,252,2,0,23,16,6,0,64,36,2,0,87, +44,252,0,67,32,245,0,2,11,247,0,0,0,252,0,0,253,0,0,0,253,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,1,0,0,0,1,0,0,0,0,255,0,0,2,255,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,255,255,0,0,254,0,0,0,0,2,0,0,255,0,0,0,255,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,2,255,0,0,4,0,0,0,2,2,0,0,249,8,0,214,233,10,0,174,215,7,0,178,213,0,0,218,232,251,0,1,255,252,0,10,6,0,244,1,1,1,205,0,0,0,203,0,0,0,206,0,0,0,242,0,0,0,231,0,0,0,236,0,0,0,241,0,0,0,247,0,0,0,252,228, +228,228,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228, +0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,28,28,28,1,0,0,0,3,0,0,0,8,0,0,0,15,0,0,0,19,0,0,0,26,0,0,0,17,0,0,0,50,0,0,0,57,0,0,0,55,247,250,255,4,252,0,4,0,44,28,7,0,91,48,254,0,88,43,245,0,18,18,246,0,0,0,250,0,0,251,0,0,0,254,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,0,0,3,255,0, +0,2,0,0,0,2,2,0,0,255,0,0,0,255,6,0,0,250,1,0,254,249,255,0,242,254,11,0,246,252,2,0,247,250,255,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,0,0,11,6,1,0,12,2,246,0,7,6,253,0,0,7,2,0,0,2,249,0,0,1,255,0,0,255,254,0,0,253,0,0,0,253,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,1,255,0,0,4,255,0,0,3,2,0,0,246,10,0,184,220,12,0,158,206,5,0,192,220,251,0,249,248,250,0,11,6,0,252,2,2,1,201,0,0,0,199,0,0,0,206,0,0,0,239,0,0,0,230,0,0,0,237,0,0,0,241,0,0,0,248,0,0,0,253,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,2,0,0,0,5,0,0,0,12,0,0,0,19,0,0,0,27,0,0,0,24,0, +0,0,40,0,0,0,60,0,0,0,59,247,250,255,7,252,0,4,0,55,33,6,0,107,57,254,0,79,39,242,0,0,9,245,0,0,252,255,0,0,252,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,255,0,0,2,255,0,0,4,0,0,0,2,2,0,0,250,6,0,240,243,7,0,218,239,6,0,214,235,5,0,218,236,1,0,223,237,0,0,233, +246,3,0,236,241,246,0,248,254,7,0,249,253,0,0,250,252,255,0,0,0,1,0,255,0,0,0,0,255,0,0,4,2,0,0,7,5,0,0,8,1,251,0,17,13,5,0,21,12,3,0,28,12,250,0,38,23,5,0,40,19,248,0,42,20,253,0,27,15,249,0,0,8,249,0,0,0,253,0,0,253,255,0,0,253,1,0,0,255,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,1,254,0,0,6,0,0,0,255,8,0,211,227,12,0,149,200,8,0,179,213,254,0,244,246,249,0,12,7,255,249,1,1,1,197,0,0,0,196,0,0,0,216,0,0,0,232,0,0,0,229,0,0,0,237,0,0,0,244,0,0,0,251,228,228,228,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,3,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,30,0,0,0,29,0,0,0,62,0,0,0,63,249,252,255, +20,248,253,3,0,51,31,7,0,118,61,252,0,74,41,242,0,0,6,246,0,0,249,0,0,0,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,254,0,0,5,1,0,0,0,5,0,246,241,9,0,201,229,7,0,191,223,4,0,202,228,1,0,221,236,255,0,239,246,254,0,249,250,252,0,0,0,255,0,254,254,254,0,254,255, +0,0,0,1,3,0,2,1,255,0,10,8,6,0,10,6,0,0,5,0,250,0,2,0,254,0,254,0,3,0,250,254,5,0,246,252,0,0,246,248,251,0,253,254,255,0,0,255,254,0,3,2,1,0,2,2,1,0,5,4,3,0,13,9,3,0,30,17,2,0,47,25,1,0,61,31,253,0,62,30,249,0,26,18,247,0,0,6,248,0,0,253,255,0,0,251, +1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,255,0,0,6,255,0,0,1,6,0,220,230,14,0,139,197,10,0,173,208,250,0,253,251,250,0,11,7,1,236,0,0,0,193,0,0,0,194,0,0,0,227,0,0,0,226,0,0,0,233,0,0,0,240,0,0,0,248,0,0,0,253,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,5,0,0,0,11,0,0,0,20,0,0,0,28,0,0,0,24,0,0,0,57,0,0,0,65,254,255,255,44,243,249,1,0,33,23,10, +0,117,62,255,0,93,48,238,0,0,7,246,0,0,249,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,1,255,0,0,5,255,0,0,2,4,0,247,240,11,0,183,221,10,0,178,216,3,0,202,225,254,0,231,242,252,0,252,252,253,0,6,2,255,0,5,3,0,0,251,253,0,0,250,254,1,0,8,6,5,0,27,17,3,0,46,25,1,0, +47,26,0,0,39,18,248,0,32,17,0,0,20,11,1,0,12,0,244,0,5,0,249,0,251,1,8,0,243,254,11,0,237,246,255,0,223,239,1,0,216,236,6,0,207,229,0,0,211,231,255,0,230,241,252,0,250,251,253,0,6,2,254,0,1,2,1,0,251,253,1,0,0,0,2,0,15,12,5,0,44,24,2,0,71,38,255,0,81, +39,248,0,30,23,245,0,0,2,248,0,0,251,0,0,0,254,2,0,0,0,0,0,0,0,0,0,0,0,255,0,0,5,255,0,0,2,7,0,205,222,14,0,129,191,8,0,193,217,248,0,7,4,253,0,6,3,1,212,0,0,0,191,0,0,0,199,0,0,0,232,0,0,0,228,0,0,0,236,0,0,0,245,0,0,0,251,228,228,228,255,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,2,0,0,0,5,0,0,0,14,0,0,0,25,0,0,0,32,0,0,0,32,0,0,0,69,0,0,0,68,247,250,255,8,2,5,7,0,98,55, +4,0,129,63,243,0,8,15,241,0,0,249,255,0,0,255,2,0,0,0,0,0,0,0,0,0,0,1,255,0,0,6,255,0,0,253,8,0,207,226,13,0,163,209,8,0,184,215,254,0,229,240,250,0,1,255,253,0,8,5,0,0,4,2,1,0,254,254,255,0,246,251,0,0,3,4,6,0,43,26,4,0,73,39,0,0,70,35,249,0,49,23,247, +0,2,10,251,0,0,2,250,0,0,255,0,0,0,254,255,0,0,255,0,0,0,0,1,0,0,0,1,0,0,0,255,0,0,0,255,0,0,1,0,0,0,2,1,0,0,1,1,0,0,253,5,0,250,246,6,0,206,231,8,0,182,218,6,0,185,219,2,0,218,233,249,0,0,253,252,0,9,6,0,0,0,0,0,0,249,251,0,0,250,254,2,0,15,10,5,0,55, +33,5,0,91,46,252,0,82,40,243,0,0,11,245,0,0,252,254,0,0,252,2,0,0,0,0,0,0,0,0,0,0,0,255,0,0,6,255,0,0,254,9,0,167,206,17,0,132,189,1,0,226,237,248,0,14,7,255,248,1,1,1,188,0,0,0,187,0,0,0,224,0,0,0,224,0,0,0,231,0,0,0,242,0,0,0,251,228,228,228,254,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,3,0,0,0,9,0,0,0,16,0,0,0,25,0,0,0,34,0,0,0,50,0,0,0,70,255,255,255,48,242,249,2,0,47,30,8,0,142,74, +250,0,54,36,238,0,0,252,252,0,0,252,2,0,0,0,0,0,0,0,0,0,0,1,255,0,0,7,255,0,0,248,10,0,179,217,14,0,154,202,4,0,200,224,252,0,250,249,251,0,9,5,255,0,4,3,1,0,0,0,0,0,254,254,255,0,243,250,1,0,17,13,7,0,75,41,4,0,95,49,248,0,56,29,244,0,0,8,248,0,0,254, +254,0,0,252,0,0,0,254,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,2,255,0,0,4,0,0,0,2,3,0,0,246,10,0,186,222,12,0,159,206,5,0,189,217,250,0,250,250,250,0,11,6,0,0,1,1,1,0,254,255,255,0,247,250, +0,0,254,1,3,0,36,22,6,0,92,51,0,0,99,48,246,0,14,17,242,0,0,250,253,0,0,254,2,0,0,0,0,0,0,0,0,0,0,1,255,0,0,7,0,0,241,238,16,0,114,186,13,0,173,206,248,0,6,3,252,0,6,3,1,208,0,0,0,186,0,0,0,206,0,0,0,222,0,0,0,231,0,0,0,240,0,0,0,247,228,228,228,253, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,3,0,0,0,11,0,0,0,20,0,0,0,29,0,0,0,25,0,0,0,70,0,0,0,72,250,253,255,24,251,255,4,0,101,58,8,0,138,68,239,0,0,9,243, +0,0,249,1,0,0,0,1,0,0,0,0,0,0,0,255,0,0,7,255,0,0,251,10,0,176,214,15,0,145,197,4,0,206,225,248,0,3,0,253,0,9,5,0,0,1,1,1,0,0,0,0,0,0,0,0,0,245,249,255,0,10,9,7,0,90,51,4,0,111,55,246,0,28,23,243,0,0,255,250,0,0,251,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,1,255,0,0,1,255,0,0,2,255,0,0,2,2,0,0,1,0,0,0,255,255,0,0,254,255,0,0,254,1,0,0,255,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,254,0,0,6,0,0,0,255,7,0,209,225,14,0,137,197,9,0,184,213,250,0,2,255,250,0,8,4,1,0,0,0,0,0,0,0,0,0,249, +252,255,0,247,252,2,0,27,18,8,0,96,53,1,0,110,53,243,0,11,16,241,0,0,249,255,0,0,255,2,0,0,0,0,0,0,0,0,0,0,4,254,0,0,3,7,0,171,206,20,0,121,183,1,0,237,241,246,0,11,7,1,232,0,0,0,184,0,0,0,186,0,0,0,231,0,0,0,227,0,0,0,236,0,0,0,245,0,0,0,253,228,228, +228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,4,0,0,0,11,0,0,0,24,0,0,0,34,0,0,0,27,0,0,0,75,0,0,0,76,246,249,255,3,17,14,8,0,143,77,255,0,78,48,235,0,0,250,252,0,0,254,2,0,0, +0,0,0,0,0,0,0,0,4,254,0,0,3,7,0,195,218,17,0,132,191,5,0,200,222,248,0,4,0,253,0,9,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,253,254,255,0,244,251,3,0,69,41,9,0,136,70,246,0,38,28,240,0,0,253,252,0,0,251,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,255,0,0,3,255,0,0,3,1,0,0, +0,3,0,0,249,6,0,241,245,3,0,234,249,11,0,235,240,245,0,249,248,249,0,10,9,9,0,19,15,9,0,21,7,245,0,15,12,253,0,0,6,250,0,0,0,253,0,0,253,255,0,0,252,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,255,0,0,6,255,0,0,0,8,0,187,214,17,0,121,185,3,0,217,231,247,0,14,7,255, +0,1,1,1,0,0,0,0,0,0,0,0,0,252,253,255,0,244,251,2,0,30,19,7,0,111,61,1,0,103,52,240,0,0,7,244,0,0,249,1,0,0,0,1,0,0,0,0,0,0,1,255,0,0,7,0,0,229,234,19,0,98,175,10,0,197,219,245,0,15,7,255,253,1,1,1,180,0,0,0,181,0,0,0,229,0,0,0,222,0,0,0,232,0,0,0,245, +0,0,0,252,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,4,0,0,0,12,0,0,0,25,0,0,0,36,0,0,0,35,0,0,0,78,0,0,0,64,241,248,0,0,49,32,11,0,162,83,246,0,32,25,237,0,0,248,0,0,0,0,1,0,0,0,0, +0,0,1,255,0,0,7,0,0,237,237,17,0,120,188,11,0,173,208,251,0,0,253,250,0,10,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,248,252,255,0,4,5,7,0,127,70,3,0,104,57,238,0,0,2,245,0,0,250,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,2,254,0,0,6,1,0,0,252,7,0,228,236,10,0,195,226, +8,0,196,225,2,0,213,233,0,0,230,240,252,0,245,251,3,0,247,250,251,0,253,252,253,0,4,4,3,0,9,6,5,0,9,4,253,0,29,18,4,0,41,21,254,0,64,34,0,0,62,30,247,0,23,19,246,0,0,2,249,0,0,251,0,0,0,254,2,0,0,0,0,0,0,0,0,0,0,0,255,0,0,8,255,0,254,244,13,0,109,183, +15,0,164,202,249,0,11,5,253,0,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,250,253,255,0,246,251,2,0,51,32,9,0,133,69,249,0,60,38,240,0,0,251,250,0,0,254,2,0,0,0,0,0,0,0,0,0,0,5,253,0,0,251,14,0,113,183,17,0,158,198,248,0,11,5,252,0,2,2,1,192,0,0,0,178,0,0,0,221, +0,0,0,220,0,0,0,231,0,0,0,244,0,0,0,252,228,228,228,255,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,28,28,28,1,0,0,0,4,0,0,0,12,0,0,0,26,0,0,0,37,0,0,0,41,0,0,0,79,255,255,0,55,241,249,1,0,78,48,11,0,164,81,240,0,2,9,241,0,0,250,2, +0,0,0,0,0,0,0,0,0,0,4,254,0,0,2,8,0,165,204,19,0,129,187,0,0,231,239,247,0,14,7,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,252,255,0,17,12,8,0,159,86,254,0,60,39,234,0,0,248,254,0,0,255,2,0,0,0,0,0,0,0,0,0,0,4,254,0,0,4,3,0,245,239,12,0,171,216, +11,0,174,213,2,0,207,227,253,0,240,246,252,0,3,0,254,0,4,3,255,0,5,2,0,0,1,1,0,0,2,1,1,0,0,0,0,0,255,0,0,0,255,255,255,0,255,255,1,0,251,254,255,0,251,253,1,0,0,0,2,0,18,13,5,0,53,29,2,0,88,46,253,0,82,40,244,0,0,11,245,0,0,250,254,0,0,254,2,0,0,0,0, +0,0,0,0,0,0,4,254,0,0,3,6,0,150,195,22,0,125,183,250,0,6,1,252,0,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,250,255,0,0,4,6,0,98,55,7,0,137,68,240,0,2,10,241,0,0,249,1,0,0,0,1,0,0,0,0,0,0,2,254,0,0,5,8,0,151,196,21,0,124,182,251,0,3,0,250,0,6,3,1,201, +0,0,0,177,0,0,0,215,0,0,0,219,0,0,0,230,0,0,0,244,0,0,0,252,228,228,228,255,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28, +28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,28,28,28,1,0,0,0,4,0,0,0,12,0,0,0,26,0,0,0,37,0,0,0,45,0,0,0,82,255,255,255,48,241,249,3,0,102,60,9,0,142,76,236,0,0,0,246,0,0, +252,2,0,0,0,0,0,0,0,0,0,0,7,254,0,246,242,17,0,107,181,13,0,172,207,248,0,9,4,252,0,6,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253,255,0,9,9,9,0,177,95,251,0,46,31,234,0,0,248,1,0,0,0,1,0,0,0,0,0,0,2,254,0,0,6,2,0,233,235,16,0,146,200,10,0,172, +210,254,0,230,239,250,0,5,2,254,0,8,5,0,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,254,255,0,248,251,0,0,254,0,3,0,36,23,7,0,96,52,254,0,107,52,243,0,2,11,244,0,0,249,0,0,0,0,1,0,0,0, +0,0,0,1,255,0,0,8,2,0,167,202,24,0,108,174,251,0,7,2,252,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,0,242,249,1,0,42,27,10,0,147,77,249,0,55,36,236,0,0,249,255,0,0,255,1,0,0,0,0,0,0,1,255,0,0,7,2,0,176,209,24,0,106,172,255,0,251,251,248,0, +7,4,1,208,0,0,0,174,0,0,0,211,0,0,0,219,0,0,0,230,0,0,0,244,0,0,0,252,228,228,228,255,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,11,0,0,0,25,0,0,0,37,0,0,0,45,0,0,0,84,254,255,255,48,244,250,3,0,119,69,9,0,142,78,234,0,0,254,246,0,0,252,2,0,0,0,0,0,0,1,255, +0,0,8,0,0,202,222,26,0,60,156,12,0,172,206,244,0,15,7,253,0,6,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,249,255,4,0,142,78,1,0,46,32,235,0,0,248,2,0,0,0,1,0,0,0,0,0,0,6,254,0,0,253,11,0,140,188,26,0,56,151,8,0,145,193,247,0,241,245,248, +0,15,8,255,0,10,6,1,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,1,0,11,7,1,0,13,7,254,0,226,236,246,0,121,179,250,0,53,152,15,0,176,207,25,0,0,6,6,0,0,4,254,0,0,0,0,0,0,255,1,0, +0,247,254,0,89,54,233,0,116,66,7,0,245,250,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,0,16,8,0,0,221,231,245,0,77,159,3,0,145,192,26,0,0,5,7,0,0,4,254,0,0,0,0,0,0,255,1,0,0,248,254,0,80,48,231,0,169,92,255,0,12,10,9,0,248,252,255,48,0,0,0,84,0, +0,0,45,0,0,0,37,0,0,0,25,0,0,0,11,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,12,0,0,0,26,0,0,0,37,0,0,0,43,0,0,0,86,255,255,255,48,242,250,3,0,120,69,8,0,123,69,234,0,0,251,249,0,0,254,2,0,0,0,0,0,0,1,254,0,0,6,6,0,160,202,22,0,118,180,253,0,253,249, +249,0,9,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,0,0,0,0,0,0,0,0,1,1,1,0,245,249,255,0,77,48,10,0,162,90,235,0,0,249,250,0,0,0,1,0,0,0,0,0,0,7,255,0,224,231,18,0,96,175,10,0,203,222,247,0,13,6,254,0,4,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,252,255,0,251,254,4,0,88,51,7,0,153,76,242,0,0,8,241,0,0,251,2,0,0,0,0,0,0,1,254,0,0,1,11,0,70,157,18,0,205,223, +245,0,9,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,254,255,0,243,250,2,0,89,54,11,0,155,77,238,0,0,6,242,0,0,251,3,0,0,0,0,0,0,0,255,0,0,8,0,0,202,220,23,0,85,166,3,0,246,246,247,0,7,4,1,208,0,0,0,170,0,0,0,213,0,0,0,219,0,0,0,230,0,0, +0,244,0,0,0,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,2,0,0,0,9,0,0,0,20,0,0,0,33,0,0,0,35,0,0,0,79,255,255,255,48,242,250,2,0,118,68,9,0,123,69,234,0,0,250,249,0,0,254,2,0,0,0,0,0,0,2,254,0,0,4,8,0,126,183,23,0,111,173,250,0,3,253,249,0,9,6,1,0,0,0,0,0,250,253,255,0,243,249,0,0,241, +249,1,0,249,255,6,0,253,2,8,0,249,255,6,0,240,248,0,0,250,255,4,0,107,54,250,0,0,255,248,0,0,0,1,0,0,0,0,0,0,6,254,0,213,227,20,0,68,158,8,0,209,224,245,0,17,9,255,0,4,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,4,1,0,12,5,253,0,164,202,246,0,68,162,15,0,245,243,17,0,0,4,254,0,0,0,0,0,0,255,2,0,0,6,245,0,114,59,252,0,250,255,3,0,248,250,255,0,246,250, +255,0,247,250,255,0,250,253,255,0,255,255,255,0,0,0,0,0,0,0,0,0,3,2,1,0,16,8,255,0,167,201,244,0,70,161,17,0,241,241,18,0,0,6,254,0,0,0,0,0,0,0,1,0,0,248,0,0,54,36,233,0,170,89,253,0,8,9,8,0,250,253,255,48,0,0,0,79,0,0,0,35,0,0,0,33,0,0,0,20,0,0,0,9, +0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,1,0,0,0,6,0,0,0,21,0,0,0,36,0,0,0,37,0,0,0,90,0,0,0,64,240,248,1,0,102,59,9,0,142,80,235,0,0,250,248,0,0,255,2,0,0,0,0,0,0,4,254,0,0,253,11,0,105,177,19,0,163,202,246,0,15,7,254,0,1,1,1,0,246,250,255,0,254,2,4,0,35,20,5,0,62,34,1,0,54,28,252,0, +36,17,250,0,7,6,4,0,249,250,252,0,205,231,7,0,192,226,8,0,163,77,233,0,5,8,247,0,0,255,1,0,0,2,254,0,248,246,12,0,59,157,16,0,223,232,246,0,11,7,1,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,247,255,0,67,43,13,0,177,91,235,0,0,0,247,0,0,255,1,0,0,2,254,0,250,249,15,0,58,157,19,0,9,0,247,0,19,15,8,0,248,249,250,0, +232,242,254,0,232,242,255,0,245,248,252,0,8,4,254,0,7,4,1,0,0,0,0,0,0,0,0,0,244,249,0,0,36,25,10,0,175,89,246,0,29,24,237,0,0,249,2,0,0,0,0,0,0,0,0,0,0,8,255,0,188,213,25,0,90,167,255,0,3,254,249,0,3,2,1,192,0,0,0,166,0,0,0,219,0,0,0,220,0,0,0,235,0, +0,0,250,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1, +0,0,0,5,0,0,0,15,0,0,0,32,0,0,0,36,0,0,0,87,0,0,0,79,241,248,0,0,79,49,11,0,164,87,236,0,0,254,246,0,0,254,2,0,0,0,0,0,0,4,254,0,0,253,11,0,92,172,19,0,176,207,246,0,16,8,254,0,247,250,0,0,254,3,6,0,62,36,4,0,105,54,252,0,72,34,244,0,0,11,248,0,0,0,253, +0,0,254,255,0,0,255,255,0,0,1,1,0,0,2,1,0,0,250,9,0,0,254,249,0,0,0,255,0,0,0,0,0,0,7,255,0,157,200,27,0,109,171,248,0,18,10,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,248,2,0,157,86,3,0,88,53,233,0,0,249,1,0,0,0,0,0,0,0,2,0,241,247,13,0,15,8,247,0,0,5,0,0,0,253,254,0,254,251,7,0,215,237,6,0,185, +221,8,0,173,210,0,0,212,230,250,0,5,2,253,0,8,4,1,0,1,0,0,0,245,250,255,0,21,16,8,0,178,94,251,0,39,27,235,0,0,249,2,0,0,0,0,0,0,0,255,0,0,9,1,0,163,201,26,0,109,174,252,0,10,3,250,0,2,1,1,177,0,0,0,169,0,0,0,220,0,0,0,224,0,0,0,241,0,0,0,251,0,0,0,255, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,11,0,0,0,25,0,0,0,34,0,0,0,70, +0,0,0,76,245,249,255,0,50,32,10,0,164,80,239,0,0,0,246,0,0,254,2,0,0,0,0,0,0,2,254,0,0,253,11,0,94,172,19,0,176,207,246,0,13,6,254,0,241,248,2,0,51,32,9,0,125,66,251,0,67,39,236,0,0,2,248,0,0,251,0,0,0,248,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,247,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,14,5,252,0,3,2,1,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,232,242,253,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,254,0,15,11,239,0,0,255,1,0,0,253,0,0,0,0,0,0,2,6,250,0,43,28,0,0,43,31,2,0,114,57,9,0,176,217,14,0,142,196,8,0,207,225,247,0,11,5,254,0,11, +7,1,0,235,240,248,0,78,162,8,0,180,94,21,0,37,27,235,0,0,249,2,0,0,0,1,0,0,248,255,0,93,54,232,0,224,239,26,0,137,187,253,0,16,8,254,76,0,0,0,239,0,0,0,254,0,0,0,249,0,0,0,252,0,0,0,243,0,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,8,0,0,0,20,0,0,0,32,0,0,0,50,0,0,0,72,250,253,255,3,19,15,8,0,166,86,247,0,0,9,243,0,0,252,2,0,0, +0,0,0,0,2,254,0,0,3,9,0,101,176,20,0,174,207,245,0,7,2,253,0,1,4,8,0,129,75,9,0,192,100,238,0,67,41,232,0,0,252,249,0,0,249,2,0,0,254,2,0,0,0,0,0,0,0,255,0,0,2,255,0,0,4,254,0,0,1,255,0,0,0,0,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,255,0,68,33,248, +0,23,15,4,0,253,254,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,255,255,0,0,11,7,4,0,69,37,255,0,0,253,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,2,0,0,255,1,0,0,255,1,0,0,255,1,0,0,254,2,0,0,251,2,0,0,248,0,0,0,2,245,0,80,48,231,0,194,100,238,0,137,77,8,0,7,7,8,0,243,248,255,0,11,6,1,0,235,239,248,0,82,166,7,0, +233,236,19,0,0,6,254,0,0,0,0,0,0,255,1,0,0,250,252,0,125,68,236,0,79,48,10,0,243,248,0,3,0,0,0,72,0,0,0,50,0,0,0,32,0,0,0,20,0,0,0,8,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,16,0,0,0,28,0,0,0,32,0,0,0,70,254,255,255,24,253,1,6,0,148,80,0,0,27,22,237,0,0,250,2,0,0,0,0,0,0,1,255,0,0,5,7,0,123,185,22,0,167,203,245,0,1,0,255,0,37, +26,12,0,184,99,252,0,114,66,230,0,0,2,245,0,0,249,2,0,0,255,1,0,0,0,0,0,0,1,254,0,0,7,254,0,0,6,6,0,249,246,11,0,232,239,19,0,0,254,8,0,0,4,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,1,0,17,18,246,0,64,36,3,0,246,251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,251,255,0,50,29,4,0,43,25,244,0,0,252,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,254,0,0,8,0,0,0,8,255,0,0,5,254,0,0,1,255,0,0,0,0,0,0,255,2,0,0,248,2,0,0,1,245,0,106,63,230,0,195,101,249,0,62,39,11,0,239,248,1,0,9,6,0,0,228,235,246,0,83,168,11,0,248,245,16,0,0,4,253,0,0,0,0,0,0,254,2,0,0,255,246, +0,158,79,242,0,37,26,11,0,247,252,255,24,0,0,0,70,0,0,0,32,0,0,0,28,0,0,0,16,0,0,0,5,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,12,0,0,0,23,0,0,0,24,0,0,0,69,0,0,0,48,242,249,1,0,105,60,6,0,72,44,236,0,0,248,1,0,0,0,0,0,0,0,0,0,0,7,1,0,156,198,21,0,145,191,246,0,0,255,255,0,78,48,12,0,195,100,243,0,46,30,234,0,0,247,254,0,0,254,2,0,0,0,0,0,0, +1,255,0,0,8,255,0,0,253,11,0,176,207,25,0,90,164,21,0,51,151,13,0,53,148,6,0,71,161,20,0,242,243,16,0,0,5,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,255,250,0,95,50,252,0,2,3,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,3,0,97,51,254,0,0,5,248,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,255,0,222,233,18,0,144, +190,24,0,161,199,21,0,219,231,20,0,0,3,8,0,0,7,254,0,0,1,255,0,0,0,0,0,0,255,2,0,0,247,0,0,30,24,237,0,178,94,238,0,117,67,8,0,246,253,4,0,8,4,0,0,211,225,245,0,89,171,14,0,0,254,11,0,0,2,254,0,0,0,0,0,0,252,2,0,7,12,239,0,149,78,250,0,2,3,6,0,254,254, +255,48,0,0,0,69,0,0,0,24,0,0,0,23,0,0,0,12,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,10,0,0, +0,26,0,0,0,43,0,0,0,65,0,0,0,101,247,250,255,8,44,30,11,0,193,99,239,0,0,3,244,0,0,254,2,0,0,0,0,0,0,7,254,0,197,219,22,0,79,160,0,0,245,248,254,0,108,64,10,0,139,74,236,0,0,0,246,0,0,252,2,0,0,0,0,0,0,0,0,0,0,5,254,0,0,253,9,0,169,210,17,0,143,195,1, +0,215,230,250,0,1,0,253,0,8,4,0,0,2,1,0,0,242,248,0,0,65,41,11,0,179,93,238,0,0,2,245,0,0,254,2,0,0,0,0,0,0,0,0,0,0,1,255,0,0,1,9,0,68,156,19,0,207,224,245,0,9,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,252,254,0,32,22,12,0,203,104,240,0,0,3,243,0,0,255,2,0,0,0,0,0,0,0,0,0,0,7,254,0,213,227,22,0,78,162,7,0,230,238,246,0,4,2, +1,0,12,9,5,0,53,31,4,0,106,54,251,0,72,40,241,0,0,4,247,0,0,250,1,0,0,0,1,0,0,0,0,0,0,2,254,0,0,6,4,0,167,203,23,0,114,178,254,0,253,251,248,0,246,252,2,0,110,64,11,0,134,75,232,0,0,249,251,0,0,0,1,0,0,0,0,0,0,8,0,0,134,186,27,0,134,186,247,0,16,8,255, +248,0,0,0,155,0,0,0,191,0,0,0,213,0,0,0,230,0,0,0,246,0,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,15,0,0,0,27, +0,0,0,29,0,0,0,65,254,254,255,8,5,6,7,0,146,75,249,0,0,8,244,0,0,254,2,0,0,0,0,0,0,5,254,0,240,239,17,0,102,173,5,0,243,247,254,0,121,71,10,0,139,76,234,0,0,254,246,0,0,252,2,0,0,0,0,0,0,0,255,0,0,8,255,0,223,233,20,0,78,162,20,0,100,169,251,0,220,233, +247,0,13,7,254,0,12,7,1,0,4,3,1,0,2,2,1,0,16,10,1,0,191,216,247,0,123,188,18,0,0,5,4,0,0,0,255,0,0,0,0,0,0,0,0,0,0,255,1,0,0,6,246,0,103,55,253,0,250,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,253,3,0,106,57,255,0,0,10,244,0,0,255,2,0,0,0,0,0,0,0,0,0,0,5,254,0,239,239,18,0,88,169,7,0,239,242,245,0,19,10,0,0,15,8,255, +0,1,254,249,0,195,217,245,0,87,164,254,0,77,162,20,0,209,225,22,0,0,8,2,0,0,1,254,0,0,0,0,0,0,254,2,0,0,248,253,0,89,54,231,0,167,90,1,0,9,10,10,0,8,2,254,0,149,194,248,0,171,205,20,0,0,8,0,0,0,0,0,0,0,0,0,0,0,250,254,0,122,63,238,0,54,33,8,0,246,250, +255,8,0,0,0,65,0,0,0,29,0,0,0,27,0,0,0,15,0,0,0,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,19,0,0,0,24,0,0,0,62,0,0, +0,44,242,250,1,0,102,58,3,0,47,33,238,0,0,249,1,0,0,0,0,0,0,1,255,0,0,0,9,0,104,179,13,0,214,229,248,0,115,66,9,0,126,70,232,0,0,252,248,0,0,254,2,0,0,0,0,0,0,2,254,0,0,7,3,0,168,203,26,0,63,155,6,0,194,217,245,0,15,7,254,0,8,4,1,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,15,8,254,0,150,197,251,0,189,215,21,0,0,8,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,1,0,85,42,241,0,43,27,7,0,248,252,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,252,255,0,39,24,9,0,97,47,241,0,0,250,255,0,0,0,0,0,0,0,0,0,0,1,254,0,0,253,11,0,98,176,13,0,226,233,245,0,11,6,1,0,0,0,0,0,0,0,0,0,2,1,1,0,11,7,1,0,13,6,253, +0,196,217,245,0,69,157,3,0,136,187,25,0,0,1,9,0,0,4,254,0,0,0,0,0,0,0,1,0,0,247,255,0,64,41,231,0,171,90,253,0,11,11,10,0,2,254,251,0,119,183,0,0,228,232,19,0,0,5,254,0,0,0,0,0,0,254,2,0,0,5,245,0,140,73,250,0,4,6,7,0,254,255,255,44,0,0,0,62,0,0,0,24, +0,0,0,19,0,0,0,9,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,6,0,0,0,15,0,0,0,26,0,0,0,40,0,0,0,63,249,252,255,0,40,26,10,0,128,62,243, +0,0,250,252,0,0,0,1,0,0,0,0,0,0,7,0,0,157,202,19,0,169,203,247,0,98,59,10,0,134,74,236,0,0,251,251,0,0,254,2,0,0,0,0,0,0,2,254,0,0,3,10,0,125,184,27,0,103,171,251,0,250,248,248,0,12,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1, +0,3,255,250,0,118,183,4,0,251,244,16,0,0,2,254,0,0,0,0,0,0,0,0,0,0,255,1,0,0,9,246,0,107,57,254,0,249,253,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,253,3,0,109,59,254,0,0,10,244,0,0,254,2,0,0,0,0,0,0,0,255,0,0,7,3,0,138,194,18,0,186,214,245,0,13,8,1,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,7,1,0,3,254,249,0,131,184,248, +0,84,165,19,0,247,244,15,0,0,6,254,0,0,0,0,0,0,0,1,0,0,248,1,0,54,36,233,0,161,86,254,0,7,8,8,0,234,239,247,0,108,181,9,0,0,255,9,0,0,1,255,0,0,0,0,0,0,250,1,0,50,34,238,0,95,53,4,0,243,249,1,0,0,0,0,63,0,0,0,40,0,0,0,26,0,0,0,15,0,0,0,6,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,9,0,0,0,20,0,0,0,17,0,0,0,60,0,0,0,20,250,253,3,0,122,64,253,0,2,12,242,0,0,254,2,0,0,0,0,0,0,5,254,0,229,234, +19,0,121,181,254,0,59,38,7,0,157,79,240,0,0,255,247,0,0,254,1,0,0,0,0,0,0,2,254,0,0,2,10,0,103,172,20,0,142,189,245,0,12,5,252,0,4,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,4,1,0,217,231,246,0,121,189,14,0,0,6,4, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,0,93,45,241,0,42,26,7,0,248,252,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,247,250,255,0,48,29,7,0,95,48,240,0,0,249,0,0,0,0,0,0,0,0,0,0,0,6,255,0,206,222,21,0,140,191,252,0,14,6,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,1,0,17,9,255,0,185,213,246,0,64,160,15,0,230,236,20,0,0,7,254,0, +0,0,0,0,0,0,0,0,0,248,0,0,64,42,233,0,137,77,2,0,4,4,4,0,187,214,247,0,154,200,19,0,0,7,1,0,0,0,0,0,0,0,1,0,0,252,252,0,128,63,244,0,29,20,9,0,250,253,255,20,0,0,0,60,0,0,0,17,0,0,0,20,0,0,0,9,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,15,0,0,0,25,0,0,0,50,0,0,0,59,246,249,255,0,60,39,9,0,82,46,240,0,0,249,255,0,0,0,0,0,0,0,255,0,0,1,8,0,114,183,10,0,251,253,0,0,161,83,249,0,0,8,242,0,0,252, +2,0,0,0,0,0,0,2,254,0,0,0,10,0,101,173,19,0,165,202,245,0,17,8,255,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,7,255,0,160,201,251,0,201,220,20,0,0,6,254,0,0,0,0,0,0,0,0,0,0,254,2,0,0,9,246,0,112, +59,253,0,249,253,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,0,4,0,121,64,253,0,0,7,245,0,0,255,1,0,0, +0,0,0,0,2,254,0,0,249,12,0,111,181,4,0,253,251,249,0,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,8,1,0,218,229,244,0,70,160,8,0,217,229,21,0,0,7,254,0,0,0,0,0,0,0,1,0,0,248,255,0,95,55,235,0,101,59,8,0,254, +254,254,0,136,191,255,0,233,235,16,0,0,4,254,0,0,0,0,0,0,252,2,0,11,16,241,0,109,59,0,0,246,251,2,0,0,0,0,59,0,0,0,50,0,0,0,25,0,0,0,15,0,0,0,5,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,9,0,0,0,19,0,0,0,14,0,0,0,57,255,255,255,7,0,4,6,0,120,61,250,0,0,3,246,0,0,255,2,0,0,0,0,0,0,7,255,0,182,211,16,0,170,207,250,0,132,72,1,0,35,28,237,0,0,250,3,0,0,0,0,0,0,1,255,0,0,4,7,0,114,182,19,0,165,202,246,0,16,9, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,0,254,252,249,0,120,185,5,0,0,251,11,0,0,1,254,0,0,0,0,0,0,0,0,0,0,250,255,0,89,46,242,0,48,30,8,0,247,250,255,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,249,255,0,67,41,7,0,74,43,239,0,0,250,1,0,0,0,0,0,0,0,255,0,0,6,3,0,135,195,16,0,206,224,247,0,9,6,1,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,12,7,1,0,230,235,246,0,82,163,5,0,231,235,19,0,0,6,254,0,0,0,0,0,0,255,1,0,0,250,250,0,139,70,239,0,55,36,11,0,226,236,246,0,124,190,11,0,0,3,6,0,0,0,255, +0,0,0,0,0,0,250,254,0,105,51,241,0,41,26,8,0,249,252,255,7,0,0,0,57,0,0,0,14,0,0,0,19,0,0,0,9,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,15,0,0,0,24,0,0,0,50, +0,0,0,55,246,250,0,0,65,38,5,0,61,36,239,0,0,249,1,0,0,0,0,0,0,1,254,0,0,248,12,0,124,187,3,0,55,32,5,0,107,56,240,0,0,248,254,0,0,0,0,0,0,0,255,0,0,7,1,0,153,198,21,0,155,197,249,0,17,8,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,6,1,0,203,223,247,0,151,202,17,0,0,7,1,0,0,0,0,0,0,0,0,0,0,255,2,0,0,7,245,0,118,62,252,0,253,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,0,8,7,6,0,130,67,247,0,0,0,248,0,0,255,1,0,0,0,0,0,0,6,255,0,217,227,17,0,146,195,253,0,14,7,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,11,7,1,0,230,238,248,0,84,169,11,0,251,245,15,0,0,4,254,0,0,0,0,0,0,254,2,0,0,8,244,0,141,73,249,0,17,12,7,0,172,207,249,0,200,220,16,0,0,6,255,0,0,0,0,0,0,254,2,0,0,10,244,0,109,58,254,0,248,252,2,0,0, +0,0,55,0,0,0,50,0,0,0,24,0,0,0,15,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,8,0,0,0,18,0,0,0,14,0,0,0,53,0,255,255,4,1,4,6,0,111,58,251,0,0,2,249,0,0,0,1,0,0,0,0,0, +0,7,1,0,157,205,15,0,207,228,254,0,129,67,252,0,0,6,245,0,0,255,2,0,0,0,0,0,0,6,255,0,211,225,19,0,128,185,254,0,12,5,252,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,12,5,254,0,142,193,255,0,238,237,17,0,0,4,254,0,0,0,0,0,0,0,0,0,0,250,1,0,77,43,240,0,58,37,7,0,246,249,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,242,249,1,0,94,53,3,0,43,30,239,0,0,251,2,0,0,0,0,0,0,1,255,0,0,254,9,0,119,186,9,0,247,248,249,0,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0, +11,7,1,0,210,225,245,0,97,177,14,0,0,0,8,0,0,1,255,0,0,0,0,0,0,249,1,0,51,34,238,0,92,52,5,0,242,245,252,0,134,193,7,0,0,254,8,0,0,1,255,0,0,0,0,0,0,250,0,0,94,45,243,0,38,25,8,0,249,252,255,4,0,0,0,53,0,0,0,14,0,0,0,18,0,0,0,8,0,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,13,0,0,0,21,0,0,0,39,0,0,0,51,247,251,0,0,53,30,3,0,62,33,241,0,0,250,1,0,0,0,0,0,0,2,254,0,255,244,12,0,138,193,254,0,61,35,3,0,71,39,241,0,0,250,1,0,0, +0,0,0,0,1,254,0,0,251,10,0,115,182,8,0,248,248,248,0,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,1,0,232,240,248,0,128,193,12,0,0,3,6,0,0,0,255,0, +0,0,0,0,0,255,1,0,0,2,247,0,123,63,251,0,0,4,6,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253,255,0,28,18,7,0,126,62,242,0,0,252,253,0,0, +0,0,0,0,0,0,0,0,7,0,0,168,206,16,0,189,216,248,0,12,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,8,0,0,176,209,248,0,157,201,21,0,0,7,1,0,0,0,0,0,0,0, +1,0,0,253,252,0,116,57,245,0,26,20,7,0,191,217,249,0,189,217,16,0,0,5,255,0,0,0,0,0,0,254,1,0,0,11,244,0,97,51,254,0,247,252,2,0,0,0,0,51,0,0,0,39,0,0,0,21,0,0,0,13,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,1,0,0,0,7,0,0,0,16,0,0,0,18,0,0,0,49,0,0,0,12,250,255,3,0,99,53,254,0,0,5,247,0,0,255,1,0,0,0,0,0,0,6,1,0,155,207,13,0,218,232,253,0,103,54,254,0,0,6,247,0,0,255,1,0,0,0,0,0,0,7,1,0,166,208,15,0,198,221,248,0,11,7,1,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,7,0,0,166,204,250,0,206,222,15,0,0,6,255,0,0,0,0,0,0,0,0,0,0,250,1,0,59,36,239,0,74,43,5,0,245,249,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,251,2,0,118,62,255,0,12,17,244,0,0,252,2,0,0,0,0,0,0,4,255,0,249,241,11,0,132,190,1,0,8,4,253,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,4,253,0,133,190,254,0,235,236,15,0,0,4,254,0,0,0,0,0,0,251,2,0,27,24,242,0,81,44,2,0,246,250,252,0,146,199,5,0,0,254, +8,0,0,0,255,0,0,0,0,0,0,250,255,0,93,46,246,0,24,16,6,0,253,254,255,12,0,0,0,49,0,0,0,18,0,0,0,16,0,0,0,7,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,9,0,0,0,18,0,0,0,17,0,0,0,48,252,253,255, +0,33,21,6,0,83,39,244,0,0,251,0,0,0,0,0,0,0,1,254,0,0,248,11,0,156,203,2,0,33,22,4,0,82,39,245,0,0,250,255,0,0,0,0,0,0,1,255,0,0,247,9,0,147,199,2,0,8,4,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,253,251,250,0,129,191,8,0,0,255,9,0,0,0,255,0,0,0,0,0,0,0,1,0,0,255,249,0,128,64,247,0,10,9,7,0,254,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,250,255,0,56,33,7,0,98,53,240,0,0,249,0,0,0,0,0,0,0,0,0,0,0,4,2,0,132,194,14,0,224,236,249,0,7,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,1,0,235,241,248,0,137,196,11,0,0,3,3,0,0,0,0,0,0,0,0,0,0,254,252,0,97,49,250,0,17,11,4,0,195,221,249,0,202,224,14,0,0,6,255,0,0,0,0,0,0,254,2,0,15,18,244,0,74,42,2,0,246,250,0,0,0,0,0, +48,0,0,0,17,0,0,0,18,0,0,0,9,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,12,0,0,0,18,0,0,0,45,0,0,0,30,245,251,1,0,78,42,2,0,3,13,246,0,0,254,2,0,0,0,0,0,0,6,0,0,182,218,14,0,205,225,249,0,74, +40,2,0,9,15,245,0,0,254,1,0,0,0,0,0,0,6,255,0,185,220,14,0,214,230,250,0,8,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11, +7,1,0,192,218,248,0,178,211,16,0,0,7,255,0,0,0,0,0,0,0,0,0,0,251,1,0,36,28,240,0,93,53,4,0,243,249,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,1,3,4,0,132,69,250,0, +0,6,247,0,0,255,1,0,0,0,0,0,0,6,254,0,218,226,14,0,157,202,254,0,14,7,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,6,255, +0,170,209,253,0,232,235,14,0,0,4,254,0,0,0,0,0,0,251,1,0,49,28,245,0,48,28,6,0,245,247,252,0,155,204,7,0,0,1,6,0,0,0,0,0,0,0,0,0,0,254,252,0,93,46,249,0,5,6,6,0,255,255,255,30,0,0,0,45,0,0,0,18,0,0,0,12,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,7,0,0,0,14,0,0,0,8,0,0,0,43,255,255,255,0,7,6,5,0,86,43,247,0,0,254,253,0,0,0,0,0,0,0,255,0,0,255,7,0,162,207,3,0,1,2,0,0,75,40,253,0,0,0,252,0,0,0,1,0,0,0,0,0,0,255,6,0,167,211,4,0,1,255,253,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,253,0,137,194,4,0,0,248,13,0,0,1,254,0,0,0,0,0,0,0,1,0,0,252,252,0,123, +61,243,0,26,18,8,0,252,253,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,249,1,0,85,48,6,0,56,37,241,0,0,249,1,0,0,0,0,0,0,1,255,0,0,0,7,0,126,190,10,0,246,248,250,0,2,1,1,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,1,0,238,243,251,0,166,212,10,0,0,4,1,0,0,0,0,0,0,255,1,0,0,6,248,0,75,40,255,0,3,2,1,0, +186,217,253,0,233,236,11,0,0,4,254,0,0,0,0,0,0,251,1,0,53,29,245,0,43,26,4,0,249,253,0,0,0,0,0,43,0,0,0,8,0,0,0,14,0,0,0,7,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,9,0,0,0,16,0,0,0,23,0,0,0,43,249,253,0, +0,45,27,4,0,46,26,246,0,0,251,1,0,0,0,0,0,0,4,255,0,226,232,11,0,192,219,251,0,31,18,4,0,58,27,247,0,0,251,0,0,0,0,0,0,0,2,254,0,244,241,10,0,198,223,255,0,9,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,1,0,209,226,248,0,152,204,15,0,0,7,1,0,0,0,0,0,0,0,0,0,0,252,2,0,14,17,241,0,112,60,0,0,245,251,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,253,255,0,20,15,7,0,132,66,245,0,0,253,250,0,0,0,1,0,0,0,0,0,0,6,255,0,183,212,15,0,184,214,250,0,12,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,4,254,0,178,214,1,0,0,249,9,0,0,1,255,0,0,0,0,0,0,253,254,0,69,35,250,0,12,9,5,0,236,242,249,0,171,214,10,0,0,4,1,0,0,0,0,0,0,255,1,0,0,7,248,0,75,39,255,0, +249,252,1,0,0,0,0,43,0,0,0,23,0,0,0,16,0,0,0,9,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,11,0,0,0,17,0,0,0,40,0,0,0,18,249,252,1,0,70,37,255,0,0,7,248,0,0,255,1,0,0,0,0,0,0,4,2,0,173,216,8,0,235,243,251,0, +44,25,2,0,15,14,248,0,0,254,1,0,0,0,0,0,0,5,0,0,192,226,9,0,233,241,250,0,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,10,5,253,0,147,196,255,0,247,241,15,0,0,2,254,0,0,0,0,0,0,0,0,0,0,249,255,0,105,54,240,0,49,31,9,0,247,250,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,251,3,0,115,63,1,0,20, +21,241,0,0,252,2,0,0,0,0,0,0,2,255,0,0,247,11,0,129,189,5,0,4,2,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,7,3,0,0,216,232,253,0,217,233,10,0,0,4,255,0,0,0,0,0,0,252,1,0,44,20,246,0,30,17,3,0,4,0,254,0,176,213,1,0,0,250,9,0,0,1,255,0,0,0,0,0,0,253,254,0,76,38,249,0,9,7,5,0,255,255,0,18,0,0,0,40,0,0,0,17,0,0,0,11,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,6,0,0,0,12,0,0,0,7,0,0,0,39,255,0,0,0,7,6,5,0,71,35,249,0,0,253,254,0,0,0,0,0,0,1,255,0,0,250,7,0,182,216,2,0,3,1,255,0,50,27,1,0,0,4,250,0,0,0,1,0,0,0,0,0,0,1,4,0,194,225,3,0,0,254,254,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,3,1,0,226,237,249,0,142,200,12,0,0,6,3,0,0,0,0,0,0,0,0,0,0,255, +2,0,0,7,245,0,127,67,252,0,254,2,6,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,250,255,0,54,34,9,0,106,55,240,0,0,249,254,0,0,0,0,0,0,0,0,0,0,6,0,0,145,201,14,0,212,229,249,0,8,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,245,248,251,0,192,225,6,0,0,3,1,0,0,0,0,0,0,255,1,0,0,10,251,0,43,25,1,0,1, +1,1,0,212,230,253,0,217,233,9,0,0,4,255,0,0,0,0,0,0,252,1,0,42,23,246,0,39,23,4,0,250,253,255,0,0,0,0,39,0,0,0,7,0,0,0,12,0,0,0,6,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,13,0,0,0,8,0,0,0,37,251,253,255,0,32,19, +3,0,50,24,248,0,0,252,0,0,0,0,0,0,0,4,255,0,220,234,10,0,212,231,253,0,7,5,3,0,46,22,249,0,0,255,254,0,0,0,0,0,0,1,255,0,0,249,4,0,207,228,0,0,5,4,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,6,254,0,156,201,255,0,235,236,15,0,0,4,254,0,0,0,0,0,0,0,0,0,0,249,1,0,67,40,238,0,75,44,5,0,244,249,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,1,4,6,0,135,69,250,0,0,6,245,0,0,255,2,0,0,0,0,0,0,4,254,0,238,237,16,0,147,197,1,0,12,6,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,254,0,201,227,2,0,0,255,5,0,0,0,0,0,0,0,0,0,0,1,252,0,46,23,254,0,253,0,1,0,245,248,250,0,181,219,8,0,0,3,1,0,0,0,0,0,0,255,1,0,0,8,249,0,62,33,0, +0,250,252,1,0,0,0,0,37,0,0,0,8,0,0,0,13,0,0,0,8,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,7,0,0,0,13,0,0,0,34,0,0,0,27,250,252,1,0,52,28,2,0,0,10,248,0,0,255,2,0,0,0,0,0,0,3,1,0,189,223,8,0,243,247,251,0,9,6,1,0,37,20,0, +0,0,254,0,0,0,0,0,0,0,1,255,0,242,246,9,0,225,239,254,0,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,3,2,1,0,236,242,248,0,136,195,10,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,255,249,0,134,67,247,0,14,12,8,0,253,254,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,242,249,1,0,94,54,6,0,55,36,236,0,0,249,1,0,0,0,0,0,0,0, +0,0,0,4,4,0,133,195,13,0,233,240,249,0,4,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,5,3,0,0,215,233,254,0,0,247,4,0,0,1,255,0,0,0,0,0,0,254,254,0,42,22,252,0,3,4,3,0,5,1,255,0,191,221,1,0,0,252,7,0,0,0,255,0,0,0,0,0,0,255,253,0,63,32,252,0,1,2,3,0,0,0,0,27,0,0,0,34,0,0,0,13,0,0,0,7,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,12,0,0,0,32,0,0,0,0,253,0,2,0,59,31,253,0,0,1,253,0,0,0,0,0,0,0,0,0,0,254,6,0,192,222,1,0,3,0,254,0,12,7,2,0,26,7,245,0,0,255,1,0,0,0,0,0,0,3,0,0,225,239,254,0,239,246,254,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,7,255,0,168,206,253,0,222,229,15,0,0,5,254,0,0,0,0,0,0,0,0,0,0,251, +2,0,30,25,239,0,105,57,3,0,243,250,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,252,255,0,31,20,9,0,133,64,242,0,0,253,252,0,0,0,1,0,0,0,0,0,0,5,254,0,215,227,17,0,165,204,251,0,13,7,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,0,0,234,245,1,0,237,247,9,0,0,1,254,0,0,0,0,0,0,255,0,0,30,15,255,0,6,2,0,0,7,5, +0,0,212,231,253,0,236,239,9,0,0,4,255,0,0,0,0,0,0,251,0,0,51,25,249,0,19,13,4,0,254,254,255,0,0,0,0,32,0,0,0,12,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,4,0,0,0,31,255,255,0,0,11,6,3,0,52,26,250,0,0,253, +255,0,0,0,0,0,0,2,254,0,250,243,8,0,211,231,255,0,3,1,255,0,17,12,6,0,16,13,7,0,0,253,255,0,0,0,0,0,0,1,0,0,228,245,12,0,251,251,253,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,0,244,247,250,0,137,196,10,0,0,2,4,0,0,0,255,0,0,0,0,0,0,0,0,0,0,250,253,0,122,59,240,0,41,25,7,0,248,252,255,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,250,254,3,0,127,69,255,0,10,16,241,0,0,252,2,0,0,0,0,0,0,0,255,0,0,1,7,0,131,191,8,0,248,249,249,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,0,242,246,251,0,230,240,250,0,0,3,2,0,0,0,0,0,0,255,1,0,20,6,245,0,9,7,2,0,1,0,0,0,239,244,252,0,203,231,8,0,0,3,0,0,0,0,0,0,0,255,1,0,19,14,248,0,35,20,2,0, +250,254,0,0,0,0,0,31,0,0,0,4,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,9,0,0,0,0,0,0,0,29,253,254,255,0,23,15,3,0,38,17,248,0,0,253,0,0,0,0,0,0,0,4,0,0,213,236,4,0,232,242,253,0,2,3,0,0,9,4,253,0,2,3,252,0,0,0,0, +0,0,0,0,0,0,1,0,0,239,249,3,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,12,7,255,0,175,211,252,0,212,226,17,0,0,6,255,0,0,0,0,0,0,0,0,0,0,254,2,0,0,10,243,0,127,69,255,0,252,254,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,249,255,0,72,43,8,0,85,49,237,0,0,249,0,0,0,0,0,0,0,0,0,0,0,7,255,0,195,219,15,0,183, +214,249,0,11,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0, +252,254,255,0,237,250,12,0,0,1,255,0,0,0,0,0,0,254,255,0,14,10,7,0,13,9,6,0,254,255,0,0,253,254,254,0,200,228,2,0,0,1,3,0,0,0,0,0,0,255,1,0,0,5,251,0,45,24,0,0,251,252,0,0,0,0,0,29,0,0,0,0,0,0,0,9,0,0,0,5,0,0,0,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0, +0,2,0,0,0,6,0,0,0,11,0,0,0,21,0,0,0,27,250,253,0,0,34,18,0,0,3,9,251,0,0,254,1,0,0,0,0,0,0,1,1,0,207,232,7,0,249,250,252,0,1,0,1,0,1,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,242,245,247,0,254,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,250,248,249,0,141,198,9,0,0,1,7,0,0,0,255,0,0,0,0,0,0,0,0,0, +0,249,1,0,76,43,237,0,73,43,6,0,244,249,255,0,0,0,0,0,0,0,0,0,253,254,255,0,14,12,8,0,140,70,246,0,0,255,247,0,0,255,1,0,0,0,0,0,0,1,255,0,0,253,9,0,135,192,7,0,1,254,252,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,244,253,5,0,0,0,0,0,0,0,0,0,0,255,0,0,6,4,0,0,6,3,0,0,254,0,0,0,5,2,255,0,208,230, +1,0,0,252,5,0,0,0,255,0,0,0,0,0,0,0,253,0,45,24,254,0,254,1,3,0,0,0,0,27,0,0,0,21,0,0,0,11,0,0,0,6,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,9,0,0,0,23,0,0,0,5,253,254,0,0,38,22,2,0,0,4,252,0,0,0,1,0,0,0,0,0,0,1,3,0,211,234,1,0, +2,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,7,0,0,180,212,251,0,205,222,15,0,0,6,255,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,249,0,137,70,247,0,13,12,8,0,253,254,255,0,0,0,0,0,243,250,2,0,117,65,3,0,29,26,239,0,0,251,3,0,0,0,0,0,0,0,0,0, +0,7,255,0,176,210,17,0,197,221,249,0,10,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,0,0,224,239,0,0,251,247,5,0,0,2,255,0,0,0,0,0,0,255,255,0,41,19,250,0,5,4,0,0,0,0,0,5,0,0,0,23,0,0,0,9,0,0,0,6,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0, +0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,8,0,0,0,22,0,0,0,0,254,1,3,0,39,18,249,0,0,0,254,0,0,0,0,0,0,0,255,0,0,250,3,0,217,233,255,0,4,4,0,0,0,0,0,0,255,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,16,12,8,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,251,250,249,0,140,196,6,0,0,0,7,0,0,0,255,0,0,0,0,0,0, +0,0,0,0,251,2,0,30,26,239,0,110,59,2,0,244,250,2,0,246,250,255,0,57,35,9,0,109,55,237,0,0,248,254,0,0,0,0,0,0,0,0,0,0,1,255,0,0,247,11,0,139,194,1,0,5,2,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,7,2,253,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,0,0,254,255,0,0,0,0,0,0,4,2,1,0,235,241,250, +0,226,241,4,0,0,3,0,0,0,0,0,0,0,254,255,0,31,17,254,0,15,10,6,0,254,254,255,0,0,0,0,22,0,0,0,8,0,0,0,5,0,0,0,3,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,7,0,0,0,20,0,0,0,0,4,3,0,0,33,19,5,0,0,254,255,0,0,0,0,0,0,1,255,0,255,251,9,0,232, +244,2,0,3,1,0,0,1,1,0,0,243,250,3,0,251,251,2,0,0,0,0,0,0,0,0,0,0,255,0,0,27,10,248,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,6,1,0,186,217,252,0,205,223,14,0,0,6,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,254,0,117,59,241,0,44,28,8,0,251,0,6,0,141,72,249,0,0,5,246,0,0,255,2,0,0,0,0,0,0, +0,0,0,0,7,0,0,160,208,15,0,209,228,250,0,8,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,3,2,1,0,23,6,244,0,0,0,0,0,0,0,0,0,0,3,0,0,243,247,250,0,244,247,251,0,3,1,0,0,1,0,0,0,247,253,2,0,224,241,7,0,0,1,255,0,0,0,0,0,0,254,1,0,23,9,249,0,14,5,251,0,254,255,0,0,0,0,0,20,0,0,0,7,0,0,0,5,0,0, +0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,0,0,0,0,18,255,255,0,0,7,3,1,0,26,8,242,0,0,255,1,0,0,0,0,0,0,3,0,0,233,242,251,0,237,245,253,0,4,2,0,0,4,2,1,0,237,242,250,0,233,243,1,0,0,4,0,0,0,0,0,0,0,254,0,0,44,22,250,0,16,10,5,0,253, +254,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +1,1,0,0,254,251,250,0,137,194,7,0,0,255,8,0,0,1,255,0,0,0,0,0,0,0,0,0,0,254,2,0,0,8,243,0,126,66,253,0,111,64,7,0,46,32,237,0,0,250,1,0,0,0,0,0,0,0,0,0,0,2,254,0,255,244,12,0,146,197,2,0,9,5,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,254,255,0,17,10,5,0,32,18,2,0,0,252,0,0,0,0,0,0,0,1, +0,0,233,247,8,0,242,247,253,0,2,1,1,0,1,1,0,0,251,251,252,0,223,236,251,0,0,2,3,0,0,0,0,0,0,255,1,0,1,5,253,0,24,16,7,0,252,253,0,0,0,0,0,18,0,0,0,0,0,0,0,4,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,0,0,0,0,16,254,255,255,0,12,10, +7,0,20,14,6,0,0,253,255,0,0,0,0,0,0,1,0,0,234,248,10,0,246,249,252,0,1,0,1,0,2,1,0,0,244,248,254,0,210,236,9,0,0,2,0,0,0,0,0,0,0,252,1,0,17,17,246,0,68,39,3,0,235,245,1,0,249,252,255,0,254,255,255,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,6,1,0,189,218,252,0,198,222,16,0,0,5,255,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,249,1,0,73,39,235,0,132,67,234,0,0,250,254,0,0,0,1,0,0,0,0,0,0,0,0,0,0,7,2,0,149,205,15,0,218,232,248,0,7,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,251,0,0,40,23,1,0,15,14,247,0,0,254,1,0,0,0,0,0,0,2,0,0,218,238,5,0,250,252,0,0,1,1,0,0,0,0,0,0,3,0,255,0,232,250,15,0,0,0,1,0,0, +0,0,0,0,255,0,0,0,5,1,0,20,12,2,0,253,255,255,0,0,0,0,16,0,0,0,0,0,0,0,4,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,13,255,255,0,0,9,3,254,0,12,6,254,0,0,0,0,0,0,0,0,0,0,1,255,0,238,250,7,0,254,255,252,0,0,1,254,0,0,0,0,0, +0,255,252,0,187,220,6,0,74,46,3,0,0,0,255,0,0,0,1,0,0,252,250,0,144,70,240,0,9,4,16,0,199,225,255,0,232,241,252,0,246,251,1,0,250,249,251,0,0,0,255,0,2,1,1,0,1,0,0,0,1,0,254,0,1,0,0,0,1,1,0,0,1,0,0,0,1,3,1,0,1,1,0,0,0,0,0,0,2,0,0,0,0,0,255,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,1,0,0,0,0,0,0,0,0,0,254,254,255,0,0,254,0,0,0,0,0,0,254,0,255,0,245,249,249,0,133,192,11,0,181,31,8,0,0,1,249,0,0,255,1,0,0,0,0,0,0,0,1,0,0,255,253,0,0,1,253,0,0,255,1,0,0,0,0,0,0, +0,0,0,0,2,254,0,242,237,16,0,147,197,0,0,7,2,253,0,253,254,1,0,1,0,0,0,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,251,254,0,0,246,254,4,0,94,50,255,0,0,3,249,0,0,252,1,0,0,0,0,0,0,1,3,0,200,226,4,0,255,254,247,0,0,0,0,0,0,0,0,0,1,1,0,0,233,239,247,0,0,254,254,0,0,0,1,0,0,0,1,0,0,1,250,0,14,1,242,0,254,0,2, +0,0,0,0,13,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,12,254,0,1,0,6,255,247,0,7,1,245,0,0,0,2,0,0,0,0,0,0,1,1,0,235,240,245,0,252,252,5,0,1,7,0,0,0,0,0,0,9,5,0,0,182,215,255,0,131,239,13,0,12,13,240,0,0,252, +2,0,0,254,2,0,11,11,244,0,146,82,247,0,0,247,7,0,228,241,7,0,225,242,3,0,227,239,254,0,235,251,15,0,233,240,249,0,236,241,246,0,247,0,11,0,245,252,6,0,247,252,0,0,250,252,254,0,246,247,250,0,245,247,248,0,2,1,0,0,251,0,5,0,254,0,4,0,0,0,255,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,254,0,5,0,250,0,0,0,0,0,0,255,255,0,13,14,11,0,6,4,3,0,2,1,0,0,11,6,3,0,0,0,253,0,9,5,0,0,235,242,10,0,21,14,248,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,2,0,168,213, +9,0,247,249,252,0,21,16,10,0,250,254,1,0,251,253,255,0,247,248,250,0,254,255,255,0,255,0,1,0,0,254,0,0,255,0,0,0,255,0,0,0,0,255,0,0,253,255,255,0,0,0,0,0,1,0,255,0,0,0,0,0,0,0,0,0,2,0,255,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,255,0,0,0,254,0,1,0,0,0,0,0,255,0,1,0,1,1,1,0,3,1,1,0,1,0,254,0,9,7,7,0,16,10,0,0,100,47,4,0,85,45,234,0,0,250,0,0,0,0,0,0,0,1,254,0,0,248,11,0,191,221,255,0,6,5,255,0,0,0,1,0,0,0,0,0,1,1,0,0,236,244,251,0,0,0,3,0,0,0,253,0,0,0,1,0,0,0,254,0,20,14, +8,0,0,0,251,0,0,0,255,12,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,9,255,255,0,0,10,8,4,0,0,2,254,0,0,0,0,0,0,0,0,0,0,1,1,0,242,246,252,0,253,255,3,0,0,0,0,0,0,0,0,0,3,2,1,0,232,240,248,0,133,195,13,0,135, +79,244,0,0,252,253,0,0,0,1,0,0,254,1,0,0,249,254,0,0,3,245,0,28,21,245,0,28,23,0,0,0,2,1,0,0,0,240,0,0,255,255,0,0,0,1,0,0,0,248,0,0,254,2,0,0,253,0,0,0,255,0,0,0,252,253,0,0,251,252,0,0,1,255,0,251,0,9,0,252,0,6,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,253,0,7,0,246,0,0,0,0,0,0,0,0,0,0,6,247,0,0,2,2,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,254,0,0,250,252,0,0,254,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,0,0,102,46,235,0,96,46,8,0,247,254,7,0,247, +253,2,0,247,250,254,0,243,244,246,0,247,252,4,0,247,1,11,0,244,252,5,0,250,254,1,0,243,248,255,0,252,252,253,0,237,239,242,0,0,255,255,0,244,0,13,0,254,0,4,0,0,0,255,0,244,253,6,0,253,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, +1,255,0,11,3,251,0,2,0,253,0,11,0,242,0,17,16,13,0,18,13,7,0,21,5,246,0,27,14,247,0,29,14,255,0,8,12,244,0,0,252,253,0,0,255,1,0,0,0,0,0,0,7,0,0,182,209,13,0,216,231,250,0,12,6,1,0,0,0,0,0,0,0,0,0,1,0,255,0,248,0,9,0,0,0,6,0,0,0,247,0,0,0,0,0,0,0,1,0, +13,11,6,0,0,0,251,0,0,0,0,9,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,7,254,254,255,0,12,13,11,0,0,4,242,0,0,255,249,0,0,0,1,0,0,0,1,0,246,1,13,0,1,0,249,0,0,0,0,0,0,0,0,0,0,0,0,0,12,6,0,0,155,199,249,0,40, +22,22,0,95,50,234,0,0,254,253,0,0,0,1,0,0,0,0,0,0,255,2,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,249,0,0,0,0,0,0,1,0,0,0,0,0,0,0,4,0,0,0,5,1,0,0,0,0,0,5,0,246,0,5,0,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,255,249,0,0,0,0,0,0,0,0,0,0,251,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,254,0,6,1,245,0,6,0,244,0,15,2,255,0,0,0,1,0,0,24,1,0,0,0,0,0,0,0,243,0, +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,248,0,0,0,1,0,0,0,0,0,0,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,254,0,0,0,0,0,0,0,253,0,0,255,245,0,0,0,0,0,0,255,1,0,0,255,255,0,0,253,0,0,0,251,2,0,0,0, +1,0,0,0,0,0,0,2,254,0,0,248,12,0,136,194,4,0,4,2,250,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,255,0,247,253,5,0,0,254,1,0,0,0,0,0,0,0,0,0,0,0,0,0,11,5,2,0,0,255,0,0,0,0,0,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +4,0,0,0,0,255,255,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,252,251,251,0,147,198,9,0,90,44,13,0,5,6,239,0,0,254,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,255,0,0, +0,0,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,1,0,0,0,1,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,0,0,253,9,0,108,182,17,0,210,226,247,0,12,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,253,255,0,21,17,10,0,171,88,245,0,5,9,239,0,0,251,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,255,0,202,225,18,0,165,205,254,0,9,5,254,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,253,3, +0,129,69,0,0,33,27,237,0,0,247,2,0,0,0,0,0,0,0,0,0,0,4,254,0,0,3,0,0,0,1,2,0,0,0,4,0,0,254,254,0,0,252,254,0,0,0,8,0,0,0,3,0,0,254,3,0,0,255,0,0,0,1,0,0,255,253,0,0,250,252,254,0,1,0,0,0,255,0,0,0,7,5,2,0,0,2,0,0,0,255,0,0,0,0,1,0,0,1,255,0,0,2,252,0, +0,0,0,0,0,0,251,0,0,255,251,0,0,4,2,0,0,2,1,0,0,1,2,0,0,0,0,0,0,1,254,0,0,0,255,0,0,0,254,0,0,255,255,0,0,0,0,0,0,255,0,0,0,0,0,0,0,252,1,0,0,254,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,0,0,1,255,0,0,0,255, +0,0,2,1,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,254,255,0,0,0,0,0,0,254,255,0,0,0,1,0,0,0,1,0,0,255,0,0,0,255,0,0,0,0,1,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,2,0,54,32,232,0,150,80,22,0,107,174,3,0,9,1,254,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,254,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0, +0,0,0,0,0,0,255,0,0,0,254,0,0,0,0,0,0,0,249,2,3,1,5,241,241,244,0,0,251,251,0,0,5,1,0,0,255,0,0,0,0,255,0,11,255,242,0,255,0,9,0,0,0,255,0,0,0,0,0,249,252,255,0,45,28,7,0,90,47,239,0,0,248,255,0,0,0,1,0,0,0,0,0,0,5,0,0,236,238,16,0,200,231,10,0,219,233, +250,0,232,248,11,0,238,247,0,0,235,237,242,0,247,254,7,0,253,0,4,0,247,254,3,0,0,255,0,0,0,1,0,0,250,252,255,0,250,252,255,0,0,1,0,0,0,0,0,0,7,4,1,0,5,3,1,0,0,255,0,0,254,0,0,0,4,1,255,0,8,2,253,0,255,0,0,0,6,1,249,0,3,254,251,0,12,11,9,0,11,10,9,0,9, +6,0,0,8,3,1,0,10,5,250,0,8,0,249,0,10,1,246,0,18,17,15,0,13,8,3,0,12,6,255,0,8,0,248,0,49,22,245,0,11,13,249,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,251,10,0,243,251,8,0,254,0,1,0,247,252,255,0,254,253,0,0,248, +251,250,0,246,246,249,0,2,1,0,0,249,0,7,0,247,0,11,0,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,2,0,8,0,249,0,8,0,245,0,1,1,1,0,14,12,10,0,4,4,2,0,10,5,1,0,8,3,252,0,7,0,247,0,0,5,0,0,0,6,2,0,0,1,250,0,0,0, +254,0,0,0,0,0,0,253,255,0,0,253,1,0,0,255,1,0,0,0,0,0,0,251,254,0,89,54,237,0,188,221,23,0,173,206,246,0,12,7,0,0,0,0,0,0,0,0,0,0,255,0,1,0,9,2,252,0,0,1,254,0,0,0,0,0,0,0,0,0,0,0,0,0,242,250,254,0,0,1,0,0,0,0,0,249,0,0,0,0,0,0,0,254,0,0,0,255,0,0,0, +0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,254,0,0,0,0,0,0,0,247,1,0,0,12,249,252,1,0,0,255,5,0,0,0,249,0,0,0,1,0,0,255,255,0,16,13,9,0,3,2,2,0,0,0,253,0,0,0,0,0,248,252,2,0,80,42,255,0,0,7,246,0,0,248,2,0,0,0,0,0,0,6,254,0,201,222,24,0,86,167,4,0,240, +242,249,0,254,255,0,0,2,0,243,0,1,1,0,0,2,1,3,0,1,2,251,0,1,0,250,0,1,0,255,0,0,0,0,0,0,0,0,0,1,0,1,0,2,1,0,0,254,0,0,0,2,0,0,0,253,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,255,0,0,0,0,0,0,0,255,254,1,0,255,2,5,0,255,254,251,0,255,255,250,0,0,0,0,0, +255,255,0,0,254,0,1,0,0,0,0,0,255,0,9,0,3,2,252,0,2,2,252,0,254,253,255,0,9,8,7,0,203,106,254,0,11,2,247,0,0,254,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,255,0,181,218,16,0,105,176,3,0,10,5,255,0,251,253,255,0,255,255,0,0,250,251, +6,0,249,250,6,0,0,1,0,0,0,0,1,0,255,0,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,0,0,0,4,0,1,255,13,0,1,1,1,0,9,9,7,0,4,2,1,0,6,3,1,0,6,3,253,0,6,0,3,0,18,13,9,0,19,13,5,0,19,4,243,0,32,22,9,0,37,16, +249,0,46,24,253,0,33,20,245,0,0,1,249,0,0,254,1,0,0,255,1,0,0,254,250,0,114,59,247,0,179,212,5,0,255,255,250,0,1,1,1,0,0,0,0,0,255,0,2,0,8,0,246,0,0,0,250,0,0,0,1,0,0,0,0,0,0,0,255,0,241,243,246,0,0,0,0,0,0,0,0,247,0,0,0,0,0,0,0,254,0,0,0,255,0,0,0,0, +0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,253,0,0,0,0,0,0,0,244,2,0,255,21,250,0,9,0,247,255,254,0,9,0,248,0,0,0,1,0,0,255,255,0,19,15,9,0,4,4,251,0,255,255,253,0,0,0,0,0,8,6,2,0,70,34,248,0,0,253,255,0,0,0,1,0,0,1,255,0,0,252,9,0,124,186,5,0,240,241, +244,0,13,8,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, +0,0,0,253,0,0,0,0,0,240,251,0,0,106,59,2,0,29,25,241,0,0,248,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,0,0,0,0,0,0,255,1,0,0,0,0,0,0,0,0,0,0,251,0,0,76,36,240,0,131,12,15,0,218,230,247,0,8,6,1,0,1,0,0,0,0,1,0,0,7,4,1,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,252,248,247,0,251,0,0,0,246,255,0,0,0,0,0,0,254,0,1,0,224,238,246,0,253,253,0,0,254,0,1,0,254,255,247,0,2,1,1,0,10,8,6,0,56,33,11,0,166,82,239,0,9, +10,243,0,0,254,2,0,0,251,1,0,43,24,245,0,47,27,18,0,207,226,0,0,8,4,0,0,0,0,0,0,254,255,255,0,24,17,11,0,0,1,241,0,0,0,0,0,0,0,0,0,0,0,3,0,238,245,255,0,1,0,255,0,0,0,0,244,0,0,0,0,0,0,0,253,0,0,0,255,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0, +253,0,0,0,0,0,0,0,243,2,1,0,0,246,251,0,0,242,248,0,0,0,2,0,0,0,0,0,0,0,255,1,0,20,4,245,0,3,0,253,0,0,0,0,0,253,254,255,0,24,16,6,0,39,19,250,0,0,253,0,0,0,0,0,0,0,4,255,0,215,232,11,0,209,229,251,0,12,7,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,254,255,0,27,19,9,0,111,54,244,0,0,252,253, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,254,0,0,253,11,0,0,254,9,0,0,1,255,0,0,0,0,0,0,0,0,0,0,255,1,0,0,10,246,0,113,60,255,0,252,0,4,0,3,2,1,0,2,2,1,0,2,1,1,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0, +0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,2,1,0,3,2,1,0,4,3,1,0,4,3,1,0,6,3,0,0,8,4,1,0,11,7,1,0,13,7,0,0,15,8,255,0,13,7,254,0,1,254,249,0,181,210,245,0,147,203,14,0,0,6,2,0,0,0,0,0,0,255,1,0,0,6,250,0,56,32,2,0,251,252,1,0,0,0,0,0,0,0,0,0,254,255, +0,0,23,15,3,0,0,1,1,0,0,0,0,0,0,0,255,0,0,255,6,0,242,254,13,0,2,0,254,0,0,0,0,243,0,0,0,0,0,0,0,253,0,0,0,254,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,252,0,0,0,0,0,0,0,240,1,2,1,0,243,246,249,0,234,241,253,0,0,2,1,0,0,0,0,0,0,255,0,0,24,12, +251,0,14,10,6,0,254,255,255,0,252,255,1,0,24,11,250,0,6,9,250,0,0,255,1,0,0,0,0,0,0,2,0,0,204,231,5,0,247,250,253,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,250,2,0,103,56,0,0,15,18,241,0,0,252,2,0,0,0,0,0,0,0,0,0,0,0,255,0,0,7,3,0,115,187,19,0,139,197,19,0,0,7,1,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,249,0,0,88,45,242,0,46,28,6,0,248,252,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,0,13,6,255,0,188,220,1,0,0,249,6,0,0,1,255,0,0,0,0,0,0,255,254,0,44,19,247,0,0,1,2,0,0,0,0,0,0,0,0,0,0,1,1,0,25,6,242,0,0,0,254,0,0,0,0,0,0,1,0,0,0,249,253,0,233,242,250,0,3,3,1,0,0,0,0,240,0,0,0,0,0, +0,0,252,0,0,0,254,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,252,0,0,0,0,0,0,0,238,1,0,0,0,252,255,1,0,230,249,13,0,0,0,255,0,0,0,0,0,0,253,0,0,18,11,0,0,17,9,0,0,253,255,0,0,253,253,255,0,23,16,9,0,0,3,255,0,0,255,0,0,0,0,0,0,0,1,3,0,220,234, +253,0,255,255,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,250,253,255,0,33,22,8,0,108,53,243,0,0,250,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,255,0,206,222,19,0,159,200,247,0,148,198,253,0,232,234,17,0,0,5,254,0,0,0,0,0,0,0,0,0,0,255,1,0,0,9,246,0,107,58,254,0,249,252,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,0,0,228,239,253,0,247, +248,8,0,0,1,255,0,0,0,0,0,0,254,254,0,28,18,7,0,4,5,3,0,255,255,0,0,255,255,0,0,6,4,4,0,34,23,8,0,0,253,254,0,0,0,0,0,0,1,255,0,249,252,8,0,236,243,254,0,3,1,0,0,0,0,0,238,0,0,0,0,0,0,0,252,0,0,0,254,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0, +251,0,0,0,249,0,0,0,236,0,0,0,0,252,252,254,0,220,233,248,0,0,2,1,0,0,0,0,0,0,0,1,0,0,6,249,0,28,17,1,0,252,253,0,0,255,0,0,0,14,8,3,0,0,2,1,0,0,0,0,0,0,0,0,0,0,255,3,0,241,254,12,0,4,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,252,3,0,112,59,255,0,6,13,242,0,0,254,2,0,0,0,0,0,0,0,0, +0,0,1,254,0,0,251,12,0,118,184,8,0,0,253,252,0,241,242,248,0,120,188,10,0,0,1,7,0,0,0,255,0,0,0,0,0,0,0,0,0,0,249,0,0,90,45,242,0,46,30,9,0,248,252,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,245,252,3,0,239,249,4,0,0,2,0,0,0,0,0,0,0,0,1,0,15,7,251,0,5,1,254,0,0,0,0,0,255,255,0,0,11,6,1,0, +32,12,246,0,0,255,1,0,0,0,0,0,0,2,0,0,233,243,2,0,240,248,1,0,2,2,0,0,0,0,0,236,0,0,0,249,0,0,0,251,0,0,0,254,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,253,0,0,0,251,0,0,0,248,0,0,0,234,0,0,0,0,2,0,254,0,220,241,9,0,0,255,2,0,0,0,0,0,0,255,1,0,0,4,254, +0,40,20,255,0,253,254,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,252,255,0,44,27,8,0,99,50,241,0,0,250,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,2,0,145,199,16,0,200,223,246,0,10,6,1,0,12,7,1,0,176,210,249,0,185,214,18,0,0,8,255,0,0,0, +0,0,0,0,0,0,0,255,1,0,0,8,246,0,115,60,254,0,251,253,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,252,253,255,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,254,0,0,0,0,0,0,0,0,0,251,254,255,0,24,15,3,0,27,15,254,0,0,253,0,0,0,0,0,0,0,2,0,0,222,240,7,0,245,249,251,0,2,1,1,0,0,0,0,234,0,0,0,248,0, +0,0,251,0,0,0,253,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,250,0,0,0,247,0,0,0,233,0,0,0,251,4,4,0,0,215,232,252,0,0,251,5,0,0,1,255,0,0,0,0,0,0,255,252,0,48,25,254,0,254,1,2,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,253, +3,0,117,62,253,0,0,9,244,0,0,254,2,0,0,0,0,0,0,0,0,0,0,5,253,0,226,231,17,0,140,193,254,0,13,5,254,0,0,0,0,0,0,1,0,0,4,0,252,0,126,187,3,0,0,246,12,0,0,2,254,0,0,0,0,0,0,0,0,0,0,250,255,0,82,43,240,0,49,31,7,0,247,250,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,255,0,0,0,0,0,0,0,0,0,0,0,252,253,0,0,36,20,0,0,0,7,249,0,0,255,1,0,0,0,0,0,0,2,2,0,213,235,2,0,252,253,255,0,0,0,0,251,0,0,0,233,0,0,0,247,0,0,0,250,0,0,0,254,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,250,0,0,0,245,0,0,0,235,0,0,0,229,5, +2,0,0,226,240,2,0,247,246,7,0,0,1,255,0,0,0,0,0,0,254,0,0,49,24,249,0,11,7,3,0,0,0,255,0,244,248,253,0,0,254,255,0,0,0,0,0,0,0,0,0,0,1,254,0,12,3,247,0,253,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,246,250,255,0,59,35,8,0,82,44,239,0,0,249,1,0,0,0,0,0,0,0,0,0,0,1,255,0,0,0,10,0,117,186,11,0,243,243,248, +0,3,2,1,0,0,0,0,0,0,0,0,0,8,4,1,0,213,229,248,0,136,197,17,0,0,6,2,0,0,0,0,0,0,0,0,0,0,255,2,0,0,6,245,0,115,61,252,0,252,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,6,4,1,0,11,7,1,0,0,254,255,0,0,0,0,0,0,0,255,0,246,252,6,0,253,255,2,0,0,0,0,0,252,255,2,0,51,26,255,0,0,3,252,0,0,0,1,0,0,0,0,0,0, +255,2,0,210,232,3,0,3,0,254,0,0,0,0,229,0,0,0,235,0,0,0,245,0,0,0,250,0,0,0,254,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,251,0,0,0,247,0,0,0,0,0,0,0,227,3,1,1,0,234,243,253,0,214,237,6,0,0,4,0,0,0,0,0,0,0,252,1,0,38,19,250,0,29,18,4,0,253,0, +1,0,234,240,246,0,0,252,254,0,0,1,0,0,0,0,0,0,0,0,253,0,26,13,252,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,3,4,0,123,65,251,0,0,5,247,0,0,255,1,0,0,0,0,0,0,0,0,0,0,7,0,0,170,207,17,0,182,213,248,0,12,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,6,254,0,149,196,252,0,224,230,16,0,0,5,254,0,0,0,0,0, +0,0,0,0,0,250,1,0,77,41,240,0,57,35,8,0,246,250,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,11,3,252,0,16,5,247,0,0,0,2,0,0,0,0,0,0,1,1,0,238,246,252,0,252,255,0,0,0,0,0,0,5,5,2,0,55,29,253,0,0,254,254,0,0,0,0,0,0,1,255,0,0,248,7,0,212,233,255,0,5,3,0,0,0,0,0,227,0,0,0,0,0,0,0,247,0,0,0,251,0,0,0,255, +0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,248,0,0,0,252,0,0,0,225,1,1,0,0,249,250,252,0,202,229,5,0,0,2,1,0,0,0,0,0,0,255,1,0,0,9,250,0,48,26,0,0,252,253,255,0,239,250,8,0,0,254,11,0,0,0,255,0,0,0,0,0,0,254,255,0,34,20,5,0,3,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,245,249,255,0,72,41,7,0,61,37, +239,0,0,249,1,0,0,0,0,0,0,0,0,0,0,4,254,0,246,240,15,0,129,188,1,0,8,2,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,1,0,242,245,249,0,123,190,12,0,0,1,8,0,0,0,255,0,0,0,0,0,0,255,1,0,0,5,247,0,117,60,250,0,254,2,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,253,0,0,25,17,6,0,2,7,253,0,0,255,0,0,0,0,0,0,0,2,2, +0,227,238,253,0,251,251,252,0,253,255,255,0,22,13,4,0,51,23,247,0,0,252,0,0,0,0,0,0,0,3,255,0,228,240,6,0,225,236,253,0,5,3,0,0,0,0,0,225,0,0,0,252,0,0,0,248,0,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,248,0,0,0,244,0, +0,0,224,0,0,0,0,4,1,254,0,197,226,2,0,0,254,5,0,0,0,255,0,0,0,0,0,0,1,251,0,66,34,252,0,2,2,3,0,235,243,252,0,237,244,254,0,0,3,0,0,0,0,0,0,0,254,0,0,38,16,247,0,11,8,4,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,254,255,0,9,9,8,0,128,65,248,0,0,255,249,0,0,0,1,0,0,0,0,0,0,0,255,0,0,4,4,0,122,190,12,0,226,236,248,0, +7,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,1,0,182,212,250,0,186,215,17,0,0,7,255,0,0,0,0,0,0,0,0,0,0,249,1,0,67,40,240,0,66,38,6,0,245,249,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,255,1,0,35,17,252,0,0,5,252,0,0,255,1,0,0,0,0,0,0,255,0,0,224,244,11,0,3,0,255,0,249,251,0,0,51,28,3,0,9,14,247,0,0, +254,1,0,0,0,0,0,0,3,0,0,199,229,8,0,243,247,252,0,2,1,1,0,0,0,0,224,0,0,0,244,0,0,0,248,0,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,0,0,0,249,0,0,0,243,0,0,0,222,0,0,0,229,7,4,0,0,207,227,255,0,248,243,9,0,0,2,255,0,0,0,0,0, +0,252,255,0,66,32,248,0,19,12,5,0,239,246,253,0,220,240,9,0,0,2,0,0,0,0,0,0,0,253,1,0,34,18,251,0,25,15,2,0,251,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,250,1,0,92,53,4,0,38,29,239,0,0,251,1,0,0,0,0,0,0,0,0,0,0,6,255,0,201,219,20,0,163,204,252,0,14,7,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, +3,254,250,0,129,189,4,0,0,248,13,0,0,2,254,0,0,0,0,0,0,0,1,0,0,1,248,0,122,63,252,0,3,6,6,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,255,1,0,49,26,255,0,0,1,253,0,0,0,0,0,0,0,255,0,0,255,5,0,217,232,252,0,3,2,255,0,252,0,2,0,70,38,253,0,0,2,250,0,0,0,1,0,0,0,0,0,0,0,4,0,192,223,3,0,1,0,253,0,0,0,0,229,0,0,0,222,0, +0,0,243,0,0,0,249,0,0,0,253,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,248,0,0,0,243,0,0,0,248,0,0,0,219,4,3,1,0,230,241,251,0,200,229,7,0,0,4,0,0,0,0,0,0,0,252,1,0,23,19,248,0,51,30,3,0,242,247,253,0,207,231,3,0,0,2,1,0,0,0,0, +0,0,255,0,0,0,9,250,0,48,27,2,0,250,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,253, +255,0,26,18,9,0,124,60,244,0,0,252,251,0,0,0,1,0,0,0,0,0,0,1,254,0,0,250,11,0,121,187,6,0,255,252,250,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,1,0,209,226,247,0,145,201,15,0,0,6,2,0,0,0,0,0,0,0,0,0,0,250,1,0,52,33, +238,0,78,44,5,0,244,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,8,6,4,0,53, +26,250,0,0,253,255,0,0,0,0,0,0,1,0,0,0,247,5,0,221,238,2,0,2,0,255,0,18,12,6,0,72,35,247,0,0,252,0,0,0,0,0,0,0,1,255,0,0,246,9,0,199,225,255,0,6,4,0,0,0,0,0,219,0,0,0,248,0,0,0,243,0,0,0,248,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,255,0,0,0,250,0,0,0,244,0,0,0,249,0,0,0,217,0,0,0,0,254,253,253,0,182,220,6,0,0,2,3,0,0,0,0,0,0,0,1,0,0,3,248,0,82,44,255,0,255,0,1,0,199,226,2,0,0,254,3,0,0,0,0,0,0,0,1,0,0,0,250,0,69,35,253,0,253,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,251,2,0,110,60,1,0,15,18,240,0,0,252,3,0,0,0,0,0,0,0,0,0,0,7,2,0,149,202,17,0,202,222, +246,0,10,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,5,254,0,146,195,255,0,236,236,16,0,0,4,254,0,0,0,0,0,0,0,1,0,0,255,250,0,123,62,247,0,11,8,7,0,254,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,254,255,0,31,18,3,0,47,23,249,0,0,252,1,0,0,0,0,0,0,4,255,0,218,239,8,0,229,240,253,0,252,254,1,0, +53,30,2,0,23,18,246,0,0,252,1,0,0,0,0,0,0,5,255,0,198,229,8,0,224,237,251,0,6,3,1,0,0,0,0,217,0,0,0,249,0,0,0,244,0,0,0,250,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,245,0,0,0,239,0,0,0,216,0,0,0,238,7,4,255, +0,190,220,0,0,0,246,10,0,0,1,254,0,0,0,0,0,0,250,0,0,78,37,246,0,29,18,6,0,203,226,255,0,251,245,9,0,0,2,254,0,0,0,0,0,0,253,0,0,69,33,246,0,21,14,5,0,253,254,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,252,255,0,45,30,9,0,107,53,239,0,0,249,254,0,0,0,0,0,0,0,0,0,0,4,254,0,233,235,17,0,141,192,254,0,12,6,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,1,0,234,241,248,0,130,194,11,0,0,3,4,0,0,0,255,0,0,0,0,0,0,251,1,0,35,27,239,0,93,53,4,0,243,249,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,251,0,0,62,34,1,0,0,11,248,0,0,255,1,0,0,0,0,0,0,3,1,0,194,224,5,0,245,248,251,0,253,1,3,0,85,44,253,0,0,2,250,0,0,0,1,0,0,0,0,0,0,2,3,0,177,216,6,0,251, +251,253,0,0,0,0,238,0,0,0,216,0,0,0,239,0,0,0,245,0,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,0,0,0,247,0,0,0,240,0,0,0,233,0,0,0,213,6,3,0,0,221,234,250,0,191,224,11,0,0,5,0,0,0,0,0,0,0,254,2,0,15,17,243,0,75, +41,2,0,218,234,251,0,197,227,9,0,0,5,0,0,0,0,0,0,0,252,2,0,18,19,246,0,64,36,3,0,247,251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,251,254,3,0,126,64,251,0,0,8,244,0,0,255,2,0,0,0,0,0,0,0,255,0,0,3,6,0,123,189,10,0,237,242,248,0,4,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,7,255,0,168,205,252, +0,209,224,17,0,0,6,255,0,0,0,0,0,0,0,1,0,0,252,253,0,120,60,244,0,24,17,8,0,252,253,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,2,4,4,0,80,41,250,0,0,254,252,0,0,0,0,0,0,0,255,0,0,254,6,0,188,220,3,0,255,255,253,0,30,19,6,0,79,38,246,0,0,251,255,0,0,0,0,0,0,1,254,0,255,244,10,0,185,217,0,0,9,5,255,0,0,0,0,213,0,0,0,233,0,0,0,240,0,0,0,247,0,0,0,253,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,249,0,0,0,242,0,0,0,248,0,0,0,213,0,0,1,0,255,253,252,0,168,210,4,0,0,1,6,0,0,0,255,0,0,0,0,0,0,255,252,0,98,51,249,0,3,2,1,0,172,213,6,0,0,1,4,0,0,0,0,0,0,0,0,0,0,255,250, +0,99,50,249,0,1,3,4,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,249,255,0,74,44,9,0,73,43,239,0,0,250,1,0,0,0, +0,0,0,0,0,0,0,7,255,0,193,216,18,0,174,209,251,0,12,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,251,250,249,0,128,191,8,0,0,255,8,0,0,1,255,0,0,0,0,0,0,252,2,0,17,18,241,0,108, +59,2,0,244,251,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,252,255,0,42,24,7,0,62,32,245,0,0,251,1,0,0,0,0,0,0, +4,255,0,238,239,10,0,204,228,254,0,254,255,1,0,82,46,2,0,8,15,244,0,0,254,2,0,0,0,0,0,0,6,0,0,185,223,13,0,224,235,251,0,6,3,1,0,0,0,0,213,0,0,0,248,0,0,0,242,0,0,0,249,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,252,0,0,0,244,0,0,0,238,0,0,0,211,0,0,0,226,10,5,0,0,187,218,254,0,237,237,11,0,0,4,255,0,0,0,0,0,0,251,1,0,52,31,243,0,64,36,4,0,177,212,254,0,244,239,12,0,0,4,254,0,0,0,0,0,0,250,1,0,59,35,242,0,64,37,6,0,246,249,255,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,254,255,0,11,9,7,0,131,67,246,0,0,0,249,0,0,255,1,0,0,0,0,0,0,1,254,0,0,249,12,0,126,189,5,0,1,253,250,0,1,1, +1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,7,1,0,191,216,249,0,179,212,16,0,0,7,255,0,0,0,0,0,0,0,0,0,0,250,254,0,111,53,239,0,42,27,8,0,248,252,255,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,252,2,0,95,52,253,0,0,9,246,0,0,255,1,0,0,0,0,0,0,4,1,0,176,216,9,0,231,239,249,0,17,12,7,0,99,48,246, +0,0,253,253,0,0,0,0,0,0,0,255,0,0,255,6,0,162,207,2,0,1,255,252,0,0,0,0,226,0,0,0,211,0,0,0,238,0,0,0,244,0,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,0,0,0,247,0,0,0,238,0,0,0,239,0,0,0,208,2, +2,1,0,234,242,250,0,166,212,10,0,0,4,2,0,0,0,0,0,0,255,1,0,0,3,248,0,111,59,254,0,228,240,252,0,163,212,11,0,0,4,1,0,0,0,0,0,0,0,1,0,0,2,248,0,128,66,249,0,5,6,7,0,254,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,242,249,1,0,104,58,3,0,36,27,239,0,0,251,1,0,0,0,0,0,0,0,0,0,0,7,1,0,148,202,16,0,206,224,247,0,9,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,252,0,136,191,4,0,0,247,11,0,0,1,255,0,0,0,0,0,0,254,2,0,0,10,245,0,123,66,255,0,252,254,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,252,254,0,40,26,9,0,102,49,243,0,0,250,255,0,0,0,0,0,0,1,255,0,0,250,9,0,167,210,3,0,251,253,254,0,78,44,4,0,32,25,241,0,0,251,2,0,0,0,0,0,0,5,255,0,223,232,13,0,192,219,253,0,9, +6,0,0,0,0,0,208,0,0,0,239,0,0,0,238,0,0,0,247,0,0,0,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,249,0,0,0,240,0,0,0,238,0,0,0,207,0,0,0,244,9,4,254,0,163,206,2,0,0,246,10,0,0,1,254,0,0,0,0,0,0, +250,1,0,74,40,242,0,59,35,5,0,148,196,0,0,0,246,12,0,0,1,254,0,0,0,0,0,0,250,1,0,47,33,239,0,108,61,5,0,241,248,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,248,252,255,0,40,26,9,0,124,61,241,0,0,250,253,0,0,0,1,0,0,0,0,0,0,4,254,0,238,237,16,0,144,194,255,0,11,6,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,8,4,1,0,210,228,248,0,156,206,16,0,0,7,0,0,0,0,0,0,0,0,0,0,0,250,0,0,79,44,238,0,65,40,8,0,245,249,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,255,255,255,0,250,254,5,0,123,66,254,0,0,11,244,0,0,254,2,0,0,0,0,0,0,6,255,0,194,223,15,0,203,223,248,0,16,12,8,0,113,57,246,0,0,254,252,0,0,0,0,0,0,0,0,0,0,3,3,0,155,205,10,0,243,247,250,0,2,1,1,244,0,0,0,207,0,0,0,238,0,0,0,240,0,0,0,249,0,0, +0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,251,0,0,0,243,0,0,0,235,0,0,0,217,0,0,0,205,7,4,1,0,217,231,248,0,168,213,14,0,0,7,1,0,0,0,0,0,0,255,1,0,0,6,246,0,124,65,254,0,214,233,253,0,145,203, +16,0,0,7,2,0,0,0,0,0,0,0,1,0,0,250,252,0,126,65,236,0,63,40,9,0,243,248,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,252,0,4,0,132,70,253,0,1,10,243, +0,0,254,2,0,0,0,0,0,0,0,255,0,0,4,6,0,128,193,13,0,233,240,247,0,4,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,5,254,0,145,195,0,0,249,241,14, +0,0,2,254,0,0,0,0,0,0,255,1,0,0,1,247,0,132,68,247,0,7,7,7,0,254,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,241,248,1,0,85,50,7,0,81,46,236,0,0,249, +0,0,0,0,0,0,0,1,255,0,0,254,8,0,144,197,5,0,243,247,252,0,84,47,5,0,38,28,243,0,0,251,1,0,0,0,0,0,0,4,254,0,239,237,13,0,170,209,252,0,11,6,255,0,0,0,0,205,0,0,0,217,0,0,0,235,0,0,0,243,0,0,0,251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,248,0,0,0,238,0,0,0,242,0,0,0,203,0,0,0,252,5,3,253,0,147,199,2,0,0,248,10,0,0,1,255,0,0,0,0,0,0,250,1,0,72,42,240,0,74,43,4,0,133,187,252,0,231,235,17,0,0,5,253,0,0,0,0,0,0,254,2,0,0,4,246, +0,166,83,244,0,35,25,11,0,246,249,255,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,249,255,0,81,46,7,0,72,43,238,0,0,249,1,0,0,0,0,0,0,0,0,0,0,6,254,0,210,225,16,0,168,206, +251,0,13,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,3,1,0,223,236,249,0,143,202,13,0,0,6,2,0,0,0,0,0,0,0,0,0,0,250,2,0,43,30,238,0,98, +55,4,0,242,249,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,245,249,255,0,45,31,11,0,151,75,242,0,0,252,249,0,0,255,1,0,0,0,0,0,0,7,0,0,184,214,17,0,186,215,246,0, +26,18,8,0,122,60,244,0,0,254,250,0,0,0,1,0,0,0,0,0,0,4,2,0,148,203,11,0,233,240,250,0,4,2,1,252,0,0,0,203,0,0,0,242,0,0,0,238,0,0,0,248,0,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,251,0,0,0,241,0,0,0,232,0,0,0,206,0,0,0,201,8,4,1,0,210,227,249,0,169,211,15,0,0,7,255,0,0,0,0,0,0,255,1,0,0,1,246,0,134,68,249,0,244,248,255,0,106,179,9,0,0,255,10,0,0,1,255,0,0,0,0,0,0,251,2,0,16,16,239,0,176,90,247,0,25,18,9,0,245,250,255, +0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,253,255,0,23,17,9,0,140,71,245,0,0,254,249,0,0,0,1,0,0,0,0,0,0,1,255,0,0,255,10,0,128,190,9,0,251,249,249,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,5,254,0,156,201,255,0,239,237,15,0,0,4,254,0,0,0,0,0,0,0,0,0,0,250,253,0,126,62,243,0,33,22,9,0,249,252,255,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,246,250,255,0,21,16,9,0,170,86,246,0,5,11,241,0,0,254,2,0,0,0,0,0,0,4,254,0,254,244,14,0,125,187,3,0,248,250,254,0,104,59,4,0,28,25,241,0,0, +251,2,0,0,0,0,0,0,4,254,0,239,237,15,0,161,203,255,0,12,6,255,0,0,0,0,201,0,0,0,206,0,0,0,232,0,0,0,241,0,0,0,251,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,247,0, +0,0,237,0,0,0,242,0,0,0,199,0,0,0,249,8,3,253,0,141,195,2,0,0,246,12,0,0,2,254,0,0,0,0,0,0,250,3,0,47,33,239,0,107,61,5,0,176,206,248,0,136,190,18,0,0,7,2,0,0,0,255,0,0,0,0,0,0,250,2,0,30,24,236,0,179,95,249,0,26,18,10,0,244,249,255,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,252,3,0,129,70,1,0,19,19,239,0,0,252,2,0,0,0,0,0,0,0,0,0,0,6,255,0,183,213,15,0,190,217,247,0,11,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,1,0,232,240,248,0,143,201,13,0,0,4,3,0,0,0,0,0,0,0,0,0,0,254,2,0,8,15,241,0,129,67,255,0,250,253,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,245,250,255,0,17,13,8,0,174,93,250,0,29,23,237,0,0,250,2,0,0,0,0,0,0,1,255,0,0,4,7,0,112,187,16,0,209,225,246,0,50,31,10,0,123,58,240,0,0,250,253,0,0,0,0,0,0,0,0,0,0,4,3,0,138,198,12,0,233, +241,249,0,3,2,1,249,0,0,0,199,0,0,0,242,0,0,0,237,0,0,0,247,0,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,251,0,0,0,241,0,0,0,231,0,0,0,206,0,0,0,197,7,4,1, +0,214,230,247,0,144,201,16,0,0,6,2,0,0,0,0,0,0,0,0,0,0,250,252,0,132,66,243,0,44,30,8,0,131,186,251,0,177,209,24,0,0,9,1,0,0,0,0,0,0,0,0,0,0,249,2,0,34,25,237,0,186,96,246,0,43,30,12,0,241,248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,243,248,255,0,78,47,9,0,89,51,236,0,0,249,0,0,0,0,0,0,0,0,0,0,0,1,255,0,0,249,11,0,135,193,4,0,3,254,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,6,255,0,163,204,252,0,232,234,14,0,0,4,254,0,0,0,0,0,0,0,0,0,0,248,0,0,82,49,237,0,76,47,9,0,243,248,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,243,249,255,0,26,17,9,0,178,95,251,0,44,30,236,0,0,249,1,0,0,0,0,0,0,0,0,0,0,8,1,0,162,202,22,0,161,198,246,0,11,9,4,0,135,72,253,0,0,11,243,0,0,254,2,0,0,0,0,0,0,6,254,0,219,228,17,0,161,203,252,0,13,6,255,0,0,0,0,197,0,0,0,206,0,0,0,231, +0,0,0,241,0,0,0,251,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,247,0,0,0,236,0,0,0,239,0,0,0,196,0,0,0,236,13,6,255,0,146,196,255,0,233,235,16,0, +0,4,254,0,0,0,0,0,0,254,2,0,7,12,240,0,142,75,253,0,1,0,255,0,105,173,254,0,198,219,23,0,0,8,254,0,0,0,0,0,0,0,0,0,0,249,1,0,26,22,238,0,191,97,242,0,82,50,12,0,240,249,2,0,252,253,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,252, +255,0,28,20,10,0,149,74,243,0,0,254,248,0,0,255,1,0,0,0,0,0,0,0,0,0,0,6,255,0,166,210,15,0,207,226,249,0,9,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,1,0,236,242,249,0,142,198,11,0,0,4,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,255,248,0,140,70,245,0,19,15,9,0,252,253,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,240,247,0, +0,52,33,11,0,189,100,247,0,42,29,235,0,0,248,1,0,0,0,0,0,0,0,0,0,0,8,254,0,197,218,24,0,119,179,252,0,249,252,253,0,97,56,8,0,67,41,237,0,0,249,1,0,0,0,0,0,0,1,255,0,0,0,8,0,123,188,10,0,246,247,249,0,2,2,1,236,0,0,0,196,0,0,0,239,0,0,0,236,0,0,0,247, +0,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,250,0,0,0,241,0,0,0,230,0,0,0,216,0,0,0,193,3,2,1,0,237,241,248,0,120,187,11,0,0,2,6,0,0,1,255, +0,0,0,0,0,0,249,1,0,69,43,235,0,110,63,9,0,234,241,249,0,93,167,2,0,205,222,24,0,0,8,255,0,0,0,255,0,0,0,0,0,0,250,2,0,5,8,240,0,161,87,234,0,141,79,7,0,6,8,8,0,243,248,255,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,254,255,0,254,2,6,0,146,79, +255,0,16,17,239,0,0,252,2,0,0,0,0,0,0,0,0,0,0,1,254,0,0,246,13,0,143,196,2,0,8,3,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,6,255,0,173,211,255,0,237,237,15,0,0,4,253,0,0,0,0,0,0,0,0,0,0,251,2,0,25,22,238,0,131,71,0,0,245,252,4,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,252,255,0,245,253,4,0,102,60,10,0,188,96,239, +0,23,19,238,0,0,249,2,0,0,0,0,0,0,0,0,0,0,8,255,0,207,222,22,0,94,168,1,0,243,245,248,0,49,31,10,0,141,68,239,0,0,251,250,0,0,0,1,0,0,0,0,0,0,7,0,0,174,208,18,0,185,214,248,0,12,7,1,0,0,0,0,193,0,0,0,216,0,0,0,230,0,0,0,241,0,0,0,250,0,0,0,255,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,247,0,0,0,237,0,0,0,232,0,0,0,194,0,0,0,212,12,7,0,0,175,210,249,0,178,211,20,0,0,7,255,0,0,0,0,0,0,0, +1,0,0,250,252,0,134,69,239,0,65,40,13,0,230,238,246,0,81,163,2,0,191,214,24,0,0,9,1,0,0,1,255,0,0,0,0,0,0,252,2,0,0,252,248,0,103,60,230,0,198,103,249,0,84,51,10,0,250,0,6,0,241,248,0,0,250,253,255,0,255,255,0,0,254,254,255,0,241,250,3,0,126,71,6,0,67, +41,232,0,0,249,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,0,159,210,15,0,215,231,248,0,7,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,1,0,234,241,248,0,151,203,11,0,0,4,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,0,0,91,52,236,0,91,52,7,0,241,247,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,252,255,0,240,248,1,0,34,23,11,0,168,91,3,0,142,80,233,0,0,4,244, +0,0,250,2,0,0,0,0,0,0,0,255,0,0,9,255,0,207,222,21,0,84,166,5,0,237,241,246,0,14,12,9,0,153,81,250,0,1,10,243,0,0,254,2,0,0,0,0,0,0,4,253,0,242,239,16,0,125,186,1,0,7,2,252,0,0,0,0,212,0,0,0,194,0,0,0,232,0,0,0,237,0,0,0,247,0,0,0,255,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,252,0,0,0,241,0,0,0,229,0,0,0,227,0,0,0,191,1,1,0,248,6,1,252,0,118,182,1,0,240,238,18,0,0,4,254,0,0,0,0, +0,0,254,2,0,0,5,243,0,160,81,244,0,29,20,11,0,241,242,247,0,89,166,0,0,162,201,27,0,0,6,5,0,0,2,254,0,0,0,0,0,0,255,1,0,0,248,0,0,28,21,237,0,157,87,235,0,190,100,251,0,101,59,10,0,25,17,9,0,250,255,3,0,249,0,7,0,120,69,9,0,111,61,232,0,0,249,254,0,0, +0,1,0,0,0,0,0,0,0,0,0,0,1,255,0,0,246,11,0,152,200,1,0,8,3,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,5,255,0,167,207,255,0,247,241,14,0,0,2,254,0,0,0,0,0,0,0,0,0,0,0,1,0,0,254,249,0,152,76,239,0,52,34,12,0,238,246,0,0,247,250,255,0,243,248,0,0,243,250,3,0,30,21,10,0,136,77,7,0,202,103,240,0,72,44,232,0,0,249,251,0,0, +254,2,0,0,0,0,0,0,1,255,0,0,9,1,0,187,211,24,0,80,163,4,0,240,242,246,0,255,2,5,0,136,75,2,0,46,31,236,0,0,250,2,0,0,0,0,0,0,1,255,0,0,2,8,0,112,184,12,0,228,236,247,0,6,4,1,248,0,0,0,191,0,0,0,227,0,0,0,229,0,0,0,241,0,0,0,252,0,0,0,255,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,15,0,0,0,32,0,0,0,38,0,0,0,90,0,0,0,76,243,249,255,0,76,47,12,0,165,90,234,0, +0,251,248,0,0,255,2,0,0,0,0,0,0,8,254,0,193,217,25,0,84,162,0,0,255,251,248,0,252,0,5,0,102,59,7,0,138,70,239,0,0,8,244,0,0,249,1,0,0,0,1,0,0,0,0,0,0,0,255,0,0,5,255,0,0,2,4,0,253,244,9,0,216,236,5,0,7,5,1,0,36,24,243,0,0,253,250,0,0,255,2,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,7,255,0,175,207,24,0,94,167,252,0,15,7,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,248,1,0,145,81,6,0,99,59,231,0,0,248,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,254,0,240,241,17,0,114,185,12,0,231,240,252,0,37,22,2,0,72,36,253,0,73,36,245,0,1,11,245,0,0,250,254,0,0,254,2,0,0,0,0,0,0,0,0,0,0,4,254,0,0, +2,8,0,151,198,21,0,126,183,251,0,1,253,249,0,246,252,3,0,110,63,9,0,134,76,233,0,0,250,251,0,0,255,1,0,0,0,0,0,0,8,255,0,165,202,27,0,106,172,250,0,12,6,253,0,1,0,0,180,0,0,0,166,0,0,0,218,0,0,0,224,0,0,0,241,0,0,0,252,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,6,0,0,0,21,0,0,0,37,0,0,0,45,0,0,0,97,0,0,0,48,241,248,1,0,132,77,9,0,111,63,230,0, +0,248,254,0,0,0,1,0,0,0,255,0,0,8,1,0,165,203,26,0,107,173,252,0,9,2,249,0,244,250,2,0,51,32,10,0,145,75,249,0,47,34,237,0,0,251,253,0,0,252,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,254,0,0,3,0,0,0,0,0,0,0,251,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,4, +7,0,78,160,20,0,196,218,246,0,10,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,247,250,255,0,50,32,10,0,187,99,237,0,0,0,248,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,254,0,0,4,6,0,0,254,3,0,0,3,250,0,0,0,253,0,0,251,0,0,0,254,2,0,0,0,0,0,0,0,0,0,0,1,255,0,0,7,0,0,247,240,14,0,108,184,15,0,172,206,247,0,11,4,253,0,242, +249,1,0,84,51,11,0,160,86,235,0,0,254,247,0,0,254,2,0,0,0,0,0,0,6,254,0,218,231,24,0,68,156,2,0,250,249,248,0,4,2,1,208,0,0,0,159,0,0,0,211,0,0,0,219,0,0,0,235,0,0,0,250,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228, +228,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,251,0,0,0,240,0,0,0,228,0,0,0,224,0,0,0,186,0,0,0,232,12,6,254,0,132,186,252,0,194,217,22,0,0,8,0,0,0,0,0,0,0,0,1,0,0,248,255,0,91, +53,232,0,129,73,5,0,246,252,4,0,14,7,255,0,210,226,245,0,72,157,3,0,127,182,27,0,247,245,16,0,0,9,0,0,0,4,254,0,0,0,255,0,0,0,0,0,0,254,2,0,0,251,2,0,0,251,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,255,0,220,231,9,0,203,224,252,0,9,5,1,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,0,0,208,228,252,0,211, +230,11,0,0,4,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,2,0,0,250,251,0,0,252,248,0,0,249,255,0,0,249,2,0,0,254,2,0,0,0,0,0,0,0,255,0,0,6,254,0,0,4,7,0,178,209,25,0,55,154,12,0,172,204,245,0,13,6,253,0,243,250,1,0,66,41,10,0,160,81,238,0,0,0,247,0,0, +254,2,0,0,0,0,0,0,4,254,0,253,246,15,0,95,171,5,0,244,245,248,0,4,2,1,232,0,0,0,186,0,0,0,224,0,0,0,228,0,0,0,240,0,0,0,251,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,248,0,0,0,236,0,0,0,224,0,0,0,206,0,0,0,184,3,2,1,253,0,253,249,0,101,173,3,0,229,232,19,0,0,6,253,0,0,0,0,0,0,0,1,0,0,249,253,0,111,63,234,0,115,66,8,0,241,249,2,0, +9,5,0,0,1,255,249,0,142,189,246,0,53,151,11,0,144,191,26,0,239,241,17,0,0,7,5,0,0,7,255,0,0,5,254,0,0,4,254,0,0,4,254,0,0,6,254,0,0,7,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,201,232,12,0,243,248,253,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,248,250,252,0,188,224,8,0,0,3,1,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,1,254,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,255,0,0,2,254,0,0,7,254,0,0,6,6,0,209,224,21,0,84,162,21,0,94,165,251,0,231,238,247,0,14,8,0,0,241,248,0,0,62,39,10,0,178,90,242,0,0,6,244,0,0,252,2,0,0,0,0,0,0,2,254,0,0,0,9,0,94,176,16,0,212,228,246, +0,11,6,1,253,0,0,0,184,0,0,0,206,0,0,0,224,0,0,0,236,0,0,0,248,0,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,0,0,0,245,0,0,0,231,0,0,0,7,0,0,0,186,0,0,0,17,8,4,1,79,235,239,246,0,86,170,11,0,190,97,18,0,7,10,239,0,0,251,2,0,0,255,1,0,0,249,249,0,126,70,234,0,10,4,21,0,131,186,250,0,11,4,252,0,16,8,255,0,234,241,247,0,125,180, +2,0,148,195,9,0,63,36,11,0,69,36,254,0,44,20,248,0,24,12,251,0,2,0,0,0,227,241,3,0,208,239,17,0,95,43,234,0,0,3,246,0,0,255,1,0,0,254,0,0,41,19,249,0,6,6,4,0,254,255,249,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,255,0,0,247,251,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,254,10,0,0,7,248,0,0,2,253,0, +0,255,0,0,0,1,1,0,0,254,6,0,248,242,6,0,190,226,12,0,162,207,4,0,190,218,251,0,251,250,245,0,12,7,1,0,0,0,1,0,239,248,0,0,62,37,11,0,181,90,242,0,0,7,241,0,0,251,2,0,0,0,0,0,0,1,255,0,0,5,7,0,121,180,21,0,177,208,245,0,16,8,0,0,255,0,0,180,0,0,0,186, +0,0,0,222,0,0,0,231,0,0,0,245,0,0,0,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,6,0,0,0,21,0,0,0,36,0,0,0,37,0,0,0,90,1,0,0,64,240,248,255,0,65,41,12,0,178,90,239,0,0,5,243,0,0,252,2,0,0,0,0,0,0,1,255,0,0,6,5,0,151,195,21,0,123,183,253,0,4,0,250,0,6,3,1,0,0,0,0,0,253,254,255,0,247,251,0,0,255,1,3,0, +7,4,0,0,13,9,6,0,1,1,0,0,240,245,250,0,253,1,6,0,210,109,247,0,29,22,238,0,0,251,2,0,0,0,255,0,0,6,3,0,123,182,26,0,142,191,246,0,18,8,254,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,250,254,0,19,15,10,0,199,102,245,0,19,17,240,0,0,252,2,0,0,1,255,0,0,255,9,0,87,172,26,0,12,1,244,0,45,25,1,0,6,4,4,0,232,240,247,0, +219,240,9,0,210,229,253,0,229,239,251,0,1,255,253,0,10,6,0,0,1,1,1,0,255,255,0,0,241,249,1,0,77,46,10,0,167,84,241,0,0,6,241,0,0,252,2,0,0,0,0,0,0,1,255,0,0,6,3,0,143,192,24,0,126,182,249,0,14,6,254,0,1,1,0,192,0,0,0,166,0,0,0,219,0,0,0,220,0,0,0,235, +0,0,0,250,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +255,0,0,0,251,0,0,0,240,0,0,0,227,0,0,0,10,0,0,0,178,255,0,0,9,15,8,1,55,190,215,245,0,90,173,18,0,166,86,254,0,0,4,245,0,0,252,2,0,0,255,1,0,0,250,251,0,105,62,232,0,23,12,23,0,109,175,7,0,247,251,249,0,9,4,1,0,3,2,1,0,12,7,0,0,0,0,254,0,255,255,0,0, +246,247,247,0,0,0,0,0,7,2,1,0,244,249,248,0,172,217,11,0,113,26,240,0,0,251,0,0,0,0,1,0,0,251,252,0,133,70,235,0,246,251,21,0,155,197,248,0,12,5,252,0,4,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,245,249,255,0,18,14,10,0,167,88,251,0,19,20,241,0,0,249,2,0,0,0,0,0,0,4,255,0,222,232,9,0,190,214,244,0,248,249,250,0,170,2,2,0,2,0,252,0,254, +255,255,0,4,1,245,0,7,4,0,0,12,6,1,0,0,0,1,0,0,0,0,0,254,254,255,0,242,250,2,0,100,59,10,0,144,74,236,0,0,3,246,0,0,252,2,0,0,0,0,0,0,1,255,0,0,8,2,0,154,195,25,0,129,183,251,0,13,6,253,0,1,1,1,201,0,0,0,178,0,0,0,229,0,0,0,227,0,0,0,240,0,0,0,251,0, +0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254, +0,0,0,247,0,0,0,236,0,0,0,223,0,0,0,221,0,0,0,177,0,0,0,208,16,8,0,0,179,208,245,0,96,172,19,0,0,252,12,0,0,5,254,0,0,0,0,0,0,255,1,0,0,248,254,0,82,50,231,0,182,98,255,0,28,19,10,0,243,248,255,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,3,2,1,0,3,2,1,0,1,1,0, +0,9,5,255,0,153,199,254,0,240,238,16,0,0,5,253,0,0,0,0,0,0,255,2,0,0,0,247,0,143,79,233,0,140,79,5,0,4,6,8,0,244,249,255,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,253,255,0,239,248,1,0,53,34,12,0,189,100,250,0,51,34,235,0,0,249,1,0,0,0,0,0,0,0,255,0,0,3,4,0,146,201,10,0,250,251,251,0,15,9,1,0,15,7,255,0,13,7,254,0,15,8,0,0,11,7,1,0,4,3,1,0,0,0,0, +0,0,0,0,0,248,252,255,0,250,1,7,0,136,78,9,0,144,79,233,0,0,1,246,0,0,252,2,0,0,0,0,0,0,1,255,0,0,7,2,0,158,198,25,0,121,182,251,0,9,4,250,0,2,1,1,208,0,0,0,177,0,0,0,221,0,0,0,223,0,0,0,236,0,0,0,247,0,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,253,0,0,0,245,0,0,0,231,0,0, +0,220,0,0,0,215,0,0,0,174,0,0,0,210,15,8,255,0,172,206,245,0,84,168,18,0,0,249,13,0,0,5,253,0,0,0,0,0,0,0,1,0,0,248,1,0,47,32,232,0,197,100,244,0,72,45,11,0,240,248,2,0,253,254,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,1,0,232,238,248,0,106,179, +12,0,0,0,10,0,0,2,254,0,0,0,0,0,0,254,2,0,0,251,250,0,104,61,231,0,194,102,250,0,73,44,10,0,247,254,6,0,245,249,255,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,249,252,255,0,240,248,1,0,21,15,9,0,140,79,8,0,186,97,237,0,32,22,235,0,0,249,1,0,0,0,0,0,0,0,0,0,0,9,255,0,187,212,20,0,164,204,251,0,12,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,248,255,0,25,18,11,0, +174,94,255,0,108,63,230,0,0,251,250,0,0,254,2,0,0,0,0,0,0,1,254,0,0,7,6,0,150,194,26,0,114,177,252,0,6,0,250,0,3,2,1,210,0,0,0,174,0,0,0,215,0,0,0,220,0,0,0,231,0,0,0,245,228,228,228,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,28,28,28,1,0,0,0,4,0,0,0,12,0,0,0, +26,0,0,0,37,0,0,0,45,0,0,0,82,0,0,0,48,241,248,0,0,58,36,10,0,173,88,245,0,12,15,238,0,0,249,2,0,0,0,0,0,0,0,0,0,0,4,254,0,0,0,9,0,148,197,20,0,134,189,253,0,247,247,248,0,11,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,241,248,1,0,104,61,10,0,139,77, +235,0,0,254,247,0,0,252,2,0,0,0,0,0,0,0,0,0,0,5,254,0,0,0,8,0,197,221,14,0,146,198,6,0,193,220,253,0,245,248,250,0,8,4,255,0,6,3,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,253,253,255,0,247,251, +0,0,1,2,4,0,37,24,5,0,92,50,1,0,102,48,243,0,9,16,242,0,0,249,255,0,0,255,2,0,0,0,0,0,0,0,255,0,0,8,255,0,215,227,21,0,77,161,5,0,242,245,248,0,6,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,253,255,0,247,252,3,0,81,48,9,0,148,74,244,0,14,16,238, +0,0,249,1,0,0,0,1,0,0,0,0,0,0,4,254,0,0,1,8,0,129,186,21,0,142,191,249,0,11,5,252,0,2,1,1,208,0,0,0,174,0,0,0,211,0,0,0,219,0,0,0,230,0,0,0,244,0,0,0,252,228,228,228,255,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,28,28,28,1,0,0,0,4,0,0,0,12,0,0,0, +26,0,0,0,37,0,0,0,41,0,0,0,79,0,0,0,55,244,249,0,0,37,25,10,0,165,86,249,0,38,28,235,0,0,248,0,0,0,0,1,0,0,0,0,0,0,1,255,0,0,7,1,0,215,227,20,0,114,182,7,0,195,219,248,0,12,5,253,0,4,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,241,249,1,0,86,52,10,0,157, +79,239,0,0,7,242,0,0,250,3,0,0,0,0,0,0,0,0,0,0,0,255,0,0,6,255,0,0,255,7,0,217,229,12,0,169,214,10,0,183,216,254,0,221,236,253,0,247,248,252,0,3,1,255,0,4,3,255,0,4,2,1,0,2,1,0,0,0,255,255,0,0,1,1,0,254,255,0,0,252,254,255,0,253,253,1,0,252,255,1,0,5, +5,2,0,27,15,5,0,60,34,1,0,81,42,252,0,70,33,243,0,0,11,247,0,0,250,254,0,0,254,2,0,0,0,0,0,0,0,0,0,0,1,254,0,0,8,2,0,197,218,23,0,97,170,2,0,238,243,247,0,9,4,1,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,0,242,249,1,0,25,17,8,0,127,69,0,0,91,52, +237,0,0,254,248,0,0,252,2,0,0,0,0,0,0,0,0,0,0,6,253,0,0,249,14,0,103,178,17,0,165,203,246,0,15,7,254,0,1,1,1,201,0,0,0,177,0,0,0,215,0,0,0,219,0,0,0,230,0,0,0,244,0,0,0,252,228,228,228,255,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0, +0,28,28,28,1,0,0,0,4,0,0,0,12,0,0,0,25,0,0,0,36,0,0,0,35,0,0,0,78,1,0,0,64,246,250,255,0,12,11,9,0,148,81,0,0,77,46,233,0,0,250,252,0,0,254,2,0,0,0,0,0,0,0,0,0,0,6,254,0,0,251,10,0,156,203,18,0,139,194,0,0,229,238,247,0,13,6,255,0,3,2,1,0,0,0,0,0,0,0, +0,0,0,0,0,0,241,248,0,0,50,32,9,0,152,79,248,0,41,29,239,0,0,250,253,0,0,254,2,0,0,0,0,0,0,0,0,0,0,0,255,0,0,5,255,0,0,3,3,0,0,247,8,0,212,234,9,0,195,225,5,0,205,230,3,0,221,238,1,0,234,240,251,0,246,249,254,0,0,2,3,0,0,0,253,0,7,4,0,0,24,16,8,0,30, +13,252,0,48,28,0,0,56,28,251,0,52,23,248,0,6,14,247,0,0,0,252,0,0,250,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,255,0,0,7,255,0,0,251,10,0,147,199,19,0,133,187,252,0,253,252,249,0,8,4,1,0,255,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,246,249,255,0,2,5,6,0,88,49,5,0,132, +66,244,0,17,19,240,0,0,249,0,0,0,255,1,0,0,0,0,0,0,0,255,0,0,8,255,0,232,235,18,0,93,173,12,0,200,220,245,0,15,8,0,0,0,0,0,192,0,0,0,178,0,0,0,221,0,0,0,220,0,0,0,231,0,0,0,244,0,0,0,252,228,228,228,255,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228, +228,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,4,0,0,0,11,0,0,0,24,0,0,0,34,0,0,0,27,0,0,0,75,0,0,0,76,250,253,255,3,252,0,6,0,111,63,7,0,127,65,236,0,0,5,244,0,0,250,3,0,0,0,0,0,0,0,0,0,0,1,254,0,0,7,2,0,240,238,15,0,135,196,12,0,165,205,253,0,241,245, +249,0,13,6,255,0,2,2,1,0,0,0,0,0,0,0,0,0,246,250,255,0,9,8,8,0,111,62,3,0,118,57,240,0,0,11,244,0,0,250,255,0,0,254,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,0,0,4,255,0,0,3,1,0,0,254,3,0,0,251,8,0,248,245,252,0,241,252,9,0,255,1,2,0,1,0,254,0,14,2,247,0,9, +12,4,0,0,5,248,0,0,2,254,0,0,254,254,0,0,252,0,0,0,254,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,6,255,0,0,1,6,0,205,222,14,0,125,190,10,0,195,218,246,0,12,5,254,0,3,2,1,0,0,0,0,0,0,0,0,0,255,255,0,0,247,251,255,0,254,0,3,0,62,38,8,0,124,64,249,0,54,35, +240,0,0,253,250,0,0,252,2,0,0,0,0,0,0,0,0,0,0,2,254,0,0,6,4,0,185,212,22,0,109,177,1,0,235,240,247,0,11,7,1,253,0,0,0,180,0,0,0,181,0,0,0,229,0,0,0,222,0,0,0,232,0,0,0,245,0,0,0,252,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228, +228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,3,0,0,0,11,0,0,0,20,0,0,0,29,0,0,0,25,0,0,0,70,0,0,0,72,254,255,255,24,242,249,2,0,60,37,9,0,149,77,248,0,35,26,237,0,0,249,254,0,0,255,2,0,0,0,0,0,0,0,0,0,0,4,254,0,0,4,4,0,224,231,16,0,142, +199,10,0,175,209,252,0,240,245,249,0,11,5,255,0,4,3,1,0,0,0,0,0,253,254,255,0,244,250,2,0,39,25,8,0,106,58,255,0,98,46,242,0,0,11,245,0,0,252,254,0,0,252,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,254,0,0,1,1,0,0,2,255,0,0,0,0,0,0,0,0,0,0,0,1,0, +0,253,255,0,0,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,254,0,0,5,0,0,0,254,8,0,211,226,12,0,143,199,8,0,179,212,252,0,253,252,250,0,10,6,1,0,0,0,0,0,0,0,0,0,254,255,255,0,246,250,0,0,1,3,4,0,56,32,6,0,114,60,252,0,69,38,241,0,0,4,247,0,0,250, +1,0,0,0,1,0,0,0,0,0,0,0,255,0,0,7,255,0,0,248,13,0,123,189,16,0,151,197,251,0,3,0,250,0,7,3,1,232,0,0,0,184,0,0,0,186,0,0,0,231,0,0,0,227,0,0,0,236,0,0,0,245,0,0,0,253,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,3,0,0,0,9,0,0,0,16,0,0,0,25,0,0,0,34,0,0,0,50,0,0,0,70,0,0,0,48,245,249,255,0,12,10,8,0,121,67,2,0,106,56,238,0,0,4,246,0,0,250,1,0,0,0,1,0,0,0,0,0,0,0,255,0,0,5,255,0,0,2,6,0,227,232,13,0,154, +205,9,0,173,211,254,0,227,238,251,0,5,1,253,0,8,5,0,0,2,1,1,0,249,252,255,0,248,253,3,0,39,24,6,0,88,47,1,0,88,44,245,0,28,21,247,0,0,3,249,0,0,253,255,0,0,252,1,0,0,255,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +255,0,0,1,0,0,0,3,255,0,0,3,0,0,0,0,4,0,249,242,9,0,183,223,13,0,164,207,3,0,194,220,251,0,250,250,250,0,11,6,0,0,1,1,1,0,255,255,0,0,250,253,255,0,247,252,2,0,15,10,5,0,64,38,4,0,103,51,251,0,62,35,241,0,0,5,247,0,0,250,1,0,0,255,1,0,0,0,0,0,0,0,0,0, +0,4,254,0,0,4,4,0,201,220,21,0,115,183,5,0,209,225,246,0,14,7,254,0,1,1,1,208,0,0,0,186,0,0,0,206,0,0,0,222,0,0,0,231,0,0,0,240,0,0,0,247,228,228,228,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,2,0,0,0,5,0,0,0,14,0,0,0,25,0,0,0,32,0,0,0,32,0,0,0,69,0,0,0,68,253,254,255,8,244,250,2,0,58,36,9,0,133,69,249,0,52,35,240,0,0,253,250,0,0,251,2,0,0,0,0,0,0,0,0,0,0,0,255,0,0,5,255,0,0,3,3,0,248, +240,10,0,174,217,12,0,169,211,3,0,204,226,253,0,242,246,251,0,5,2,254,0,7,4,0,0,252,254,0,0,248,252,2,0,16,11,5,0,53,31,3,0,74,38,253,0,65,32,250,0,35,19,248,0,0,8,251,0,0,1,251,0,0,255,0,0,0,0,0,0,0,254,255,0,0,0,255,0,0,0,1,0,0,2,1,0,0,0,0,0,0,1,0, +0,0,255,5,0,0,249,3,0,232,242,9,0,200,228,7,0,185,220,3,0,195,222,255,0,227,238,250,0,2,255,253,0,10,6,0,0,0,0,0,0,250,253,0,0,248,252,1,0,6,5,5,0,36,22,4,0,78,42,0,0,89,45,248,0,34,24,243,0,0,1,249,0,0,250,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,1,254,0,0,7, +1,0,245,240,15,0,127,193,13,0,161,202,252,0,254,251,249,0,9,6,1,248,0,0,0,188,0,0,0,187,0,0,0,224,0,0,0,224,0,0,0,231,0,0,0,242,0,0,0,251,228,228,228,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,5,0,0,0,11,0,0,0,20,0,0,0,28,0,0,0,24,0,0,0,57,0,0,0,65,0,0,0,44,246,249,255,0,3,6,7,0,88,50,4,0,123,62,245,0,24,22,241,0,0,251,253,0,0,252,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2, +254,0,0,6,1,0,0,252,7,0,223,234,11,0,182,219,8,0,186,219,1,0,211,230,254,0,238,244,251,0,255,254,254,0,2,1,255,0,252,254,255,0,255,1,3,0,15,10,5,0,30,17,1,0,42,24,3,0,40,19,252,0,36,22,3,0,21,4,240,0,18,14,7,0,1,1,2,0,255,255,255,0,240,242,247,0,235, +252,16,0,222,238,254,0,217,235,3,0,215,234,254,0,226,239,0,0,238,244,251,0,0,254,253,0,5,4,255,0,1,0,1,0,251,253,0,0,253,0,2,0,12,7,5,0,35,22,3,0,62,33,0,0,78,40,250,0,56,27,246,0,0,10,246,0,0,253,254,0,0,251,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,255,0,0,7, +0,0,0,248,11,0,154,204,15,0,144,195,0,0,227,237,248,0,13,7,255,0,2,1,1,212,0,0,0,191,0,0,0,199,0,0,0,232,0,0,0,228,0,0,0,236,0,0,0,245,0,0,0,251,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,3,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,30,0,0,0,29,0,0,0,62,0,0,0,63,254,255,255,20,243,249,1,0,21,15,8,0,96,53,3,0,109,53,243,0,17,19,242,0,0,253,253,0, +0,251,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,255,0,0,4,255,0,0,3,1,0,0,252,7,0,236,239,9,0,202,231,7,0,197,225,4,0,206,229,255,0,225,239,0,0,236,244,251,0,246,250,255,0,251,251,253,0,252,255,0,0,255,0,2,0,4,1,255,0,4,2,0,0,9,8,6,0,2,2,2,0,255,255,0,0,248,249, +249,0,252,253,255,0,254,255,0,0,0,255,254,0,2,2,2,0,3,2,255,0,2,1,2,0,6,6,4,0,15,8,2,0,27,16,1,0,42,23,1,0,57,30,254,0,58,28,249,0,38,20,248,0,0,9,248,0,0,254,253,0,0,251,0,0,0,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,254,0,0,6,1,0,0,248,10,0,170,212,15,0, +146,198,3,0,209,227,248,0,9,4,253,0,6,3,1,236,0,0,0,193,0,0,0,194,0,0,0,227,0,0,0,226,0,0,0,233,0,0,0,240,0,0,0,248,0,0,0,253,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,2,0,0,0,5,0,0,0,12,0,0,0,19,0,0,0,27,0,0,0,24,0,0,0,40,0,0,0,60,0,0,0,59,253,254,255,7,244,250,1,0,24,17,8,0,87,47,1,0,103,51,246,0,29,24,244,0,0,0,250, +0,0,250,0,0,0,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,4,255,0,0,3,0,0,0,1,3,0,0,250,5,0,245,245,5,0,222,242,8,0,219,234,255,0,223,244,10,0,228,238,252,0,232,242,252,0,242,253,11,0,245,250,254,0,247,248,252,0,243,244,246,0,0,0,0,0,9,9,7,0,11,10,7, +0,9,4,2,0,12,5,251,0,18,7,248,0,31,21,13,0,29,10,243,0,37,23,4,0,35,15,248,0,23,14,251,0,0,7,249,0,0,1,253,0,0,253,255,0,0,252,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,5,255,0,0,3,2,0,251,243,11,0,166,214,14,0,157,203,1,0,209,225,249,0,5,3,253, +0,8,4,1,249,0,0,0,197,0,0,0,196,0,0,0,216,0,0,0,232,0,0,0,229,0,0,0,237,0,0,0,244,0,0,0,251,228,228,228,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,3,0,0,0,8,0,0,0,15,0,0,0,19,0,0,0,26,0,0,0,17,0,0,0,50,0,0,0,57,0,0,0,55,252,254,255,4,245,250,1,0,16,11,7,0,68,39,2,0,96,49,250,0,63,32,245,0,0,9,247,0, +0,253,254,0,0,252,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,0,0,1,255,0,0,3,0,0,0,2,0,0,0,1,3,0,0,255,255,0,0,255,5,0,0,254,4,0,0,252,0,0,0,253,254,0,253,249,250,0,0,0,0,0,3,5,4,0,0,4,4,0,0,3,0,0,0,3,254,0,0,1,250,0,0,2,255,0,0,0,255,0,0, +254,255,0,0,254,0,0,0,253,1,0,0,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,4,255,0,0,4,1,0,0,253,7,0,222,232,11,0,165,211,8,0,172,211,0,0,222,234,249,0,7,3,254,0,8,4,1,252,0,0,0,201,0,0,0,199,0,0,0,206,0,0,0,239,0,0,0,230,0,0,0,237,0,0,0,241, +0,0,0,248,0,0,0,253,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228, +228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,2,0,0,0,4,0,0,0,9,0,0,0,15,0,0,0,20,0,0,0,25,0,0,0,14,0,0,0,50,0,0,0,53,0,0,0,51,254,254,255,12,246,251,0,0,1,3,4,0,42,26,6,0,75,40,255,0,77,39,249,0,45,23,246,0,0,8,249,0,0,254,253,0,0,252,0,0,0,254,1,0,0,0,1, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,255,0,0,255,0,0,0,0,0,0,0,255,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,255,0,0,3,255,0,0,3,1,0,0,253,6,0,235,238,10, +0,183,221,8,0,176,214,3,0,201,224,253,0,242,246,250,0,9,5,255,0,6,3,1,244,0,0,0,205,0,0,0,203,0,0,0,206,0,0,0,242,0,0,0,231,0,0,0,236,0,0,0,241,0,0,0,247,0,0,0,252,228,228,228,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,1,0,0,0,6,0,0,0,9,0,0,0,15,0,0, +0,19,0,0,0,24,0,0,0,14,0,0,0,39,0,0,0,49,0,0,0,48,255,0,0,30,250,252,255,0,248,252,1,0,9,7,5,0,42,25,4,0,65,35,0,0,65,32,250,0,51,24,249,0,11,13,249,0,0,4,251,0,0,255,253,0,0,254,0,0,0,253,0,0,0,255,1,0,0,255,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,1,0,0,0,0,0,0,0,3,255,0,0,2,0,0,0,2,2,0,0,254,2,0,0,247,7,0,213,236,8,0,195,226,7,0,188,220,3,0,205,227,253,0,236,243,250,0,5,1,254,0,8,5,0,0,2,1,1,226,0,0,0,208,0,0,0,207,0,0,0,217, +0,0,0,242,0,0,0,232,0,0,0,237,0,0,0,241,0,0,0,247,0,0,0,250,0,0,0,255,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,2,0,0,0,5,0,0,0,9,0,0,0,15,0,0,0,18,0,0,0,21,0,0,0,18,0,0,0,17,0,0,0,45,0,0,0,43,0,0,0,43,255,255,255,18, +249,253,0,0,249,252,1,0,5,4,3,0,22,14,4,0,41,23,2,0,49,26,255,0,48,26,254,0,41,17,247,0,29,15,0,0,8,7,247,0,0,6,2,0,0,1,250,0,0,0,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,251,0,0,0,251,4,0,230,243, +5,0,220,239,6,0,211,234,4,0,205,229,2,0,211,230,254,0,227,240,254,0,245,248,252,0,5,2,254,0,7,4,0,0,3,2,1,238,0,0,0,213,0,0,0,213,0,0,0,211,0,0,0,239,0,0,0,238,0,0,0,235,0,0,0,238,0,0,0,241,0,0,0,247,0,0,0,251,0,0,0,254,228,228,228,255,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0, +0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,1,0,0,0,2,0,0,0,5,0,0,0,8,0,0,0,13,0,0,0,16,0,0,0,18,0,0,0,18,0,0,0,8,0,0,0,23,0,0,0,40,0,0,0,39,0,0,0,37,0,0,0,27,252,254,255,0,250,252,0,0,251,254,1,0,3,2,2,0,10,7,3,0,18,10,2,0, +21,13,0,0,29,18,7,0,20,4,242,0,26,20,10,0,18,10,2,0,12,4,251,0,7,0,249,0,9,0,245,0,0,0,255,0,252,0,6,0,245,0,13,0,248,254,3,0,241,249,4,0,232,238,243,0,233,246,7,0,232,245,3,0,230,239,250,0,236,247,2,0,243,246,251,0,251,253,255,0,3,0,254,0,6,4,0,0,5, +2,1,0,1,1,0,229,0,0,0,219,0,0,0,217,0,0,0,216,0,0,0,233,0,0,0,248,0,0,0,238,0,0,0,238,0,0,0,240,0,0,0,243,0,0,0,248,0,0,0,251,0,0,0,254,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,28,28,28,2,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,12,0,0,0,14,0,0,0,16,0,0,0,17,0,0,0,7,0,0,0,8,0,0,0,34,0,0,0,32,0,0,0,31,0,0,0,29,0,0,0,27,255,255,255,5,253,254,0,0,252,255,0,0,253,253,0,0,254,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,3,0,254,0,3,1,0,0,3,3,0,0,4,1,0,0,2,2,1,251,0,0,0,229,0,0,0,227,0,0,0,225,0,0,0,224,0,0,0,222,0,0,0,248,0,0,0,249,0,0,0,239,0,0,0,240,0,0,0,242,0,0,0,244,0,0,0,247,0,0,0,249,0,0,0,251,228,228,228,254, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,254,0,0,0,249,28,28,28,250,0,0,0,246,0,0,0,241,0,0,0,236,0,0,0,9,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,232,0,0,0,210, +0,0,0,4,0,0,0,0,0,0,0,21,1,1,1,23,4,3,0,22,4,0,0,20,0,4,0,18,0,0,0,16,0,0,255,13,0,0,0,12,0,0,0,9,0,0,0,7,0,0,0,4,0,0,0,0,0,0,0,252,0,0,0,249,0,0,0,247,0,0,0,244,0,0,0,243,0,0,1,240,0,0,0,238,0,0,0,236,0,0,0,234,0,0,0,233,0,0,0,235,0,0,0,0,0,0,0,252, +0,0,0,244,0,0,0,243,0,0,0,243,0,0,0,244,0,0,0,245,0,0,0,247,0,0,0,249,0,0,0,252,0,0,0,253,228,228,228,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,0,0,0,0,0,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,11,0,0,0,9,0,0,0,8,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,249,0,0,0,248,0,0,0,247,0,0,0,245,0,0,0,247,0,0,0,248,0,0,0,248,0,0,0,249,0,0,0,248,0,0,0,250,0,0,0,252,0,0,0,253,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,228,228,0,0,0,0,0,4,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,252,0,0,0,252,0,0,0,249,0,0,0,244,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2, +0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,254,0,0,0,253,0,0,0,253,0,0,0,252,0,0,0,252,0,0,0,251,0,0,0,251,0,0,0,250,0,0,0,250,0,0,0,251,0,0,0,252,0,0,0,252,0,0,0,253,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,254,0,0,0,251,0,0,0,0,0,0,0,1,0,0,0, +2,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,254,0,0,0,254,0,0,0,254,0,0,0,254,0,0,0,253,0,0,0,254,0,0,0,254,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,129,0,126,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,255,255,88,234,20,149,130,13,78,186,0,0,0,0,73,69,78,68, +174,66,96,130,0,0 }; + +const char* juce_icon_png = (const char*) temp_binary_data_25; + +//================== projectIconAndroid.png ================== +static const unsigned char temp_binary_data_26[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,134,105,84,88,116,88,77,76, +58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60, +120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53, +54,55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58,48,50,32,32,32,32,32,32,32,32,34,62,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57, +57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116, +116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,32,120,109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47, +115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,32,120,109,112,77,77,58,79,114,105,103, +105,110,97,108,68,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,51,51,101,53,51,101,51,102,45,98,98,100,52,45,52,48,99,99,45,98,54,100,55,45,53,100,52,100,102,52,50,56,99,56,52,54,34,32,120,109,112,77,77,58,68,111,99,117,109,101, +110,116,73,68,61,34,120,109,112,46,100,105,100,58,70,55,67,50,56,48,65,66,52,67,55,56,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,70,55, +67,50,56,48,65,65,52,67,55,56,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,61,34,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97, +99,105,110,116,111,115,104,41,34,62,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,54,49,99,99,53,50,57,52,45,98,55,101,57,45,52,56, +55,55,45,97,57,99,56,45,97,57,51,98,52,50,101,98,51,53,99,49,34,32,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,61,34,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115,104,111,112,58,97,99,101,101,57,57,101,101,45,57,52, +100,101,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50,34,47,62,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,32,60,47,114,100,102,58,82,68,70,62,32,60,47,120,58,120,109,112,109,101,116,97,62,32,60,63,120, +112,97,99,107,101,116,32,101,110,100,61,34,114,34,63,62,105,25,181,0,0,0,27,230,73,68,65,84,120,218,236,93,9,152,84,213,149,62,111,173,181,215,42,122,111,26,186,217,183,113,101,208,108,24,220,141,163,95,76,102,81,99,28,77,226,56,147,113,190,108,126,73, +116,162,209,44,102,49,209,9,137,243,229,251,208,153,104,150,81,38,49,147,56,137,74,32,46,76,132,0,138,128,44,13,13,205,210,44,13,93,213,85,175,150,87,111,155,115,238,123,175,170,104,186,161,193,234,166,170,121,87,31,85,253,170,222,171,251,238,249,207, +122,207,61,151,179,44,11,188,118,238,54,222,27,2,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,181,115,163,137,165,186,209,120,68,20,57,142,203,255,150,105,154,236,149,231,121,118,140,87,63,220,62,224,47,129,97,20,250, +64,231,157,207,56,107,156,194,171,133,190,148,1,0,198,225,113,217,96,171,170,58,69,215,141,171,240,196,85,56,0,17,60,183,22,95,95,150,101,233,37,81,20,237,47,18,117,198,168,19,68,220,92,46,55,9,251,112,13,190,197,62,240,109,150,101,108,193,62,172,144, +36,233,55,120,104,99,220,135,146,63,80,217,75,0,66,58,113,124,38,147,185,193,178,184,199,4,65,152,50,244,183,117,93,123,26,65,112,183,207,231,75,141,37,1,176,15,23,153,166,245,148,32,136,243,134,246,193,48,244,255,21,4,254,211,129,64,96,247,120,128,160, +20,18,160,98,0,144,78,167,47,64,226,255,17,137,95,117,226,111,217,3,145,205,166,126,138,131,127,27,130,192,202,203,233,18,246,1,137,63,197,48,172,87,81,210,180,15,247,188,244,157,108,54,189,18,127,255,122,191,223,159,41,117,31,198,2,0,101,111,4,210,67, +234,186,206,227,192,223,207,243,5,226,11,188,15,100,193,135,164,231,217,24,211,88,200,178,255,22,69,81,110,55,240,203,199,33,163,4,125,64,177,47,160,216,127,20,57,63,79,124,158,147,236,62,112,66,158,9,176,15,31,196,62,220,98,89,102,69,168,128,138,240, +2,144,160,181,72,132,75,242,157,230,68,56,146,92,15,239,28,254,57,146,222,68,2,240,108,240,145,56,32,138,242,55,147,73,165,107,56,67,204,53,212,78,117,12,185,134,35,245,131,182,199,109,120,255,15,187,12,45,240,50,36,213,189,176,233,224,83,160,106,3,121, +16,32,72,201,56,92,162,170,57,186,214,242,0,80,130,134,4,104,194,193,172,102,156,78,60,143,4,95,179,247,235,240,187,109,31,131,45,135,158,4,73,144,28,35,209,4,20,189,13,8,152,71,179,217,12,211,193,46,65,137,136,154,166,17,39,243,72,204,73,217,108,182, +21,143,57,120,204,192,163,9,207,213,224,103,36,109,216,125,138,68,172,133,159,119,34,129,31,33,160,217,0,20,240,126,42,188,178,235,179,240,251,237,119,192,238,216,239,64,226,69,7,0,204,88,157,140,247,242,159,83,110,224,24,171,129,99,72,194,52,190,13, +90,76,220,115,48,181,254,26,216,27,95,9,235,247,127,15,90,107,222,11,147,194,243,65,51,84,246,253,96,48,116,131,162,36,239,66,99,237,25,36,218,249,72,144,25,120,44,196,235,166,225,221,66,72,211,73,248,42,227,109,106,200,126,196,191,19,100,223,225,113, +20,255,78,34,0,54,160,107,183,5,137,185,30,129,115,16,239,243,168,44,251,26,108,161,194,129,136,146,102,221,190,165,208,27,123,25,162,161,121,208,92,181,16,12,7,52,212,144,248,241,64,192,159,243,0,80,162,134,150,245,81,77,211,55,162,8,94,194,44,126,83, +131,185,77,183,195,254,193,87,96,71,255,127,195,159,122,191,10,215,206,126,6,129,33,34,247,25,204,47,247,251,3,143,34,211,127,65,16,184,201,2,233,6,199,36,40,150,240,174,150,64,96,212,217,127,231,109,54,114,241,232,243,24,222,99,64,20,165,46,247,187, +146,32,195,161,196,91,240,230,129,31,48,85,116,113,251,189,8,130,217,144,115,192,71,146,6,1,240,103,148,68,38,94,83,246,238,96,217,171,0,71,183,27,200,149,75,105,112,137,251,73,68,147,1,182,168,227,43,80,227,239,132,61,3,47,193,166,190,101,72,28,177, +200,24,147,131,120,116,34,24,138,64,206,136,154,63,108,27,145,43,250,219,58,206,94,64,125,94,135,247,232,114,213,8,137,126,205,200,192,27,8,56,69,237,131,105,209,27,97,118,227,205,160,153,154,3,84,1,226,241,88,31,222,231,57,188,174,34,162,43,21,97,3, +144,33,134,3,250,63,170,154,125,202,61,167,163,14,142,134,102,192,69,237,159,99,70,224,134,3,143,161,97,184,9,197,179,47,15,2,58,232,51,2,139,232,120,13,62,209,135,64,177,15,50,228,68,60,232,125,241,103,244,93,226,238,161,238,45,1,236,237,131,63,70,209, +191,2,234,2,211,96,209,228,251,17,62,130,13,72,148,58,154,150,131,195,135,15,61,210,220,220,180,185,98,198,182,18,226,0,212,79,228,126,43,149,74,181,226,219,21,168,143,103,185,196,37,222,124,113,251,157,168,10,158,131,206,200,117,112,237,172,103,144, +24,68,64,142,125,70,220,153,206,29,66,139,125,63,30,251,64,201,237,135,108,46,134,190,3,26,132,122,130,129,67,18,194,120,141,4,33,185,9,194,114,27,84,251,39,67,216,215,2,1,49,138,159,163,88,183,128,169,142,195,201,55,225,55,239,124,4,178,104,245,95,54, +237,113,152,223,124,27,168,186,234,24,127,60,244,244,236,122,62,28,14,125,188,165,165,37,69,30,128,227,5,148,117,28,160,98,66,193,52,192,162,40,30,80,148,212,127,74,146,252,77,27,116,38,139,7,44,234,184,31,142,40,27,152,81,182,249,208,83,48,183,249,99, +176,47,190,22,14,196,95,129,254,212,102,136,103,118,34,161,98,104,168,229,144,152,90,62,68,192,57,97,2,114,37,109,58,241,76,42,8,156,15,66,8,128,250,192,12,104,172,186,8,218,106,63,0,213,190,201,40,250,31,134,148,122,16,102,54,252,13,204,105,188,5,245, +190,150,239,91,50,153,76,231,114,234,143,162,209,142,4,130,83,196,115,102,37,132,131,43,65,2,48,181,175,170,26,160,107,119,15,250,249,15,224,224,214,23,127,33,32,251,96,115,223,47,96,229,174,123,192,47,214,67,80,110,68,162,119,131,97,230,152,222,230, +57,217,145,22,220,40,98,67,22,251,207,180,116,52,232,114,236,189,95,172,67,137,208,6,3,233,109,76,50,124,120,222,11,248,218,148,55,252,138,172,255,183,13,67,255,52,74,129,215,36,73,226,188,72,96,137,136,159,205,170,33,85,205,61,45,203,254,199,209,208, +202,19,95,96,226,219,7,7,6,223,132,3,137,215,81,119,7,64,55,82,16,79,119,227,103,50,234,245,42,60,23,100,250,220,142,24,142,102,192,88,164,129,93,79,170,129,238,97,160,189,17,75,111,103,247,49,77,29,182,247,47,71,85,114,212,137,2,22,134,208,231,243,47, +64,245,244,187,116,58,125,23,218,3,174,248,231,60,9,112,134,125,115,130,48,45,186,110,252,4,57,127,73,129,153,56,28,124,25,137,208,15,111,238,127,28,182,30,249,25,90,231,73,70,176,177,247,74,12,180,43,82,104,4,206,128,11,90,255,5,102,52,252,53,227,35, +2,137,139,88,219,21,84,31,242,251,125,15,58,243,18,99,226,14,78,228,201,32,54,96,170,170,214,107,154,241,2,138,211,69,5,159,93,96,81,183,221,3,47,195,255,237,121,16,57,115,43,35,188,27,138,29,183,240,52,18,156,212,68,103,228,67,112,233,148,175,162,59, +218,158,87,9,46,8,80,101,125,35,20,10,222,135,30,204,152,168,131,137,10,0,242,250,104,206,221,143,98,255,89,228,252,235,221,113,99,162,28,31,122,195,254,199,88,4,144,8,64,98,255,44,70,41,144,232,73,36,126,23,44,238,250,30,180,215,189,23,61,139,28,128, +19,173,52,12,3,208,117,253,116,85,85,248,135,104,192,150,28,4,19,18,0,206,236,31,164,211,153,111,161,181,127,111,222,88,65,125,79,81,219,213,187,191,204,44,125,137,15,13,225,122,11,69,115,134,121,6,28,11,215,6,28,189,255,238,27,121,14,186,35,226,201, +238,32,207,163,184,233,102,154,73,161,15,116,61,10,51,39,221,136,30,71,1,4,154,166,169,248,255,181,53,53,53,43,121,59,117,201,244,0,112,242,254,88,104,68,221,200,243,226,115,28,103,71,99,200,146,199,79,224,149,157,159,71,125,255,52,14,118,117,222,133, +115,221,56,210,205,237,181,151,177,216,124,60,179,11,93,194,151,144,112,166,125,237,187,104,186,153,69,139,191,21,166,214,95,137,132,247,195,222,216,42,244,6,182,14,145,60,200,237,150,74,166,35,44,158,246,125,116,19,111,66,73,80,136,15,100,50,233,110, +158,231,22,135,195,225,62,206,166,154,229,1,96,132,7,202,100,50,205,134,97,190,230,198,223,201,202,22,121,9,57,255,1,120,179,111,41,248,208,42,63,222,176,182,112,240,53,22,149,59,191,245,238,124,172,127,235,225,229,240,106,207,231,153,27,119,166,146, +128,244,124,125,112,38,92,57,115,25,190,118,178,115,233,92,12,86,116,255,19,236,139,175,60,65,253,80,156,129,98,8,87,207,122,18,38,215,46,62,206,38,72,38,19,203,80,21,124,2,141,194,146,169,130,9,229,6,186,162,31,45,254,251,4,161,104,242,5,137,191,245, +240,207,96,99,223,19,104,249,135,79,240,170,72,52,79,10,205,135,121,77,159,192,247,38,139,204,229,12,29,102,53,124,132,205,18,26,200,193,103,46,250,117,152,223,252,73,136,132,58,217,125,233,8,200,117,204,250,39,55,209,26,34,205,233,28,169,131,63,238, +252,28,74,161,61,44,204,156,143,85,4,130,119,42,138,114,45,69,52,203,42,192,86,78,157,65,171,127,1,207,11,119,184,204,65,49,249,99,233,29,176,166,247,107,44,84,59,28,39,147,232,15,72,147,80,231,75,140,96,238,57,98,142,144,220,156,159,219,63,19,3,143, +236,14,10,15,155,102,177,84,0,22,104,98,118,192,48,82,143,226,14,9,117,15,155,161,68,217,148,79,86,65,79,134,192,123,63,170,55,191,7,128,17,184,223,48,172,79,34,0,2,110,215,104,0,215,238,125,4,82,218,17,198,93,195,53,10,221,146,78,78,170,125,44,54,64, +3,46,33,113,84,61,13,135,149,55,25,17,207,212,19,53,81,164,247,37,214,224,111,216,70,40,217,19,50,154,20,135,146,111,160,148,81,142,11,2,21,3,135,130,71,61,199,94,128,29,253,191,100,18,204,85,145,126,127,96,17,2,224,131,142,20,224,60,0,20,53,180,150, +155,208,96,186,201,253,155,178,124,246,199,95,133,61,177,23,79,26,224,33,194,208,68,207,107,61,247,194,64,166,155,233,252,100,110,31,254,253,37,56,150,218,124,130,197,126,58,141,60,137,45,135,150,193,219,7,127,138,162,61,201,116,252,206,163,47,34,40, +191,237,24,151,220,200,209,68,4,199,219,125,255,14,89,54,225,36,184,82,0,109,46,248,123,148,116,101,19,29,44,19,35,208,2,69,73,221,140,62,255,79,221,96,172,192,139,240,251,109,119,64,207,192,11,142,238,63,149,181,158,1,191,20,129,176,220,2,25,237,40, +164,114,125,142,145,246,238,198,154,212,10,233,122,202,59,160,56,196,96,182,7,207,25,142,68,58,249,51,107,70,10,62,56,253,223,96,118,195,223,50,131,208,201,110,62,102,24,218,194,104,52,218,243,110,35,132,19,194,8,180,3,38,164,100,185,107,92,98,145,190, +63,150,222,6,7,18,171,81,132,142,46,208,67,196,166,233,221,163,200,245,25,173,159,233,226,82,72,89,34,58,249,254,131,232,90,210,124,128,27,11,24,21,221,240,231,187,251,127,197,50,152,200,126,33,30,65,47,32,130,210,110,17,5,137,60,21,224,26,86,134,142, +190,29,55,223,5,180,128,111,246,197,87,161,30,31,56,173,16,47,17,75,68,95,253,204,245,254,200,148,36,85,66,199,233,184,148,34,231,135,35,104,135,196,51,61,96,39,38,89,44,107,8,1,255,151,100,243,120,0,200,3,192,108,71,253,63,155,249,253,44,168,98,194, +193,196,27,224,196,129,42,182,17,120,85,61,142,198,232,122,4,15,151,151,120,178,44,47,204,100,50,210,57,5,128,66,222,189,251,119,65,135,33,0,230,81,214,87,97,208,6,89,52,143,175,112,0,56,97,42,230,165,20,155,72,232,233,76,65,53,208,238,100,13,13,51,70, +227,103,35,138,227,65,120,154,25,211,117,141,67,66,79,71,15,168,3,57,157,167,245,22,60,207,145,33,180,11,63,159,227,206,149,144,197,156,206,29,6,213,136,179,208,106,165,55,146,98,137,108,47,24,166,238,216,1,22,218,1,114,227,224,96,188,37,155,205,244, +90,22,119,190,101,153,17,2,8,142,71,22,199,101,11,170,137,163,180,208,213,78,128,29,219,204,98,113,172,9,159,205,170,211,80,223,221,138,127,211,106,222,153,232,30,213,81,124,220,94,76,105,162,69,108,190,133,95,143,56,15,107,7,132,140,65,80,181,152,157, +77,97,233,21,13,0,211,201,73,164,9,37,87,165,9,130,104,73,146,252,117,77,51,171,112,44,230,161,68,144,136,233,157,49,217,173,105,250,59,56,10,203,101,89,250,47,84,23,153,34,107,214,170,8,0,56,179,96,68,252,219,241,1,31,17,69,169,177,152,192,5,113,39, +68,220,92,255,194,124,191,253,90,229,107,103,65,158,50,79,168,57,181,125,99,230,208,61,173,179,163,130,32,185,25,196,124,93,93,253,251,139,159,219,29,19,28,143,169,248,22,15,235,58,85,213,110,199,113,252,108,32,16,160,133,42,28,140,65,98,73,201,227,0, +14,241,121,36,254,247,241,97,238,113,185,189,56,64,66,134,30,203,188,179,70,202,155,180,179,169,198,83,23,142,169,29,96,89,35,154,91,44,53,213,93,92,202,102,53,205,161,17,210,24,122,73,119,132,195,161,231,157,233,228,124,166,113,217,205,6,82,127,200, +167,79,165,210,247,161,136,251,218,241,126,186,143,125,174,234,73,22,98,101,57,123,98,21,51,142,220,185,118,119,72,136,91,76,83,133,9,211,136,179,57,255,16,194,243,44,218,73,30,15,197,47,232,153,69,62,204,242,12,105,82,203,205,94,182,25,42,167,32,8,46, +175,174,174,94,83,60,157,92,150,211,193,233,116,250,189,136,246,151,81,175,249,221,197,156,34,45,167,74,174,99,179,122,148,190,77,41,218,62,177,30,26,171,46,132,217,13,183,226,235,121,160,25,118,18,5,37,121,82,8,248,165,29,159,2,137,5,115,42,187,81,248, +152,212,217,135,230,60,139,42,45,96,47,93,99,113,10,19,118,29,251,53,236,60,250,60,196,50,59,152,170,160,239,181,215,46,134,57,141,31,131,160,52,9,180,162,60,195,76,38,253,103,73,18,175,8,133,66,131,174,42,40,171,117,1,238,26,122,180,242,31,148,36,193, +239,250,244,68,252,77,7,159,132,55,122,31,98,72,167,164,10,82,3,233,92,63,244,43,27,97,103,255,47,225,146,41,15,194,220,166,219,28,16,0,147,16,228,9,72,66,104,66,0,192,14,73,23,210,218,12,51,13,175,244,124,30,118,244,47,119,194,222,182,173,147,202,29, +132,3,131,175,34,40,126,13,75,166,47,133,104,120,62,232,44,167,128,60,7,255,197,138,146,184,211,231,243,125,207,41,133,83,126,70,32,234,171,249,200,249,239,119,165,1,17,127,215,177,23,224,245,221,95,102,15,46,139,181,5,157,207,1,3,131,110,169,240,90, +207,23,33,40,55,192,212,250,171,11,2,146,205,190,73,21,15,0,139,77,43,139,69,207,197,193,107,123,30,128,109,71,126,206,214,27,20,27,185,246,18,182,0,28,75,111,129,21,221,119,195,245,115,150,67,64,106,96,234,128,34,136,104,43,220,156,201,100,126,88,85, +85,85,50,253,88,178,64,16,185,124,168,255,47,224,121,123,254,147,92,30,85,75,192,186,125,223,201,63,220,137,6,159,197,108,1,188,18,191,247,93,102,31,144,173,59,81,119,48,144,120,1,246,15,174,134,109,253,191,64,21,88,59,162,135,67,211,201,199,82,91,96, +243,193,101,200,36,5,18,33,8,166,33,0,186,202,50,18,104,175,220,133,203,10,70,159,0,135,148,117,16,163,69,26,188,255,20,3,67,168,223,10,253,169,141,192,79,224,202,133,164,178,123,99,47,162,10,200,156,114,78,129,230,52,122,227,43,28,166,16,216,248,162, +248,175,49,12,227,2,103,34,137,43,59,0,160,228,143,184,134,9,253,155,84,123,81,7,102,143,75,224,28,97,104,240,90,29,18,153,221,19,152,248,232,210,153,22,139,10,142,102,142,131,36,38,217,4,52,151,192,65,161,252,140,170,170,205,166,105,150,159,4,64,189, +47,32,0,130,199,131,226,244,162,120,148,89,59,129,249,159,249,248,100,237,115,163,102,94,74,120,213,243,188,78,188,133,70,118,109,89,2,160,52,34,137,131,137,223,184,119,203,104,37,93,133,85,74,9,0,94,27,39,207,162,28,1,224,181,113,35,127,73,197,164,7, +128,115,188,121,0,240,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,224,53,15,0,94,243,0,112,210,198,121,67,58,214,141,43,79,0,80,197,15,124,209,79, +236,172,229,225,39,255,116,199,239,91,120,234,102,157,144,66,110,89,150,94,202,101,243,37,5,0,213,68,46,62,39,139,225,252,162,134,209,52,218,239,103,226,54,139,85,14,151,133,26,86,197,252,212,223,182,216,106,98,145,173,40,182,138,1,16,231,75,184,124, +170,100,119,114,10,65,236,116,59,107,224,107,52,180,128,173,129,163,37,209,39,125,88,75,103,3,19,9,205,129,137,154,93,78,227,66,235,30,27,194,231,195,104,182,12,160,34,215,145,224,28,8,72,245,78,205,97,182,250,218,224,121,110,47,45,20,45,75,0,96,91,153, +7,128,169,33,65,103,195,212,250,107,33,103,36,78,122,45,237,186,209,21,185,30,234,2,211,89,97,230,137,170,8,104,105,216,180,232,13,172,234,40,85,54,29,233,73,237,42,228,28,204,105,188,21,165,64,190,172,12,213,8,232,71,226,111,40,75,0,216,245,109,248, +183,77,211,56,236,22,177,32,48,44,156,252,37,182,247,30,21,133,24,90,94,157,36,3,157,111,170,90,8,23,79,190,215,94,245,50,129,149,0,149,152,13,251,154,225,210,41,15,177,125,5,52,83,57,193,70,162,122,2,84,71,97,65,203,93,48,5,153,71,55,10,149,66,20,69, +121,43,20,10,31,130,18,214,10,42,233,210,48,73,146,246,235,186,190,172,32,198,52,86,110,253,234,153,63,129,25,147,62,202,186,172,25,10,147,8,244,74,22,209,204,134,191,131,171,103,253,4,130,82,35,219,248,97,162,55,42,130,209,25,185,6,159,249,63,152,138, +164,29,73,72,2,218,99,146,130,0,218,65,151,78,125,24,46,233,120,144,1,134,152,134,184,63,157,78,27,40,1,158,172,169,169,78,59,165,227,74,210,74,90,32,130,42,87,136,162,240,93,85,85,175,243,249,124,127,97,239,244,173,178,93,56,47,159,241,99,86,30,230, +112,114,29,100,181,99,224,151,162,140,243,39,133,207,99,96,214,77,21,206,141,102,177,109,238,39,215,93,198,74,228,244,37,222,96,85,205,169,8,68,149,175,3,90,107,222,195,118,32,163,45,111,221,130,81,196,253,251,247,239,123,38,26,141,254,22,153,172,164, +174,123,73,1,128,29,229,253,126,127,12,69,213,93,185,156,250,130,44,251,35,246,138,88,149,185,51,141,225,11,161,25,31,218,174,137,103,239,201,107,56,187,115,158,107,141,64,32,240,65,182,23,81,87,228,74,71,69,208,120,88,199,109,53,67,250,126,239,222,222, +117,178,44,62,140,0,32,195,65,112,92,238,178,11,4,177,242,101,84,202,44,20,10,174,209,117,237,198,116,58,181,213,222,134,157,103,68,38,46,167,135,179,183,117,81,109,174,231,96,194,148,131,59,93,155,137,109,66,233,140,7,29,244,158,234,35,209,103,36,77, +73,130,246,244,236,122,81,211,114,31,239,232,152,178,139,54,209,114,136,111,149,35,0,220,7,179,4,65,20,170,170,170,94,199,183,75,6,7,227,79,160,254,26,100,110,16,2,129,14,66,181,123,208,90,119,77,211,204,115,11,4,150,69,133,52,93,230,24,58,38,84,1,164, +191,191,191,183,187,123,251,87,124,62,249,214,174,174,174,173,120,94,44,37,231,143,137,10,128,66,253,58,19,59,44,84,87,87,31,204,102,213,127,84,148,228,82,69,73,92,142,24,88,68,251,235,34,24,124,232,45,232,8,140,119,80,74,172,170,169,169,187,188,185, +185,249,134,114,169,161,63,214,156,79,59,198,32,103,127,29,153,36,137,182,210,21,162,40,181,34,35,136,40,53,149,84,42,181,6,223,111,144,101,105,101,71,71,199,238,112,56,76,99,42,20,237,70,110,149,51,0,142,139,12,146,132,241,251,125,28,30,239,32,226,233, +248,65,38,147,169,193,7,149,105,28,106,107,107,148,104,52,146,197,111,79,45,101,213,139,10,8,10,113,200,217,235,35,145,250,95,225,115,63,134,70,115,216,48,116,1,13,104,173,177,177,33,129,118,148,225,108,55,43,56,213,195,141,98,6,171,4,0,184,146,192,114, +42,91,114,244,64,120,0,21,58,164,243,142,43,195,217,53,133,115,194,132,230,250,19,227,249,164,227,133,64,32,64,34,159,98,251,3,238,152,56,149,212,105,60,172,34,194,143,9,241,199,84,2,12,7,134,252,120,216,251,3,59,246,130,64,101,210,135,132,128,185,137, +196,238,246,78,35,110,61,96,171,176,47,128,163,255,205,130,208,228,160,212,70,94,57,0,96,88,64,20,84,133,237,21,185,167,105,128,104,243,39,218,41,204,174,176,93,217,41,11,244,12,52,31,194,234,36,22,213,83,70,66,171,69,134,239,89,243,131,249,179,203,28, +150,187,177,226,234,194,36,146,14,181,129,233,16,9,206,6,221,72,67,229,151,139,87,161,173,246,50,144,120,57,31,213,203,100,210,7,241,181,155,47,131,162,136,101,177,107,152,32,240,155,208,24,74,185,190,177,44,4,225,162,246,47,176,157,191,244,97,226,229, +149,33,249,77,200,234,49,104,174,190,148,21,127,214,205,130,58,207,102,51,61,168,255,123,97,12,234,255,87,130,10,56,1,3,104,16,237,65,119,241,15,248,250,87,110,148,108,114,221,98,184,98,230,143,97,109,239,55,32,150,233,102,49,115,123,172,10,18,129,74, +170,58,246,210,168,126,136,98,238,246,212,52,55,162,192,166,170,166,84,185,116,52,209,73,50,238,168,95,199,207,236,89,172,79,180,215,225,244,232,135,225,61,83,30,98,53,129,41,232,101,111,145,103,0,186,122,191,153,52,137,69,245,248,179,13,128,114,216, +56,146,153,191,138,162,156,199,243,226,42,4,65,109,126,227,104,193,7,170,22,135,67,201,245,112,72,89,203,184,202,182,168,41,124,104,194,246,35,203,33,171,29,29,69,229,77,27,56,51,27,62,202,136,49,82,95,73,36,31,74,172,135,3,131,171,71,181,227,40,137, +247,230,154,69,208,82,189,16,92,55,150,234,30,83,98,75,107,205,251,32,26,156,139,63,43,176,239,49,110,19,69,138,233,175,69,219,247,166,201,147,59,14,56,54,192,89,221,56,178,28,36,128,229,204,33,188,133,156,241,175,72,132,31,184,187,140,144,36,16,145, +203,59,234,151,192,212,200,146,227,125,4,252,103,111,124,21,219,143,71,56,5,0,44,39,181,234,252,214,127,134,186,96,59,140,20,114,160,173,253,54,244,62,1,189,177,21,163,2,0,113,126,123,205,98,88,56,245,30,24,90,20,85,55,237,253,130,44,103,207,35,34,126, +44,22,27,68,160,223,55,115,230,244,253,84,89,117,44,34,123,149,8,0,70,35,28,32,30,245,226,82,69,73,5,125,62,223,131,178,236,11,16,8,104,235,86,211,208,135,136,94,148,156,156,126,218,59,131,211,134,207,57,29,242,28,57,180,249,192,231,204,74,142,150,179, +56,118,47,34,62,197,242,71,146,42,100,232,246,247,31,217,139,199,23,58,59,59,87,138,162,36,56,110,241,89,55,110,202,198,199,34,113,70,83,157,225,112,232,219,104,36,93,157,72,12,190,158,203,229,76,119,16,199,194,98,182,107,240,115,37,127,14,55,166,111, +239,137,172,40,61,61,59,159,139,199,99,55,76,155,54,237,217,80,40,52,102,59,128,85,180,4,112,8,77,209,66,161,182,182,246,213,116,58,125,165,162,36,46,213,52,237,66,228,160,69,40,33,102,213,212,212,206,194,129,229,74,49,116,4,40,228,200,125,193,96,176, +58,16,8,214,148,194,22,178,183,118,201,40,131,131,241,29,170,170,110,70,9,181,17,127,103,77,93,93,205,91,245,245,145,20,79,229,190,109,149,103,121,0,24,57,98,72,220,35,132,195,225,44,114,203,31,116,93,251,3,122,8,144,76,38,23,225,199,175,149,170,207, +4,128,190,190,3,79,181,181,77,94,20,10,133,175,44,197,68,20,221,19,251,185,43,149,82,174,107,106,106,58,134,42,77,163,240,183,19,218,21,156,208,120,217,16,191,220,0,80,12,2,119,67,36,182,83,154,36,201,52,187,168,230,131,71,37,8,14,209,125,252,254,128, +33,203,146,81,202,226,203,130,192,3,114,123,6,165,152,65,132,119,8,110,14,125,70,15,0,167,0,65,145,135,224,196,206,75,111,3,32,184,74,202,141,246,246,175,188,133,154,204,44,138,241,151,117,59,215,215,6,158,243,53,238,189,197,161,30,0,188,230,1,192,107, +30,0,42,83,129,151,198,119,47,117,31,42,41,193,181,98,0,80,180,27,93,190,235,180,233,228,168,175,31,198,117,180,211,213,134,82,139,59,45,240,12,179,187,41,87,148,253,228,1,160,116,0,224,146,232,175,39,88,206,0,219,113,212,7,245,129,89,163,90,78,70,83, +192,126,169,30,124,66,109,126,254,192,201,202,73,227,167,89,55,14,64,47,97,95,235,40,183,172,117,250,16,156,205,22,116,184,231,114,185,220,0,186,128,122,165,72,1,190,66,136,79,254,245,110,211,52,55,185,3,77,75,173,91,106,222,51,170,235,105,214,142,150, +160,133,228,70,54,185,68,247,83,213,172,134,47,180,29,251,106,247,123,134,105,66,67,248,34,8,72,209,252,246,237,35,53,2,94,16,239,55,41,188,128,93,103,3,200,162,100,143,63,249,124,254,108,41,215,239,121,18,0,216,196,141,129,220,187,201,229,86,205,212, +161,179,254,90,182,190,208,94,126,206,13,43,248,137,144,18,31,134,5,205,159,194,63,237,252,11,138,46,34,0,142,250,253,254,237,130,192,111,118,231,242,137,168,181,129,41,48,187,241,102,150,60,50,114,152,192,2,221,72,193,156,198,219,160,202,215,194,126, +131,64,229,44,246,216,226,243,201,149,50,172,149,1,0,34,186,61,115,7,207,35,8,44,123,23,78,131,37,142,126,160,235,59,80,227,239,98,203,204,77,54,247,110,7,247,236,101,87,10,19,249,180,28,155,146,54,116,103,123,122,186,126,112,112,112,85,85,85,213,0,222, +247,207,134,161,239,116,69,182,129,192,186,176,237,51,48,61,122,19,100,245,56,155,238,117,151,181,211,43,253,173,234,131,108,85,243,121,173,119,163,116,177,167,170,237,121,128,196,94,73,146,254,84,202,245,251,30,0,138,212,128,44,203,175,228,114,218,139, +174,122,165,185,251,104,104,46,124,104,206,179,48,11,9,66,105,88,180,216,148,210,180,40,75,168,9,137,78,75,207,231,53,125,156,45,203,102,122,27,137,163,40,137,172,174,231,150,85,87,87,27,72,176,1,195,48,150,186,146,133,150,100,83,90,216,146,233,63,130, +75,58,30,96,54,1,129,72,55,211,12,136,85,254,118,4,212,195,112,217,180,199,17,70,18,3,154,155,234,53,48,48,240,84,52,26,221,67,2,171,98,198,181,12,82,194,70,221,87,20,213,150,162,164,230,241,188,176,10,9,23,117,127,147,229,221,227,107,60,179,11,226,217, +110,38,146,195,114,43,68,130,115,65,20,124,121,226,219,73,167,0,221,221,219,191,209,214,214,250,64,109,45,101,159,89,150,170,170,50,2,107,185,223,31,184,206,189,39,237,216,45,242,34,40,185,126,24,72,191,3,57,148,6,62,177,14,141,190,185,104,75,68,152, +10,114,75,223,96,95,160,183,119,207,106,158,231,62,218,209,209,113,200,241,4,204,241,96,138,115,10,0,116,232,186,102,38,147,202,77,178,236,123,90,146,228,64,97,73,25,199,202,169,240,206,160,80,119,72,167,187,86,191,155,80,178,107,87,247,242,112,56,124, +87,91,91,91,204,89,133,67,24,48,83,169,84,7,226,235,183,8,130,121,246,163,184,64,16,241,190,66,62,125,215,48,13,71,213,184,83,215,34,28,60,216,183,51,153,28,188,101,250,244,233,107,105,42,187,104,29,159,7,128,49,144,88,180,156,12,65,144,188,10,7,127, +105,32,16,156,102,115,246,240,155,42,187,217,68,233,116,90,71,46,253,81,117,117,213,55,145,248,84,198,134,119,103,236,232,158,8,36,83,81,148,14,93,55,30,15,6,67,55,144,170,24,233,158,110,214,143,174,235,148,228,185,50,151,83,191,216,217,217,185,142,146, +89,198,106,17,167,7,128,162,40,13,113,46,234,92,3,65,208,129,162,251,51,40,130,111,66,215,171,205,94,102,198,131,11,8,210,203,217,108,54,29,139,13,172,77,167,83,79,52,54,54,254,58,18,137,228,224,196,213,182,108,77,30,98,192,200,100,50,114,42,149,190, +19,239,245,15,180,146,153,196,187,123,79,59,126,96,144,175,15,137,68,98,91,60,30,123,186,170,42,188,172,165,165,229,176,187,124,123,60,19,62,206,69,0,228,85,129,195,181,6,17,131,196,55,18,110,1,158,127,31,207,139,51,209,170,151,144,59,99,72,252,215,69, +81,220,18,14,7,55,70,34,209,65,36,166,224,72,5,107,24,46,229,156,197,153,196,217,164,18,106,80,106,92,128,18,225,98,188,238,98,36,124,8,15,21,253,252,117,56,240,111,161,11,185,177,190,190,254,128,147,227,199,143,55,241,207,101,0,156,0,4,60,12,167,208, +4,250,247,42,113,50,19,239,62,159,207,36,14,38,181,108,57,54,96,81,152,214,58,153,132,33,135,0,9,110,17,199,227,61,9,20,130,227,137,208,210,109,96,185,137,54,225,79,117,79,15,0,227,164,22,184,226,129,41,238,207,144,216,188,117,166,247,28,250,156,103, +139,240,165,4,64,57,166,132,157,54,246,220,165,230,39,27,156,211,4,232,176,247,44,193,125,203,174,137,229,132,198,114,231,150,74,124,238,9,19,9,244,154,7,0,175,121,0,240,154,7,0,175,121,0,240,154,7,0,175,121,0,240,154,7,0,175,189,235,246,255,2,12,0,158, +137,39,54,252,6,9,64,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* projectIconAndroid_png = (const char*) temp_binary_data_26; + +//================== projectIconCodeblocks.png ================== +static const unsigned char temp_binary_data_27[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,134,105,84,88,116,88,77,76, +58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60, +120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53, +54,55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58,48,50,32,32,32,32,32,32,32,32,34,62,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57, +57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116, +116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,32,120,109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47, +115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,32,120,109,112,77,77,58,79,114,105,103, +105,110,97,108,68,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,98,54,49,53,55,56,57,51,45,102,48,97,51,45,52,56,56,55,45,98,99,52,50,45,54,100,50,49,55,51,50,97,99,98,100,97,34,32,120,109,112,77,77,58,68,111,99,117,109,101,110, +116,73,68,61,34,120,109,112,46,100,105,100,58,70,55,67,50,56,48,65,70,52,67,55,56,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,70,55,67,50, +56,48,65,69,52,67,55,56,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,61,34,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105, +110,116,111,115,104,41,34,62,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,54,48,97,49,51,52,53,100,45,97,99,57,50,45,52,48,99,98, +45,97,55,57,53,45,53,100,48,55,55,99,100,56,102,98,99,55,34,32,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,61,34,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115,104,111,112,58,102,54,55,54,101,48,101,99,45,57,52,100, +102,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50,34,47,62,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,32,60,47,114,100,102,58,82,68,70,62,32,60,47,120,58,120,109,112,109,101,116,97,62,32,60,63,120,112, +97,99,107,101,116,32,101,110,100,61,34,114,34,63,62,104,107,124,19,0,0,42,157,73,68,65,84,120,218,236,125,89,204,44,201,149,86,156,200,204,218,254,125,185,75,187,221,238,118,47,86,187,229,102,140,103,176,133,48,54,242,136,153,198,6,143,152,145,224,101, +120,0,193,3,235,3,210,136,71,94,64,72,60,33,129,16,226,1,36,16,26,48,30,75,192,72,48,48,96,132,133,102,198,96,141,192,99,187,109,26,247,116,247,244,118,125,251,222,255,254,75,85,229,22,135,56,177,101,100,100,100,85,253,203,253,239,149,169,236,206,251, +215,146,85,21,25,231,196,57,223,89,3,16,145,173,143,255,127,15,190,158,130,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172,143,53,3,172, +143,31,199,35,61,207,197,151,204,29,128,199,224,126,209,222,7,0,180,238,203,127,254,24,140,245,194,19,29,220,199,213,50,192,5,137,14,134,113,192,103,32,249,248,161,79,178,156,12,12,38,6,205,107,216,199,160,52,174,112,108,143,96,172,232,141,89,60,54,18, +224,188,171,93,8,193,229,228,209,9,242,49,216,201,165,27,188,198,73,5,75,120,58,57,231,66,158,136,122,32,118,210,185,28,159,29,47,152,49,63,18,6,176,227,244,198,235,152,247,50,146,225,202,24,96,69,53,160,38,144,38,180,174,235,196,158,52,177,138,17,228, +201,224,26,164,44,137,118,73,108,78,147,169,9,47,146,36,169,233,164,199,118,210,237,184,170,170,74,105,156,2,5,87,204,32,240,218,84,1,202,255,18,158,200,1,51,197,164,105,146,86,52,78,203,20,196,8,184,194,228,63,14,42,64,17,223,18,157,38,85,142,10,73, +142,201,231,80,11,145,216,149,118,29,171,74,254,144,34,124,74,4,151,175,201,241,100,244,219,52,185,150,1,44,163,202,191,137,124,5,177,34,137,69,76,81,43,38,184,252,88,33,178,120,193,27,39,67,245,52,97,181,100,2,90,29,88,179,218,205,147,28,43,49,107,221, +243,69,215,43,1,150,113,152,17,247,138,240,52,217,149,20,173,103,211,105,82,78,167,227,162,174,211,186,170,18,97,164,1,49,6,51,248,192,61,166,239,183,140,174,31,235,247,244,151,219,9,176,175,53,207,245,245,173,201,33,81,47,79,181,226,51,121,14,54,54, +166,27,147,73,133,101,153,249,42,194,174,126,81,34,62,56,125,48,41,171,98,80,87,70,114,9,26,171,134,15,4,99,90,48,13,2,200,6,173,137,104,174,111,127,210,190,0,234,118,157,216,87,210,73,174,252,164,26,100,131,98,115,180,53,75,38,156,38,133,46,41,233,26, +122,255,113,199,0,106,50,229,196,233,21,5,80,157,190,255,222,179,247,190,254,95,255,234,176,40,110,75,162,215,114,98,228,93,33,183,196,14,208,150,55,175,230,145,86,23,122,250,132,208,4,215,204,67,74,155,222,160,153,108,72,97,103,21,205,210,146,215,73, +17,32,10,196,244,116,99,227,173,249,231,62,247,143,110,61,251,236,107,101,89,14,136,49,20,195,214,164,150,80,252,207,183,127,235,75,175,102,223,249,133,10,202,140,190,70,254,0,151,239,130,94,162,200,21,32,51,132,148,63,202,220,232,45,127,250,2,29,52, +179,106,197,45,28,115,32,67,163,204,133,252,102,244,185,93,208,183,75,150,21,76,74,160,103,230,207,125,227,75,131,47,255,19,14,28,164,66,34,105,64,146,12,32,96,242,199,14,4,26,9,192,229,74,207,230,156,79,203,55,223,250,137,143,191,254,195,191,48,188, +113,147,228,175,94,213,86,138,248,235,87,248,11,218,220,35,189,166,230,71,104,44,76,138,68,136,230,117,117,134,207,209,49,83,11,103,100,25,123,247,173,183,216,91,123,187,255,251,240,185,231,94,173,202,114,98,129,41,45,198,60,207,211,255,113,244,155,191, +152,124,182,254,18,38,150,84,204,16,185,25,27,178,134,240,24,145,201,150,192,138,125,204,115,193,106,197,57,194,253,171,31,213,222,243,230,42,100,37,43,216,221,163,59,47,126,246,222,31,249,215,251,59,123,71,37,43,83,146,100,6,64,63,214,32,80,77,168,22, +157,2,242,162,24,158,158,158,222,26,78,38,4,0,154,41,35,162,209,141,136,144,80,194,188,111,166,215,39,232,42,56,24,160,45,158,57,52,114,57,149,183,154,36,88,79,103,123,243,60,31,200,65,38,14,225,75,6,152,206,166,27,243,122,182,181,37,198,140,39,137,99, +128,197,206,1,108,189,107,63,97,25,64,223,49,145,53,137,146,159,155,71,150,21,184,250,171,153,78,174,252,209,7,247,239,222,220,217,218,57,150,178,1,60,11,101,33,14,56,47,131,240,243,18,127,201,9,254,89,230,249,240,248,222,189,91,18,130,107,6,80,114,85, +152,191,193,170,181,167,125,191,117,178,46,51,88,134,137,90,244,193,234,119,182,158,4,161,179,217,86,46,49,128,111,161,72,76,194,231,243,249,168,168,139,137,226,27,11,41,12,49,128,249,170,202,190,103,153,139,123,211,232,57,151,88,91,189,97,71,82,132, +143,137,57,154,223,173,202,106,244,163,179,31,221,146,24,22,140,5,101,231,181,119,254,31,186,4,32,238,90,196,97,100,75,59,16,72,43,76,130,62,56,62,190,41,209,152,239,135,107,240,20,176,182,184,238,157,33,140,160,233,64,0,251,224,145,121,146,128,55,210, +33,145,146,7,231,179,77,169,255,83,57,163,41,97,18,163,2,160,40,242,97,89,231,155,250,211,220,49,65,67,118,112,218,155,222,199,128,220,76,189,38,156,36,16,110,133,241,70,178,169,71,150,117,56,211,224,31,29,171,37,74,22,208,103,18,121,93,53,60,134,163, +3,57,66,86,99,195,0,203,104,240,40,49,128,91,249,180,186,20,24,44,138,17,148,229,13,37,126,173,254,119,160,137,27,31,23,70,8,205,218,171,223,49,137,247,60,196,11,161,132,112,147,212,224,13,73,113,198,139,124,163,148,8,127,40,213,131,21,171,100,44,22, +101,57,172,69,62,162,143,113,67,22,22,89,247,22,3,180,89,18,205,123,22,5,128,195,139,194,176,0,51,234,160,145,40,86,70,112,163,10,192,92,43,12,227,36,163,25,206,14,200,12,37,48,234,153,206,87,106,10,94,57,8,180,196,39,114,228,243,249,166,68,87,135,108, +48,136,172,116,225,144,122,148,248,190,56,183,79,29,40,244,153,163,71,10,216,223,114,76,39,167,148,152,112,62,27,151,53,249,38,82,237,19,38,6,144,159,47,36,94,169,235,124,192,148,46,78,220,106,102,29,91,211,39,178,207,28,202,149,99,222,105,88,64,175, +105,171,76,184,34,51,184,199,168,228,70,109,164,4,56,86,146,175,242,122,240,64,28,223,46,139,50,133,33,192,195,242,157,92,105,52,208,227,80,168,201,25,52,159,111,236,205,102,55,64,24,244,206,152,71,192,112,165,135,160,207,94,239,49,8,196,66,37,184,140, +35,205,119,146,123,5,217,124,122,54,34,19,208,119,85,211,123,211,179,233,164,204,139,180,81,0,220,145,73,191,194,189,213,155,184,43,154,43,193,187,190,253,73,31,71,64,199,178,176,114,0,140,218,209,167,24,215,252,100,247,232,86,89,84,169,189,56,22,167, +120,156,172,0,23,248,33,9,160,214,79,81,108,60,41,196,142,182,0,124,9,16,172,216,16,189,163,181,22,176,193,13,125,8,28,3,88,208,97,113,51,169,160,197,110,49,155,141,201,65,5,156,23,88,85,41,89,236,169,92,112,243,233,108,67,200,201,182,68,99,17,35,144, +49,8,188,63,141,36,0,3,227,26,213,33,2,182,64,143,196,232,49,68,3,49,193,103,130,177,196,205,7,229,97,121,191,76,6,91,89,45,180,15,196,2,237,43,115,5,95,181,4,80,171,138,233,65,226,108,58,221,29,15,135,35,103,1,56,244,207,26,27,222,71,254,76,120,86,0, +107,94,67,140,16,24,34,82,0,187,224,17,253,155,37,169,148,143,42,35,1,188,89,147,216,112,62,193,90,36,74,107,152,21,223,252,215,144,81,159,150,88,73,71,54,132,114,192,146,148,71,95,15,109,140,70,34,36,10,13,212,59,211,249,116,2,74,3,60,28,21,112,238, +124,128,85,204,13,37,172,229,133,167,247,238,221,20,116,47,44,4,114,254,138,143,96,128,216,114,118,12,195,34,234,194,251,188,197,12,78,255,155,147,27,243,74,2,83,105,161,12,204,189,184,168,159,52,3,55,144,139,132,5,171,189,249,183,199,143,239,44,132, +70,38,160,49,233,52,145,107,143,228,216,90,255,93,38,169,157,68,73,228,127,243,42,223,60,41,78,118,110,177,155,247,125,226,247,249,2,46,98,29,164,87,141,1,84,100,77,254,229,114,48,156,76,64,105,110,181,137,107,29,227,61,132,111,89,122,62,94,192,104,180, +111,249,160,132,2,128,134,43,165,48,42,135,162,170,6,228,82,37,151,181,242,195,203,119,165,25,56,22,3,76,26,147,15,60,129,31,88,20,10,188,181,29,63,208,130,137,224,76,60,112,6,37,122,127,125,241,239,51,81,99,95,164,242,191,138,149,155,211,100,186,37, +37,141,16,218,20,228,87,237,13,188,50,63,128,23,239,151,115,174,252,1,60,41,138,3,72,120,162,1,32,116,23,56,176,136,13,207,226,204,129,6,16,162,240,152,2,26,53,18,115,1,211,99,231,131,160,172,31,114,72,85,35,172,156,4,176,193,22,9,87,202,137,180,19,19, +203,156,237,149,15,173,149,222,118,4,249,6,161,240,220,64,214,3,80,59,66,163,89,237,13,62,96,158,12,176,108,165,177,4,169,151,26,196,86,206,102,59,114,160,4,46,18,59,230,171,244,5,92,185,4,80,186,138,194,87,69,49,16,69,113,168,137,198,218,78,159,69,32, +30,123,196,191,93,205,44,32,246,66,201,0,129,223,64,210,191,172,7,181,148,0,194,34,106,5,75,16,36,46,24,51,51,118,112,235,53,198,2,161,107,8,60,15,64,155,53,152,51,252,186,66,31,220,231,218,113,5,240,216,71,240,98,227,180,62,57,20,149,28,23,87,57,11, +124,65,124,249,209,50,128,231,170,84,147,88,228,249,104,243,236,236,118,34,234,246,10,5,232,70,81,156,137,7,17,32,231,233,117,31,12,58,128,24,56,129,124,75,2,188,248,130,121,67,148,213,72,142,109,172,135,172,179,147,72,122,229,243,124,34,198,164,2,176, +133,247,99,132,247,191,175,97,22,116,104,95,56,51,182,45,77,66,196,239,107,127,29,60,178,207,180,75,168,218,40,39,39,195,147,3,81,10,128,1,176,199,217,12,132,150,175,154,36,128,100,128,39,165,4,200,162,129,26,108,3,64,183,124,2,85,225,175,244,80,228, +199,176,65,139,9,172,25,233,71,138,145,149,101,49,146,99,155,160,183,146,36,22,72,103,243,217,182,52,15,1,23,71,155,60,190,133,32,12,212,126,7,156,59,8,3,198,129,206,149,109,220,224,161,133,93,41,3,118,230,135,85,94,67,182,145,182,98,45,143,165,25,200, +156,103,141,137,217,108,182,185,145,101,155,29,34,70,221,189,184,192,255,143,241,232,160,79,124,17,9,20,33,118,178,53,76,86,210,64,72,113,239,231,40,170,228,149,178,216,176,33,105,244,162,246,24,209,83,16,121,13,35,134,105,243,105,136,176,81,236,21,108, +185,151,211,36,101,165,40,246,243,34,247,29,87,87,42,1,174,42,26,232,59,41,56,229,223,77,31,60,216,175,132,24,183,137,236,173,220,142,7,208,243,20,10,236,218,241,214,132,108,49,14,152,107,49,194,80,97,44,65,94,10,202,79,49,170,139,98,34,172,67,69,210, +187,150,19,91,150,213,38,5,94,172,0,71,47,74,135,45,63,63,182,200,212,228,8,180,125,82,93,243,49,100,34,223,239,199,188,200,98,35,17,18,41,160,79,139,147,253,89,61,27,201,239,18,222,60,63,186,104,224,2,198,176,129,32,121,111,92,176,227,227,3,185,180, +134,141,62,6,79,103,131,97,61,8,124,2,126,50,8,235,81,5,49,215,49,182,177,132,85,23,192,26,23,52,145,150,48,159,16,25,86,210,18,208,181,0,148,111,198,84,6,147,168,71,196,76,244,209,218,69,244,109,176,183,54,154,217,18,85,120,209,65,240,174,110,51,9,70, +88,169,27,205,4,207,114,208,191,87,155,239,38,83,112,202,166,187,57,159,79,228,239,29,251,56,139,18,68,30,9,6,88,192,4,54,10,40,241,11,199,52,207,247,229,72,135,154,240,193,106,116,22,19,182,147,229,124,191,191,37,96,104,226,133,207,25,107,71,21,133, +199,4,190,235,217,74,25,174,28,68,216,198,44,218,180,66,47,109,195,129,70,230,39,171,112,71,40,193,218,49,139,70,22,216,199,194,187,170,29,93,180,65,229,230,119,88,139,161,172,18,210,190,128,122,183,100,210,68,85,214,181,112,150,128,113,6,224,181,51, +192,50,39,16,61,166,120,123,149,231,55,229,40,7,45,179,205,183,207,125,80,216,151,38,17,234,241,142,254,15,128,160,207,16,16,16,95,185,152,41,176,202,201,55,128,177,220,58,160,84,69,23,205,111,86,40,186,216,128,136,234,244,246,170,110,171,17,63,73,172, +9,28,135,247,10,45,121,97,175,32,75,160,132,124,119,90,158,237,144,122,234,36,41,60,134,126,0,181,186,10,201,0,131,211,211,155,153,20,173,206,17,19,66,165,150,184,14,99,248,61,160,80,193,75,17,1,135,44,194,12,44,154,91,128,148,124,201,208,47,76,81,191, +202,19,46,180,203,66,40,231,13,26,2,104,145,44,90,115,223,228,5,98,43,35,0,13,147,120,104,39,80,3,177,36,179,208,82,64,15,160,1,203,119,102,187,167,249,233,30,74,129,175,150,83,19,113,125,108,204,192,86,190,154,74,5,171,42,126,43,207,111,140,41,254,62, +24,4,121,0,158,52,16,145,212,173,168,69,224,185,117,67,19,208,254,21,162,241,37,132,94,65,39,1,72,203,144,46,7,132,8,91,130,118,10,57,18,162,209,199,220,169,2,104,37,134,176,78,90,72,179,230,109,182,95,44,183,16,91,57,4,139,19,197,196,141,106,43,63,158, +239,138,66,50,225,16,90,85,86,87,17,15,184,10,9,128,190,35,136,68,43,229,215,237,50,182,155,182,34,125,204,115,246,88,175,94,232,2,198,136,103,16,219,42,193,247,10,10,11,44,133,39,129,61,241,109,167,72,104,203,130,60,170,2,76,153,88,171,80,148,84,2,175, +53,70,21,164,119,61,243,168,29,200,133,78,36,18,156,211,167,201,7,110,16,129,240,254,245,213,75,104,68,134,150,133,253,158,100,156,192,188,154,238,215,105,37,89,55,99,143,212,17,212,99,110,128,23,15,80,232,244,236,248,120,71,226,128,45,37,254,67,127, +62,195,120,52,23,252,247,33,78,124,22,152,135,16,132,151,25,246,184,147,133,147,30,2,84,21,129,159,94,162,109,17,174,242,242,229,215,217,172,221,70,212,131,193,1,126,148,176,137,236,181,215,51,235,24,140,93,236,223,198,6,200,48,240,30,248,40,33,149,198, +224,209,252,232,176,28,84,217,128,13,106,3,2,163,206,160,71,22,13,116,49,0,26,148,52,1,241,244,116,143,178,111,123,245,63,243,60,116,128,11,192,96,219,142,111,28,133,24,137,43,132,110,98,214,85,3,142,51,98,197,21,96,106,180,208,100,232,177,86,188,142, +123,46,27,107,8,134,153,40,216,210,248,221,149,47,162,176,48,166,0,26,48,73,190,128,19,60,57,168,152,202,12,170,188,112,240,227,3,2,61,7,5,85,92,86,105,89,110,39,66,108,40,147,75,96,220,85,230,86,38,196,131,57,173,252,62,214,117,238,56,135,17,118,189, +140,49,151,176,41,40,145,75,93,89,96,17,95,28,210,112,107,79,5,160,151,203,135,65,120,8,58,33,98,214,97,134,152,7,0,61,117,129,29,227,49,156,29,50,5,51,150,243,249,65,205,235,76,10,167,57,21,174,250,25,194,143,60,28,108,137,111,147,65,9,138,213,121,46, +33,0,78,90,182,56,11,252,0,78,8,219,52,241,112,229,138,174,104,87,34,223,83,9,78,5,68,174,117,165,101,230,185,202,74,18,26,54,176,118,9,182,98,8,165,7,192,84,232,212,46,40,203,61,188,207,29,54,239,50,0,180,18,69,177,229,51,20,129,15,177,43,45,186,46, +100,116,4,226,44,199,252,32,47,231,19,57,215,39,118,158,213,72,56,191,180,47,224,42,37,128,26,84,85,215,0,84,13,84,148,27,206,2,96,145,192,15,4,240,123,217,109,68,227,255,145,194,17,196,168,62,117,140,192,129,117,145,28,49,19,9,47,222,98,0,77,10,174, +214,63,56,127,128,232,129,131,208,114,11,55,214,64,83,246,17,2,193,198,96,20,81,68,96,199,127,186,117,114,99,90,78,183,228,101,239,217,175,191,42,53,112,85,126,0,176,174,213,92,50,192,222,108,118,176,83,85,137,75,7,95,74,88,22,215,229,225,155,34,32,46, +122,82,1,35,249,6,126,45,129,181,70,168,168,20,64,120,225,96,197,17,4,2,229,233,106,249,124,146,10,151,221,139,173,76,158,118,13,145,104,71,242,90,114,0,91,198,97,168,2,250,204,64,97,236,143,234,137,124,47,127,123,190,1,34,90,135,252,248,56,130,168,17, +3,73,128,177,16,187,19,235,180,233,211,83,177,202,202,208,137,227,219,250,190,217,136,30,46,104,121,5,35,137,34,162,157,76,2,186,49,68,29,168,54,146,254,74,185,212,174,110,79,123,255,173,21,32,92,181,80,147,193,195,188,156,224,38,227,39,4,134,194,201, +133,182,85,208,118,6,55,242,202,247,67,106,150,73,54,147,73,81,23,91,140,106,68,224,106,35,184,87,202,0,105,154,86,85,81,76,230,69,177,71,213,184,206,22,103,16,120,249,32,48,34,177,29,11,112,129,21,240,69,116,4,220,137,254,0,17,250,17,196,134,113,80, +215,123,139,144,49,149,47,128,219,198,37,162,55,80,10,65,0,215,127,206,189,28,31,108,49,6,122,254,127,110,234,134,181,143,49,81,255,250,30,0,93,29,132,206,244,84,133,162,233,209,236,232,32,57,224,212,217,228,241,115,5,91,48,149,14,6,5,20,197,126,125, +255,254,45,151,149,139,16,184,61,61,100,222,237,156,96,136,203,61,43,193,3,141,246,9,247,164,128,167,71,155,149,110,65,36,52,140,80,202,53,76,64,16,20,2,100,16,250,94,73,137,165,146,52,73,97,114,115,209,65,64,238,224,31,247,8,207,61,18,129,115,29,183, +5,156,112,129,32,108,73,132,134,41,218,30,67,95,82,52,242,69,240,58,189,47,238,61,145,14,210,202,6,129,174,170,79,192,85,73,0,234,195,35,104,98,135,27,27,179,227,170,122,239,248,251,223,101,195,209,144,85,9,176,20,74,198,135,114,122,192,107,10,97,45, +10,82,19,94,226,38,114,179,142,44,19,216,212,110,47,128,164,249,7,91,36,68,79,244,107,39,105,173,153,66,212,146,182,37,43,79,24,251,222,221,154,205,182,54,41,77,153,181,170,8,229,192,210,52,17,213,73,193,126,248,59,111,176,233,248,73,38,117,153,179,120, +192,148,124,89,162,0,54,13,75,156,33,227,20,128,69,105,96,74,190,161,65,245,96,50,133,193,4,151,104,14,140,17,196,141,165,68,133,9,20,233,77,228,153,166,53,203,179,41,131,19,156,111,139,157,59,73,154,170,198,53,87,217,36,226,74,24,64,117,222,74,18,65, +137,160,135,59,59,103,243,95,248,249,191,253,141,217,233,116,242,245,95,255,249,237,147,7,27,48,76,24,121,90,7,146,40,169,92,133,148,39,152,214,149,90,145,116,130,17,229,42,76,3,232,12,3,110,68,189,75,156,128,32,140,192,65,137,79,97,90,13,208,227,130, +94,179,126,166,12,84,0,37,145,218,104,42,56,123,117,244,28,43,14,14,155,196,63,151,134,32,9,53,72,48,159,113,246,157,175,254,46,59,59,253,145,252,109,147,165,47,172,86,215,42,200,117,180,177,134,143,145,50,142,36,158,196,3,69,76,112,230,51,79,36,59,36, +244,90,194,146,36,97,60,77,229,95,206,210,76,62,151,143,179,20,212,88,137,240,48,146,191,206,231,236,134,56,248,225,207,236,255,209,127,240,185,79,126,254,223,212,80,13,83,158,86,126,131,171,71,206,0,166,131,21,245,175,169,133,196,0,117,81,12,159,124, +250,153,215,55,254,250,47,253,210,15,94,250,196,111,28,253,139,127,254,87,118,95,251,193,75,116,179,37,200,27,150,211,159,16,19,212,146,41,104,117,202,149,198,5,157,52,217,77,214,47,168,83,18,15,26,226,235,244,13,52,140,0,170,105,11,49,2,5,108,106,208, +127,21,3,128,126,142,169,252,141,129,156,212,148,147,149,199,70,35,149,174,174,64,160,87,101,161,86,36,197,136,74,90,177,146,9,54,242,169,126,205,165,162,27,181,36,12,225,233,127,98,12,97,180,60,232,80,178,213,66,78,73,16,225,85,248,89,45,113,121,143, +92,159,9,173,116,164,222,116,42,237,75,210,93,62,23,74,16,170,86,73,212,10,104,6,245,203,227,79,253,219,63,254,252,23,255,254,39,158,255,196,183,48,195,140,24,222,118,57,123,100,12,208,151,122,164,24,64,8,78,64,112,62,155,141,54,228,12,190,252,39,190, +252,149,55,94,248,216,119,222,253,202,47,255,197,244,235,255,249,79,110,204,231,195,98,144,169,90,17,34,54,77,0,40,7,77,77,9,79,70,92,107,228,174,141,51,116,117,122,224,199,146,204,138,66,131,35,104,229,19,209,133,33,124,165,164,130,124,46,185,7,229, +9,114,181,161,4,254,167,148,20,106,156,40,30,118,209,205,162,136,1,114,57,166,105,198,178,50,109,28,61,20,56,168,193,180,51,224,13,67,8,179,242,91,185,195,38,175,31,26,0,8,134,131,137,17,56,141,69,50,62,167,21,15,230,76,168,106,217,148,155,113,26,123, +201,246,202,189,55,190,240,225,207,255,227,207,191,248,185,175,236,221,216,191,63,199,249,230,16,134,185,156,219,82,158,4,4,109,32,235,250,163,129,177,31,48,3,225,102,66,69,154,101,101,53,159,143,234,179,179,237,15,63,251,236,107,155,127,249,175,253, +205,255,251,210,203,223,124,227,171,255,242,47,141,223,124,243,121,98,245,138,100,157,226,250,68,225,0,205,0,194,121,245,192,76,8,216,136,157,239,125,3,237,203,85,30,94,221,8,74,25,108,36,178,137,17,42,208,82,64,80,15,0,186,78,254,158,208,61,165,232, +26,227,1,228,141,208,166,0,17,117,135,155,201,21,121,170,165,148,91,209,106,72,202,110,144,175,37,77,74,155,11,99,24,67,145,235,215,141,91,193,136,44,77,120,245,48,49,12,144,104,41,144,82,159,43,121,61,53,133,227,153,46,166,225,85,82,190,180,241,226, +127,122,229,229,159,253,135,31,123,250,99,255,139,15,56,159,229,179,205,209,104,52,247,87,189,109,109,123,237,174,224,165,129,160,54,46,80,83,149,159,158,110,13,229,253,191,240,133,47,252,234,219,207,60,253,253,255,243,181,175,253,249,242,183,126,243, +149,52,159,143,107,201,4,164,175,33,105,162,117,232,217,242,104,171,122,125,107,16,108,121,161,169,161,1,45,31,84,131,5,90,253,160,171,241,20,67,40,169,160,171,131,40,20,76,147,94,83,199,5,174,76,190,198,29,204,53,58,171,230,82,21,205,19,195,0,90,191, +43,198,36,98,41,237,196,155,128,144,195,39,122,124,164,18,180,176,50,4,7,45,246,173,148,160,239,35,92,161,108,10,185,242,185,122,174,27,160,81,103,149,109,177,253,214,103,158,248,244,63,251,236,203,127,232,107,219,59,219,39,243,122,190,157,85,89,49,28, +14,115,95,220,251,249,151,87,145,22,118,101,158,64,211,30,206,53,135,148,167,107,107,82,228,249,176,144,0,241,224,230,237,119,199,127,246,207,253,221,239,62,251,220,239,188,255,31,127,237,23,241,157,119,62,10,89,38,137,150,105,164,140,198,68,50,113,2, +221,170,13,156,65,32,116,63,39,183,242,104,130,85,69,178,245,198,131,6,130,104,56,6,141,116,208,86,161,96,3,73,204,68,163,123,193,77,219,88,133,97,40,207,130,114,67,167,200,210,194,212,251,218,213,45,140,3,8,161,43,238,13,16,5,51,64,110,254,170,215,204, +169,138,82,233,229,84,3,64,200,64,73,2,165,248,51,65,76,80,63,51,126,250,191,125,246,99,159,253,167,207,63,243,252,183,37,143,164,167,179,211,237,129,52,169,165,184,87,139,139,230,211,180,184,21,87,9,0,47,141,1,76,211,95,213,23,144,106,238,203,178,74, +147,36,203,7,131,100,38,81,1,225,239,1,34,31,152,199,195,60,47,134,35,62,16,191,239,167,127,246,95,189,253,236,11,223,250,238,127,248,181,63,253,222,127,255,230,43,229,131,211,61,202,213,115,170,213,160,109,97,136,106,165,110,109,124,243,104,175,1,237, +50,65,99,42,106,149,224,187,27,192,101,34,209,42,219,28,103,236,176,170,49,161,150,177,205,100,74,11,134,250,69,73,140,157,151,76,228,247,181,3,19,27,192,103,138,134,53,168,99,154,224,10,213,27,6,179,14,36,213,190,208,72,1,83,114,216,48,1,17,63,53,152, +64,157,136,187,233,205,239,125,234,169,207,252,202,167,158,255,201,127,191,179,187,123,44,88,149,14,178,108,54,28,14,230,131,193,80,174,254,65,158,73,117,58,144,127,37,67,148,85,197,228,66,42,229,67,9,20,60,12,227,99,129,107,197,0,38,50,149,120,253,128, +217,91,111,126,255,51,103,211,119,127,138,38,177,174,203,148,218,173,18,7,35,82,235,211,154,83,119,14,20,117,178,179,151,229,47,124,233,19,191,119,240,28,251,193,230,131,119,63,173,165,40,120,125,164,154,174,89,194,133,2,180,238,179,126,91,52,177,0,97, +106,191,117,126,47,119,94,99,69,36,133,80,181,190,124,235,251,119,216,59,239,207,51,205,59,220,69,16,36,14,17,69,57,7,44,19,182,191,243,69,54,220,60,144,120,212,239,83,96,124,19,104,204,65,104,208,191,243,118,66,195,48,204,72,45,213,29,141,162,207,220, +4,161,236,95,234,88,87,227,241,110,181,245,157,122,246,52,251,214,171,245,207,213,226,78,146,101,4,242,18,42,89,54,221,77,185,52,249,168,175,113,130,147,81,122,252,201,151,247,191,126,235,214,225,187,52,159,182,103,192,101,37,194,101,84,0,232,40,171, +94,253,146,246,245,241,241,221,15,205,230,223,248,59,47,190,184,253,7,40,46,104,21,55,116,243,168,228,220,230,144,102,227,34,249,242,103,164,77,80,68,242,37,35,25,192,173,148,41,108,133,94,219,233,229,205,119,56,129,45,5,209,111,127,243,183,79,127,229, +43,27,95,221,63,188,241,122,93,85,67,219,140,89,160,72,63,241,194,139,191,254,214,15,171,151,118,119,255,198,167,39,79,236,178,170,16,14,132,106,16,215,78,85,176,104,159,247,100,175,117,194,16,230,111,109,60,213,242,115,27,105,42,94,185,147,23,63,39, +102,10,92,96,171,118,6,209,19,184,0,101,49,173,238,124,240,206,223,251,51,127,106,231,111,85,53,31,74,194,39,118,252,143,12,3,152,46,219,170,223,94,41,165,231,124,126,116,251,240,240,254,199,119,119,7,114,186,242,36,172,125,235,122,212,139,52,244,200, +118,163,65,225,99,236,186,127,91,225,64,17,92,111,211,136,18,182,247,196,232,238,31,126,229,103,126,249,137,39,158,124,171,40,230,19,41,94,11,149,196,90,22,195,207,252,228,31,252,47,119,126,111,240,210,171,111,12,63,125,231,237,148,44,82,150,112,67,108, +174,25,128,27,141,194,205,107,182,251,12,231,77,63,10,223,8,112,94,75,239,142,185,112,89,132,105,157,179,45,132,145,6,181,61,241,44,203,112,101,185,157,189,251,126,254,242,116,122,58,206,6,155,204,52,183,182,18,224,145,96,0,151,157,74,162,189,40,80,130, +191,179,221,167,158,34,157,47,22,16,147,7,132,1,214,223,232,39,70,112,8,158,139,86,206,88,60,3,79,55,118,154,205,78,111,28,61,120,231,5,196,159,248,182,49,255,172,73,37,168,67,200,187,119,222,127,177,78,114,249,218,86,139,189,200,158,1,209,196,180,208, +147,0,126,225,147,107,71,100,53,5,118,178,14,58,181,172,216,243,188,85,80,109,44,14,1,147,221,179,179,187,27,219,233,100,234,183,141,243,51,132,175,179,83,168,151,9,132,82,13,148,233,201,201,209,237,209,104,56,8,186,63,120,39,247,102,128,179,158,182, +95,145,213,31,4,147,122,94,195,160,218,174,253,219,137,20,201,103,27,167,103,239,125,172,170,106,181,114,236,61,200,199,213,217,217,116,251,238,253,147,23,43,41,167,57,196,162,127,241,54,199,173,108,53,22,228,167,176,254,10,182,190,130,167,152,159,13, +141,148,41,203,122,235,232,232,120,223,118,15,245,210,241,47,92,27,120,217,216,162,107,10,73,82,224,244,244,254,109,196,140,175,0,29,122,147,32,250,51,70,98,24,0,23,126,115,231,151,121,197,78,78,239,124,100,122,54,31,81,235,117,35,193,72,153,214,71,15, +142,14,167,179,252,80,136,126,181,26,118,177,109,21,158,134,4,93,20,169,142,84,183,177,24,150,240,152,139,238,109,150,215,155,71,15,170,125,80,37,142,34,185,138,172,160,115,49,128,14,110,112,102,99,210,141,10,208,187,155,36,201,217,129,22,132,98,9,161, +25,91,220,249,121,213,215,241,92,140,38,237,106,246,193,253,187,79,158,156,28,239,167,73,90,218,213,67,238,235,119,222,121,247,185,178,170,55,161,87,250,53,76,192,88,123,117,219,52,69,33,186,43,93,68,138,160,23,181,72,238,83,13,186,127,53,108,76,103, +124,151,20,87,51,247,2,44,93,46,130,5,46,37,1,108,103,112,13,4,171,44,73,138,27,109,88,17,3,126,200,122,82,132,47,65,112,92,202,14,90,2,36,236,228,248,248,214,241,233,209,33,165,128,121,25,182,236,238,221,15,158,169,107,49,114,197,69,44,168,92,143,172, +112,198,186,125,47,93,55,123,219,27,51,36,244,2,105,16,147,8,232,1,65,206,113,50,159,215,251,36,165,172,249,125,217,20,177,203,90,1,182,122,82,228,69,190,9,188,184,5,48,97,77,181,76,44,11,8,88,127,239,108,140,228,138,225,2,203,0,34,168,127,193,120,229, +236,87,101,53,40,139,98,72,155,68,200,147,235,110,97,85,146,23,229,152,186,134,51,172,52,209,132,243,252,234,64,96,80,73,226,170,209,124,180,111,26,146,9,47,161,41,180,208,195,174,120,97,79,43,92,176,62,242,42,27,31,159,242,3,33,42,176,221,247,46,171, +6,46,106,5,128,143,64,201,65,83,149,249,104,103,187,184,193,249,100,9,83,226,5,69,253,42,175,133,12,17,209,225,214,102,4,151,7,100,34,194,80,11,105,165,35,152,40,67,172,182,196,210,222,75,79,180,197,79,206,63,32,60,66,251,153,240,208,15,242,132,136,79, +65,8,129,235,106,59,59,155,237,222,168,170,156,243,100,16,109,25,115,109,45,98,154,150,165,218,29,39,7,53,185,253,132,216,53,49,160,208,35,179,210,10,93,110,5,96,143,201,24,182,114,137,247,142,213,33,6,114,56,114,219,121,179,201,9,80,161,8,29,143,8,197, +111,88,151,18,195,6,171,232,248,206,247,198,246,195,192,136,124,180,210,134,143,37,139,78,14,165,197,197,205,214,119,215,11,2,187,156,171,76,64,21,161,57,59,123,176,55,25,103,99,182,50,46,239,179,247,217,2,245,192,86,120,157,245,56,159,140,249,218,20, +141,182,182,237,210,161,132,166,208,52,172,67,69,182,92,111,163,151,161,46,206,1,246,98,86,69,167,200,9,181,51,106,54,47,247,102,179,249,68,199,183,46,223,51,232,162,126,0,103,108,171,166,16,82,115,206,102,199,210,132,74,135,113,162,138,5,43,27,151,156, +140,245,215,215,135,44,0,11,153,66,237,63,69,241,61,14,162,227,97,80,82,193,110,91,21,89,173,94,91,99,29,231,104,254,210,235,181,5,125,94,177,178,16,109,70,232,35,190,8,190,27,89,91,106,160,87,211,114,124,86,239,157,77,197,38,249,133,130,29,90,174,215, +19,216,50,1,149,230,59,145,22,0,203,206,183,130,151,217,253,231,5,125,184,80,226,24,149,21,239,14,66,73,173,216,36,164,44,178,211,45,48,180,213,109,22,12,58,86,71,182,112,95,204,62,219,31,177,139,153,125,243,147,171,70,167,176,83,20,201,6,167,29,13,219, +24,224,66,185,1,231,174,13,164,100,70,161,89,211,108,177,74,78,32,224,105,154,239,75,189,148,45,215,245,203,128,223,34,144,216,5,120,184,68,239,251,175,9,93,74,14,44,222,172,212,102,164,180,235,78,188,125,39,208,55,80,68,191,134,11,59,223,70,187,227, +123,59,231,48,232,246,209,100,97,87,29,98,128,84,221,239,86,89,138,77,45,137,27,21,144,36,201,181,154,129,110,95,0,122,82,150,69,138,76,245,4,74,186,118,254,170,168,31,207,33,9,22,93,211,253,94,155,74,166,34,113,140,155,68,144,118,19,89,85,253,163,226, +196,232,10,145,16,226,145,62,224,139,251,84,199,202,33,253,225,181,218,30,26,161,22,109,154,30,89,211,211,121,182,115,124,90,31,160,168,232,94,46,189,137,196,165,172,0,51,96,204,243,50,219,152,228,183,178,52,104,202,16,13,10,133,239,183,131,57,253,81, +191,240,187,113,137,212,195,46,155,8,230,41,121,223,225,175,227,113,232,229,36,178,8,10,239,52,39,11,28,59,49,96,23,11,246,56,61,239,221,190,211,249,190,99,73,116,43,231,242,252,96,251,108,58,62,16,162,100,166,43,255,165,152,224,34,24,160,181,57,148, +150,0,101,118,235,86,113,48,28,166,17,98,173,162,18,112,133,207,116,95,195,222,207,196,59,123,42,55,191,234,100,217,148,35,235,220,58,181,97,115,141,74,173,98,167,59,93,232,192,241,155,144,51,104,171,10,139,15,24,46,215,249,45,105,225,177,182,159,10, +1,194,139,58,210,248,147,221,180,172,223,223,171,235,146,118,58,105,209,227,90,93,193,205,143,114,49,157,158,110,142,39,108,171,235,3,88,20,207,95,197,57,20,91,253,125,196,95,14,4,53,6,160,186,64,46,66,108,67,175,57,43,39,226,134,93,68,192,78,44,191, +94,188,29,34,99,193,102,38,61,141,84,195,94,88,182,24,102,58,205,247,41,253,206,154,226,143,202,12,180,189,235,197,217,217,131,253,170,132,13,237,158,196,37,196,246,9,43,86,100,144,85,226,3,43,236,100,98,236,116,173,255,109,153,25,184,116,34,179,239, +97,127,239,15,92,46,111,252,107,252,221,111,162,1,37,193,22,183,82,102,221,109,147,104,76,71,15,138,253,162,196,1,0,250,13,186,46,20,18,62,119,52,208,138,25,187,65,36,165,75,0,76,119,16,235,113,191,199,111,21,134,64,182,106,104,24,25,246,196,24,22,142, +94,218,234,104,74,7,227,102,160,74,40,161,204,228,160,135,37,46,128,25,157,174,118,177,110,53,145,40,31,46,120,45,26,59,48,140,147,200,117,127,54,231,7,117,197,135,202,117,37,240,82,18,224,220,102,96,184,57,164,64,42,172,156,237,73,96,61,105,155,106, +176,32,176,179,170,217,135,43,248,12,160,199,237,28,113,5,91,6,0,64,128,246,125,113,181,111,0,82,227,232,78,74,23,91,224,107,100,44,210,224,4,151,155,132,173,239,14,51,135,34,183,194,161,9,11,215,181,216,171,106,28,82,247,99,63,51,232,34,117,2,23,226, +30,31,117,214,85,13,117,61,187,33,129,207,36,110,179,139,75,196,1,22,1,191,48,100,6,75,200,132,138,1,4,34,195,30,76,65,24,161,174,177,241,14,71,242,251,206,227,217,88,230,0,194,158,198,102,81,135,182,183,249,201,116,150,30,78,167,229,182,53,36,109,235, +184,107,51,3,125,6,40,138,154,75,9,112,107,56,192,193,98,159,254,121,212,193,74,242,104,133,88,128,255,156,51,157,233,13,206,19,24,122,4,133,114,106,97,148,175,250,26,154,54,161,132,229,196,95,6,210,99,193,33,223,210,0,231,11,184,121,112,54,5,82,187, +30,174,16,15,159,1,236,86,107,62,19,228,121,153,236,239,23,7,219,219,98,5,15,31,246,136,238,213,220,186,24,105,211,188,26,163,96,3,190,48,222,39,80,153,129,20,35,180,133,169,176,64,252,199,222,135,184,238,94,93,189,70,62,135,193,235,96,44,12,118,176, +85,148,201,150,32,103,16,186,182,177,23,202,13,184,140,4,80,137,149,179,217,124,56,28,21,187,131,1,239,49,251,216,57,86,122,159,120,183,115,12,17,177,191,44,245,188,185,77,33,180,167,55,74,28,93,159,217,20,166,122,226,223,218,252,54,253,219,39,148,159, +18,238,51,71,184,226,1,226,76,180,136,105,124,141,238,3,69,158,102,131,179,233,108,15,245,170,191,148,39,240,34,173,98,193,212,3,40,79,118,145,159,109,230,243,106,87,127,85,24,168,129,115,136,245,176,119,156,191,122,113,133,21,14,61,184,160,65,84,216, +232,127,191,148,202,219,85,72,152,234,163,246,42,247,29,63,139,90,244,216,228,144,24,19,180,246,178,130,5,4,103,221,182,74,225,95,26,226,189,123,243,91,130,252,218,102,183,214,139,134,134,47,42,1,140,184,33,167,202,124,3,145,0,73,194,186,9,28,253,171, +185,203,24,176,224,253,85,59,164,247,93,167,49,146,232,179,149,193,116,32,172,177,69,64,127,226,99,171,159,69,84,1,4,173,144,252,102,68,108,21,235,34,16,106,16,241,68,82,80,232,228,140,31,72,233,207,47,187,103,196,121,93,193,208,142,65,211,254,11,243, +77,206,11,201,0,212,19,176,234,33,254,101,192,30,139,170,2,92,233,243,109,105,128,58,11,32,22,14,38,118,38,253,175,226,1,190,216,239,19,227,81,194,247,255,244,226,17,66,12,246,183,31,187,244,51,34,90,38,193,119,197,14,132,222,76,18,47,19,15,72,47,186, +250,117,70,48,217,164,179,253,36,169,119,186,98,251,162,40,126,209,231,219,13,216,176,85,100,226,227,7,30,7,145,202,203,7,181,215,28,194,163,159,218,70,166,217,118,152,55,182,247,34,208,214,209,96,61,110,9,53,42,191,71,118,176,121,138,175,50,90,27,170, +134,140,103,32,236,217,148,221,144,0,124,52,26,225,137,221,82,246,218,48,128,121,6,117,69,195,155,29,142,198,184,221,175,123,113,137,206,95,166,215,251,63,3,157,221,54,98,217,65,141,76,21,162,29,145,117,146,0,117,159,64,213,139,128,186,197,240,166,14, +176,215,246,247,247,186,12,204,52,27,16,114,129,30,222,222,6,201,119,14,249,152,2,34,122,159,7,82,70,151,203,115,118,58,61,184,57,159,87,147,157,29,113,162,210,242,86,215,147,151,243,4,50,83,13,68,15,242,188,226,227,73,190,183,191,143,131,243,139,119, +88,162,46,96,197,239,131,128,236,109,230,193,214,222,63,200,192,245,141,240,124,1,186,206,158,204,64,221,149,0,226,96,111,161,105,7,93,155,223,223,192,164,133,27,150,33,255,8,16,116,104,6,180,190,170,217,135,14,242,252,119,55,148,235,186,217,69,228,90, +36,128,243,5,20,101,197,211,116,190,183,189,197,89,60,19,248,34,250,126,145,229,192,123,36,11,68,228,112,119,39,95,99,87,163,107,240,226,152,192,58,83,192,37,124,180,178,128,122,136,213,217,44,18,187,82,195,134,114,93,243,40,12,16,126,31,147,69,60,233, +190,235,56,73,178,201,116,54,223,214,153,110,215,36,1,236,208,172,9,88,85,197,48,207,167,55,24,27,178,118,242,199,50,83,45,166,235,87,92,94,43,93,31,67,82,220,184,129,153,0,206,99,193,32,157,20,76,61,3,35,32,16,34,120,32,244,188,135,121,0,204,182,13, +130,126,173,6,145,41,242,85,11,68,188,145,244,183,170,197,224,222,253,153,170,112,242,83,195,30,186,4,112,27,22,169,185,44,135,117,61,221,111,124,0,112,14,145,31,147,18,176,0,200,117,87,119,151,169,248,98,255,131,209,211,212,213,212,118,214,0,215,43, +136,41,35,128,65,35,1,162,142,155,8,216,67,111,133,67,184,217,9,180,71,229,154,136,96,183,193,68,216,73,215,254,158,43,73,247,164,135,124,152,30,61,128,27,6,188,250,27,73,61,92,51,208,248,157,121,173,178,84,203,97,154,230,123,203,37,64,223,138,199,37, +118,83,31,38,128,30,119,70,95,120,152,27,71,144,96,131,193,48,79,179,172,32,194,55,29,54,128,73,56,61,85,55,97,202,195,195,28,203,150,30,239,251,25,108,202,201,44,98,111,241,75,224,20,98,65,243,8,22,168,8,215,103,192,126,23,111,46,75,7,44,203,75,118, +168,83,203,154,26,199,235,48,3,155,114,176,106,190,197,121,37,37,192,36,96,128,85,9,199,86,0,126,139,164,4,44,248,188,47,17,116,243,119,234,178,116,120,248,228,219,59,59,187,247,104,199,112,221,35,128,169,2,215,167,158,122,242,245,52,77,207,132,168,55, +56,95,226,166,229,81,225,210,180,142,241,29,76,17,87,72,75,172,135,14,169,158,223,117,210,194,97,20,72,166,83,60,172,202,50,163,78,168,22,151,93,151,25,8,40,80,84,245,108,103,60,174,247,251,87,239,121,45,129,243,232,121,88,241,218,70,94,115,200,216,225, +193,135,95,223,220,220,152,10,81,82,143,128,90,119,165,21,252,230,205,155,239,221,56,220,121,87,94,121,19,120,163,207,91,141,205,3,98,59,54,13,164,3,68,134,133,61,142,206,86,186,249,162,101,226,237,91,163,123,37,103,236,248,108,251,22,181,223,27,167, +195,162,109,162,63,100,87,48,29,117,77,173,120,139,205,195,3,138,3,172,74,156,190,14,30,141,152,94,236,210,133,115,156,60,120,94,179,225,96,227,244,96,255,169,31,100,89,170,186,110,82,95,128,132,218,114,203,247,183,183,55,31,60,253,145,155,175,170,150, +174,166,221,11,53,49,5,163,14,18,207,50,176,18,130,155,142,111,246,58,110,123,9,37,102,149,122,159,73,204,251,246,187,237,247,218,6,84,60,248,110,223,205,204,195,254,67,106,49,14,88,89,63,113,88,213,212,49,140,93,111,151,48,211,30,80,2,169,124,123,255, +128,0,0,6,122,120,25,19,44,210,249,176,2,102,88,197,213,220,6,133,181,144,12,48,220,186,43,37,192,15,185,68,129,212,115,151,186,132,232,123,97,48,26,14,231,31,253,200,19,175,190,125,175,110,251,1,60,61,13,61,67,107,245,11,98,93,147,45,38,250,209,183, +235,89,183,153,84,184,150,57,235,74,137,36,29,110,151,69,53,72,120,114,124,81,6,184,144,4,160,216,57,213,215,205,230,167,135,89,54,134,197,174,219,101,65,32,22,68,16,23,5,119,96,117,39,123,112,155,101,137,108,52,60,120,255,246,237,15,191,73,237,108,36, +241,43,146,0,70,10,8,82,7,207,63,255,209,239,75,109,90,96,192,103,176,200,186,132,126,25,7,97,96,201,59,59,142,161,224,154,69,178,208,50,104,81,214,147,211,179,98,123,48,200,138,107,145,0,198,19,168,208,243,96,32,167,177,58,185,13,108,131,233,146,192, +186,101,115,47,223,40,121,145,219,183,47,159,16,122,192,223,50,6,75,89,93,145,104,191,249,230,225,225,225,93,2,80,68,120,98,100,208,29,23,21,67,63,249,228,173,55,118,119,143,143,6,67,141,3,90,209,57,92,16,156,12,115,0,89,219,53,140,139,92,92,216,13,250, +248,166,165,255,219,232,51,37,117,22,207,97,235,193,113,114,48,28,102,249,60,175,199,23,105,24,121,94,21,96,246,6,72,235,44,131,138,32,244,201,233,29,41,90,19,70,113,1,110,88,93,181,76,5,179,53,154,176,59,132,216,30,54,24,236,18,219,76,139,67,209,168, +149,90,226,122,4,55,155,51,145,179,150,67,184,65,147,191,131,8,111,229,81,171,125,183,228,7,62,248,128,163,168,63,254,27,91,91,10,0,82,143,192,74,131,64,11,158,16,63,116,123,247,205,143,126,248,131,111,125,240,193,252,143,9,97,76,91,180,114,218,58,253, +133,110,15,107,242,11,154,98,62,101,143,49,189,243,152,142,60,130,113,219,90,11,137,3,180,54,156,245,169,15,118,131,57,179,11,9,130,183,155,48,182,57,65,7,173,50,150,242,153,180,0,18,65,109,228,147,138,13,46,82,24,114,46,219,81,245,211,173,170,65,85, +149,89,89,8,246,163,15,94,255,56,138,111,127,81,26,132,131,34,23,96,60,82,92,59,220,84,195,92,87,138,213,12,206,238,216,211,108,178,98,74,179,108,119,87,98,26,245,36,225,54,213,73,39,109,8,87,168,161,55,169,214,123,182,152,156,126,131,128,85,164,79,51, +150,170,0,146,160,142,90,174,242,162,218,124,127,52,250,228,191,147,18,224,71,196,16,212,123,87,167,130,171,251,74,203,178,76,235,186,96,175,189,118,231,147,223,123,109,240,211,149,100,15,41,226,120,173,146,45,140,5,70,29,190,193,171,49,246,140,0,253, +190,208,155,79,177,86,74,57,232,248,2,96,87,64,8,167,64,56,232,162,114,68,163,238,193,178,23,52,243,71,190,11,206,148,180,98,48,132,131,189,242,205,159,250,253,163,95,221,221,221,125,64,237,110,169,175,48,157,15,141,1,76,71,112,154,172,140,218,195,74, +158,46,103,51,44,139,162,164,70,209,25,245,218,177,217,41,189,34,196,22,107,154,213,174,87,119,219,67,210,8,123,223,159,239,125,30,89,60,239,202,73,18,189,189,3,33,124,146,86,164,239,199,227,65,53,28,226,144,56,135,58,132,6,253,247,169,135,177,188,175, +106,192,185,40,80,76,165,121,93,200,123,172,51,211,4,203,166,94,197,241,0,178,139,229,228,118,228,124,187,171,36,250,219,210,113,221,190,154,26,91,147,244,74,179,180,28,100,163,186,22,195,17,189,47,113,64,105,113,205,67,197,0,214,124,210,12,81,39,163, +81,61,200,50,150,80,137,184,156,43,142,200,151,230,169,65,183,36,110,213,56,241,50,175,130,98,9,206,237,242,129,132,152,64,62,79,229,2,161,166,203,181,6,125,106,219,21,87,150,68,190,84,106,33,167,91,178,86,169,192,201,16,248,136,46,79,104,65,175,150, +116,9,216,99,237,175,180,14,35,187,105,183,121,77,229,48,168,68,76,218,128,41,69,76,178,170,166,251,224,234,126,12,158,121,232,253,1,208,243,161,51,234,84,38,127,55,149,115,89,5,221,42,174,116,143,251,11,154,170,22,179,8,227,246,21,218,122,233,246,220, +247,67,195,182,127,144,215,133,19,206,43,41,31,226,61,97,59,126,161,221,217,254,94,2,15,21,3,96,131,70,152,63,65,33,209,31,19,6,104,37,125,216,201,241,136,143,193,60,248,39,15,61,107,143,227,61,133,204,224,191,247,48,29,65,246,135,148,9,101,203,197,46, +202,84,15,91,2,120,13,161,41,237,191,111,130,252,4,17,176,224,208,111,140,253,56,221,147,207,16,11,238,233,234,37,192,250,248,241,59,248,122,10,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176, +62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,214,12,176,62,126,28,143,255,39,192,0,238,147,31,89,162,25,31,21,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* projectIconCodeblocks_png = (const char*) temp_binary_data_27; + +//================== projectIconLinuxMakefile.png ================== +static const unsigned char temp_binary_data_28[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,110,0,0,0,128,8,6,0,0,0,234,21,92,9,0,0,10,65,105,67,67,80,73,67,67,32,80,114,111,102,105,108,101,0,0,72,13,157,150,119,84,83,217,22,135,207,189,55,189,208,18,34,32,37,244,26,122,9,32,210,59,72,21,4, +81,137,73,128,80,2,134,132,38,118,68,5,70,20,17,41,86,100,84,192,1,71,135,34,99,69,20,11,131,130,98,215,9,242,16,80,198,193,81,68,69,229,221,140,107,9,239,173,53,243,222,154,253,199,89,223,217,231,183,215,217,103,239,125,215,186,0,80,252,130,4,194,116, +88,1,128,52,161,88,20,238,235,193,92,18,19,203,196,247,2,24,16,1,14,88,1,192,225,102,102,4,71,248,68,2,212,252,189,61,153,153,168,72,198,179,246,238,46,128,100,187,219,44,191,80,38,115,214,255,127,145,34,55,67,36,6,0,10,69,213,54,60,126,38,23,229,2,148, +83,179,197,25,50,255,4,202,244,149,41,50,134,49,50,22,161,9,162,172,34,227,196,175,108,246,167,230,43,187,201,152,151,38,228,161,26,89,206,25,188,52,158,140,187,80,222,154,37,225,163,140,4,161,92,152,37,224,103,163,124,7,101,189,84,73,154,0,229,247,40, +211,211,248,156,76,0,48,20,153,95,204,231,38,161,108,137,50,69,20,25,238,137,242,2,0,8,148,196,57,188,114,14,139,249,57,104,158,0,120,166,103,228,138,4,137,73,98,166,17,215,152,105,229,232,200,102,250,241,179,83,249,98,49,43,148,195,77,225,136,120,76, +207,244,180,12,142,48,23,128,175,111,150,69,1,37,89,109,153,104,145,237,173,28,237,237,89,214,230,104,249,191,217,223,30,126,83,253,61,200,122,251,85,241,38,236,207,158,65,140,158,89,223,108,236,172,47,189,22,0,246,36,90,155,29,179,190,149,85,0,180,109, +6,64,229,225,172,79,239,32,0,242,5,0,180,222,156,243,30,134,108,94,146,196,226,12,39,11,139,236,236,108,115,1,159,107,46,43,232,55,251,159,130,111,202,191,134,57,247,153,203,238,251,86,59,166,23,63,129,35,73,21,51,101,69,229,166,167,166,75,68,204,204, +12,14,151,207,100,253,247,16,255,227,192,57,105,205,201,195,44,156,159,192,23,241,133,232,85,81,232,148,9,132,137,104,187,133,60,129,88,144,46,100,10,132,127,213,225,127,24,54,39,7,25,126,157,107,20,104,117,95,0,125,133,57,80,184,73,7,200,111,61,0,67, +35,3,36,110,63,122,2,125,235,91,16,49,10,200,190,188,104,173,145,175,115,143,50,122,254,231,250,31,11,92,138,110,225,76,65,34,83,230,246,12,143,100,114,37,162,44,25,163,223,132,108,193,2,18,144,7,116,160,10,52,129,46,48,2,44,96,13,28,128,51,112,3,222, +32,0,132,128,72,16,3,150,3,46,72,2,105,64,4,178,65,62,216,0,10,65,49,216,1,118,131,106,112,0,212,129,122,208,4,78,130,54,112,6,92,4,87,192,13,112,11,12,128,71,64,10,134,193,75,48,1,222,129,105,8,130,240,16,21,162,65,170,144,22,164,15,153,66,214,16,27, +90,8,121,67,65,80,56,20,3,197,67,137,144,16,146,64,249,208,38,168,24,42,131,170,161,67,80,61,244,35,116,26,186,8,93,131,250,160,7,208,32,52,6,253,1,125,132,17,152,2,211,97,13,216,0,182,128,217,176,59,28,8,71,194,203,224,68,120,21,156,7,23,192,219,225, +74,184,22,62,14,183,194,23,225,27,240,0,44,133,95,194,147,8,64,200,8,3,209,70,88,8,27,241,68,66,144,88,36,1,17,33,107,145,34,164,2,169,69,154,144,14,164,27,185,141,72,145,113,228,3,6,135,161,97,152,24,22,198,25,227,135,89,140,225,98,86,97,214,98,74,48, +213,152,99,152,86,76,23,230,54,102,16,51,129,249,130,165,98,213,177,166,88,39,172,63,118,9,54,17,155,141,45,196,86,96,143,96,91,176,151,177,3,216,97,236,59,28,14,199,192,25,226,28,112,126,184,24,92,50,110,53,174,4,183,15,215,140,187,128,235,195,13,225, +38,241,120,188,42,222,20,239,130,15,193,115,240,98,124,33,190,10,127,28,127,30,223,143,31,198,191,39,144,9,90,4,107,130,15,33,150,32,36,108,36,84,16,26,8,231,8,253,132,17,194,52,81,129,168,79,116,34,134,16,121,196,92,98,41,177,142,216,65,188,73,28,38, +78,147,20,73,134,36,23,82,36,41,153,180,129,84,73,106,34,93,38,61,38,189,33,147,201,58,100,71,114,24,89,64,94,79,174,36,159,32,95,37,15,146,63,80,148,40,38,20,79,74,28,69,66,217,78,57,74,185,64,121,64,121,67,165,82,13,168,110,212,88,170,152,186,157,90, +79,189,68,125,74,125,47,71,147,51,151,243,151,227,201,173,147,171,145,107,149,235,151,123,37,79,148,215,151,119,151,95,46,159,39,95,33,127,74,254,166,252,184,2,81,193,64,193,83,129,163,176,86,161,70,225,180,194,61,133,73,69,154,162,149,98,136,98,154, +98,137,98,131,226,53,197,81,37,188,146,129,146,183,18,79,169,64,233,176,210,37,165,33,26,66,211,165,121,210,184,180,77,180,58,218,101,218,48,29,71,55,164,251,211,147,233,197,244,31,232,189,244,9,101,37,101,91,229,40,229,28,229,26,229,179,202,82,6,194, +48,96,248,51,82,25,165,140,147,140,187,140,143,243,52,230,185,207,227,207,219,54,175,105,94,255,188,41,149,249,42,110,42,124,149,34,149,102,149,1,149,143,170,76,85,111,213,20,213,157,170,109,170,79,212,48,106,38,106,97,106,217,106,251,213,46,171,141, +207,167,207,119,158,207,157,95,52,255,228,252,135,234,176,186,137,122,184,250,106,245,195,234,61,234,147,26,154,26,190,26,25,26,85,26,151,52,198,53,25,154,110,154,201,154,229,154,231,52,199,180,104,90,11,181,4,90,229,90,231,181,94,48,149,153,238,204, +84,102,37,179,139,57,161,173,174,237,167,45,209,62,164,221,171,61,173,99,168,179,88,103,163,78,179,206,19,93,146,46,91,55,65,183,92,183,83,119,66,79,75,47,88,47,95,175,81,239,161,62,81,159,173,159,164,191,71,191,91,127,202,192,208,32,218,96,139,65,155, +193,168,161,138,161,191,97,158,97,163,225,99,35,170,145,171,209,42,163,90,163,59,198,56,99,182,113,138,241,62,227,91,38,176,137,157,73,146,73,141,201,77,83,216,212,222,84,96,186,207,180,207,12,107,230,104,38,52,171,53,187,199,162,176,220,89,89,172,70, +214,160,57,195,60,200,124,163,121,155,249,43,11,61,139,88,139,157,22,221,22,95,44,237,44,83,45,235,44,31,89,41,89,5,88,109,180,234,176,250,195,218,196,154,107,93,99,125,199,134,106,227,99,179,206,166,221,230,181,173,169,45,223,118,191,237,125,59,154, +93,176,221,22,187,78,187,207,246,14,246,34,251,38,251,49,7,61,135,120,135,189,14,247,216,116,118,40,187,132,125,213,17,235,232,225,184,206,241,140,227,7,39,123,39,177,211,73,167,223,157,89,206,41,206,13,206,163,11,12,23,240,23,212,45,24,114,209,113,225, +184,28,114,145,46,100,46,140,95,120,112,161,212,85,219,149,227,90,235,250,204,77,215,141,231,118,196,109,196,221,216,61,217,253,184,251,43,15,75,15,145,71,139,199,148,167,147,231,26,207,11,94,136,151,175,87,145,87,175,183,146,247,98,239,106,239,167,62, +58,62,137,62,141,62,19,190,118,190,171,125,47,248,97,253,2,253,118,250,221,243,215,240,231,250,215,251,79,4,56,4,172,9,232,10,164,4,70,4,86,7,62,11,50,9,18,5,117,4,195,193,1,193,187,130,31,47,210,95,36,92,212,22,2,66,252,67,118,133,60,9,53,12,93,21,250, +115,24,46,44,52,172,38,236,121,184,85,120,126,120,119,4,45,98,69,68,67,196,187,72,143,200,210,200,71,139,141,22,75,22,119,70,201,71,197,69,213,71,77,69,123,69,151,69,75,151,88,44,89,179,228,70,140,90,140,32,166,61,22,31,27,21,123,36,118,114,169,247,210, +221,75,135,227,236,226,10,227,238,46,51,92,150,179,236,218,114,181,229,169,203,207,174,144,95,193,89,113,42,30,27,31,29,223,16,255,137,19,194,169,229,76,174,244,95,185,119,229,4,215,147,187,135,251,146,231,198,43,231,141,241,93,248,101,252,145,4,151, +132,178,132,209,68,151,196,93,137,99,73,174,73,21,73,227,2,79,65,181,224,117,178,95,242,129,228,169,148,144,148,163,41,51,169,209,169,205,105,132,180,248,180,211,66,37,97,138,176,43,93,51,61,39,189,47,195,52,163,48,67,186,202,105,213,238,85,19,162,64, +209,145,76,40,115,89,102,187,152,142,254,76,245,72,140,36,155,37,131,89,11,179,106,178,222,103,71,101,159,202,81,204,17,230,244,228,154,228,110,203,29,201,243,201,251,126,53,102,53,119,117,103,190,118,254,134,252,193,53,238,107,14,173,133,214,174,92, +219,185,78,119,93,193,186,225,245,190,235,143,109,32,109,72,217,240,203,70,203,141,101,27,223,110,138,222,212,81,160,81,176,190,96,104,179,239,230,198,66,185,66,81,225,189,45,206,91,14,108,197,108,21,108,237,221,102,179,173,106,219,151,34,94,209,245, +98,203,226,138,226,79,37,220,146,235,223,89,125,87,249,221,204,246,132,237,189,165,246,165,251,119,224,118,8,119,220,221,233,186,243,88,153,98,89,94,217,208,174,224,93,173,229,204,242,162,242,183,187,87,236,190,86,97,91,113,96,15,105,143,100,143,180, +50,168,178,189,74,175,106,71,213,167,234,164,234,129,26,143,154,230,189,234,123,183,237,157,218,199,219,215,191,223,109,127,211,1,141,3,197,7,62,30,20,28,188,127,200,247,80,107,173,65,109,197,97,220,225,172,195,207,235,162,234,186,191,103,127,95,127, +68,237,72,241,145,207,71,133,71,165,199,194,143,117,213,59,212,215,55,168,55,148,54,194,141,146,198,177,227,113,199,111,253,224,245,67,123,19,171,233,80,51,163,185,248,4,56,33,57,241,226,199,248,31,239,158,12,60,217,121,138,125,170,233,39,253,159,246, +182,208,90,138,90,161,214,220,214,137,182,164,54,105,123,76,123,223,233,128,211,157,29,206,29,45,63,155,255,124,244,140,246,153,154,179,202,103,75,207,145,206,21,156,155,57,159,119,126,242,66,198,133,241,139,137,23,135,58,87,116,62,186,180,228,210,157, +174,176,174,222,203,129,151,175,94,241,185,114,169,219,189,251,252,85,151,171,103,174,57,93,59,125,157,125,189,237,134,253,141,214,30,187,158,150,95,236,126,105,233,181,239,109,189,233,112,179,253,150,227,173,142,190,5,125,231,250,93,251,47,222,246,186, +125,229,142,255,157,27,3,139,6,250,238,46,190,123,255,94,220,61,233,125,222,253,209,7,169,15,94,63,204,122,56,253,104,253,99,236,227,162,39,10,79,42,158,170,63,173,253,213,248,215,102,169,189,244,236,160,215,96,207,179,136,103,143,134,184,67,47,255,149, +249,175,79,195,5,207,169,207,43,70,180,70,234,71,173,71,207,140,249,140,221,122,177,244,197,240,203,140,151,211,227,133,191,41,254,182,247,149,209,171,159,126,119,251,189,103,98,201,196,240,107,209,235,153,63,74,222,168,190,57,250,214,246,109,231,100, +232,228,211,119,105,239,166,167,138,222,171,190,63,246,129,253,161,251,99,244,199,145,233,236,79,248,79,149,159,141,63,119,124,9,252,242,120,38,109,102,230,223,247,132,243,251,50,58,89,126,0,0,0,9,112,72,89,115,0,0,11,19,0,0,11,19,1,0,154,156,24,0,0, +53,161,73,68,65,84,120,1,237,125,7,152,28,197,181,238,233,158,153,157,205,121,87,90,173,194,174,34,202,2,33,36,129,64,194,96,242,35,7,131,237,251,12,56,2,182,177,253,192,143,96,44,27,219,23,108,227,135,237,11,215,198,15,184,228,100,131,201,225,145,51, +40,24,37,16,146,80,206,187,210,230,60,211,117,255,255,204,212,104,52,154,213,102,105,120,31,245,109,109,245,84,87,85,159,58,127,157,83,167,66,87,139,124,225,190,224,192,23,28,248,130,3,95,112,160,11,14,56,93,220,255,60,222,182,117,98,104,226,42,16,127, +29,23,253,249,188,180,149,252,124,82,31,161,154,117,176,158,49,225,72,244,94,255,121,223,7,79,240,226,253,94,137,62,79,63,62,207,192,145,118,23,62,17,40,198,231,192,7,225,61,248,86,248,38,248,120,103,243,242,254,231,82,18,63,143,192,89,166,91,192,2,112, +19,195,225,240,209,142,227,28,10,32,42,140,49,165,8,179,225,153,166,30,241,155,225,215,34,254,3,164,123,23,113,235,225,173,163,36,218,178,108,220,23,97,63,115,128,76,182,110,176,235,186,255,11,126,145,207,231,51,61,240,77,72,251,52,252,217,182,32,132, +148,92,250,47,220,0,112,192,130,150,13,176,126,1,198,239,72,0,43,140,223,29,240,33,120,94,199,123,198,211,123,240,198,239,247,171,199,245,219,240,39,199,209,234,143,187,254,226,178,31,56,160,210,0,134,207,3,104,43,201,252,168,39,72,244,246,119,151,33, +202,240,160,54,67,160,41,28,7,224,125,248,93,20,165,211,54,144,126,32,123,224,138,248,60,16,73,26,41,41,223,64,248,56,152,94,140,144,140,183,125,93,183,84,28,242,9,250,55,25,49,98,132,83,94,94,238,162,191,115,26,27,27,195,12,225,166,194,159,11,32,63, +244,60,111,19,202,230,51,83,218,104,33,129,169,236,72,31,85,222,57,8,31,132,39,88,52,36,168,210,122,100,88,65,82,5,160,200,216,177,99,101,234,212,169,50,108,216,48,1,80,110,67,67,131,180,183,183,135,113,191,8,32,126,29,207,250,0,233,214,160,252,148,6, +47,149,117,58,37,137,32,85,192,223,1,79,199,223,189,106,108,148,56,186,252,252,124,25,58,116,168,74,31,128,18,0,230,172,93,187,214,15,0,67,72,19,68,220,227,72,54,19,254,99,120,109,56,8,83,206,117,75,205,28,76,170,33,1,215,225,249,133,240,29,240,189,6, +141,210,70,151,145,145,33,80,145,178,109,219,54,161,180,81,18,179,178,178,4,160,177,17,243,25,217,120,230,93,8,57,14,100,67,233,145,100,35,253,1,113,41,73,20,106,206,6,69,78,143,1,19,151,34,76,135,103,159,211,43,122,41,109,236,223,178,179,179,229,240, +195,15,71,49,34,91,183,110,149,218,218,90,5,177,163,163,67,239,235,141,72,255,233,135,228,93,3,176,111,66,92,74,74,93,170,170,74,5,8,210,112,38,24,71,208,122,173,34,9,6,85,162,117,80,139,82,93,93,45,205,205,205,26,79,80,173,143,166,81,45,132,184,31,227, +247,125,240,91,224,109,67,138,38,57,248,65,175,84,207,129,34,27,192,221,128,103,141,134,167,244,245,73,173,19,28,74,22,165,44,20,10,9,36,89,213,100,2,104,172,26,27,13,27,74,54,238,213,3,244,55,112,205,103,239,65,31,63,14,182,235,19,51,6,136,120,203,164, +65,96,218,33,209,103,244,27,157,22,48,74,97,188,36,38,212,197,170,228,11,16,159,9,159,114,125,93,191,49,36,161,226,125,249,169,76,195,252,99,25,90,252,136,104,65,150,145,177,114,41,41,189,113,4,139,224,5,131,65,149,184,78,192,211,198,131,103,140,71,218, +47,71,159,147,82,188,74,41,98,226,129,128,97,48,44,250,155,106,50,134,18,25,77,67,195,170,187,238,0,200,52,4,11,227,54,5,171,173,173,77,251,56,170,78,52,144,206,36,143,207,165,59,43,18,164,150,170,76,85,227,132,204,28,154,8,10,153,79,70,231,228,228,72, +83,83,83,204,156,167,73,79,115,63,49,61,25,158,150,150,166,96,49,61,29,199,112,211,166,77,83,224,95,124,241,69,33,136,148,62,130,152,144,95,27,11,232,152,141,108,84,151,205,240,140,75,137,190,46,101,37,14,12,226,212,22,157,50,138,204,197,12,135,2,198, +177,216,145,71,30,41,199,30,123,172,2,70,233,35,120,137,46,61,61,93,90,90,90,52,79,89,89,153,12,31,62,92,45,202,45,91,182,200,200,145,35,229,178,203,46,147,194,194,66,5,143,13,34,193,41,112,0,179,18,247,38,70,239,237,251,144,132,76,7,234,103,42,90,149, +218,170,193,176,211,224,143,66,139,55,144,26,151,0,96,142,81,61,165,103,247,238,221,50,121,242,100,149,160,213,171,87,171,26,68,82,229,27,67,130,70,147,127,214,172,89,114,234,169,167,42,208,135,29,118,152,28,122,232,161,146,153,153,41,143,60,242,136, +140,27,55,78,38,76,152,32,139,23,47,214,252,118,144,30,101,62,233,160,81,194,49,221,91,240,28,79,146,95,86,133,226,242,224,185,148,85,149,144,32,78,63,197,0,56,241,196,19,229,152,99,142,209,65,52,251,184,101,203,150,201,221,119,223,45,103,156,113,6,39, +142,101,195,134,13,170,70,237,64,187,190,190,94,239,29,127,252,241,66,105,179,198,8,239,183,182,182,234,156,229,173,183,222,42,115,231,206,149,241,227,199,203,39,159,124,162,106,149,247,19,29,26,208,84,196,113,76,151,18,160,145,190,148,5,14,160,193,150, +240,171,212,140,30,61,90,206,57,231,28,153,56,113,162,2,71,181,118,220,113,199,169,180,92,117,213,85,42,117,172,12,37,134,179,35,4,109,250,244,233,242,205,111,126,83,211,80,181,178,127,4,0,218,183,177,63,99,153,148,200,155,110,186,73,42,43,43,153,61, +126,246,68,127,227,159,170,75,208,50,54,26,145,18,253,155,37,46,213,66,237,71,0,218,173,67,134,12,33,163,66,191,251,221,239,76,85,85,21,248,183,199,1,36,3,201,49,96,60,211,24,204,246,235,90,92,52,143,121,234,169,167,12,164,103,79,134,132,43,222,91,181, +106,149,57,225,132,19,52,127,81,81,145,129,148,39,174,231,113,101,130,113,11,83,141,73,169,72,143,2,87,80,80,240,59,128,167,192,173,92,185,82,217,254,209,71,31,153,199,30,123,204,96,218,42,6,195,166,77,155,148,241,152,40,54,80,137,122,13,233,52,117,117, +117,177,52,219,183,111,55,15,63,252,176,185,229,150,91,204,219,111,191,109,8,186,117,47,188,240,130,230,129,181,153,8,26,127,43,112,0,244,147,84,100,84,170,209,164,6,19,12,145,223,128,48,115,242,201,39,135,96,77,154,37,75,150,196,24,12,80,205,162,69, +139,148,247,48,82,12,44,67,189,103,165,141,18,106,29,239,163,31,211,251,23,92,112,129,33,168,4,209,58,74,242,33,135,28,162,247,115,115,115,19,193,179,192,125,148,106,76,74,25,243,54,145,49,104,237,237,140,3,51,181,239,121,229,149,87,52,201,247,191,255, +125,185,246,218,107,229,222,123,239,213,120,142,211,102,207,226,242,153,200,172,153,71,104,152,1,139,210,186,55,223,124,83,222,120,227,13,25,51,102,140,212,212,212,8,84,163,60,240,192,3,186,172,195,52,121,121,121,114,254,249,231,107,114,94,3,80,155,53, +22,162,111,220,25,253,161,125,94,236,198,65,188,72,89,224,192,64,5,14,161,195,65,50,39,135,233,158,127,254,121,5,147,179,252,219,177,166,70,3,230,195,149,107,245,94,93,11,151,211,224,124,123,108,174,29,59,118,104,20,13,147,151,94,122,73,158,125,246,89, +121,250,233,167,101,233,82,90,247,176,206,144,159,3,122,58,52,22,13,227,254,89,20,119,197,197,165,196,101,202,2,7,203,175,158,28,122,239,189,247,116,134,132,3,102,186,55,222,124,75,62,251,108,141,212,236,174,18,39,16,148,134,250,70,49,107,63,149,121, +99,33,12,155,222,144,113,72,179,3,191,27,26,34,51,37,129,64,4,196,112,216,211,241,27,140,22,45,103,243,230,205,26,210,252,167,117,73,151,48,142,211,184,232,63,59,70,72,25,137,219,211,52,227,201,76,129,235,93,187,118,213,141,26,53,10,32,125,166,179,29, +52,239,233,166,77,28,43,191,253,237,239,164,108,210,209,82,187,234,53,25,108,94,144,229,79,139,4,210,10,161,230,154,48,205,50,88,90,27,111,149,198,247,33,141,19,174,145,142,112,68,138,178,130,33,25,156,219,44,217,21,99,100,233,199,171,133,101,211,113, +53,28,253,165,94,219,105,49,253,17,249,103,129,202,141,198,89,9,140,75,242,197,165,229,128,114,26,106,235,116,76,81,145,81,97,244,73,198,131,249,254,227,43,127,200,223,102,48,224,122,240,234,114,179,224,86,49,139,111,23,211,241,126,161,49,75,128,219, +191,196,44,188,77,204,35,151,151,152,237,79,138,193,158,101,179,252,145,35,204,57,179,57,109,230,131,215,225,133,193,84,151,105,106,106,84,251,100,211,230,205,90,38,13,19,244,151,157,25,39,17,100,45,133,41,16,166,172,196,161,79,170,227,64,26,206,249, +47,204,144,92,116,225,133,114,195,47,111,148,182,234,13,114,92,217,63,229,132,147,178,100,213,170,161,226,194,134,241,249,118,2,189,18,113,124,5,50,126,50,22,172,157,42,105,237,40,19,55,203,39,19,199,124,40,247,220,156,38,63,93,149,35,11,151,109,149, +38,255,57,114,201,181,191,134,218,204,82,246,191,255,30,119,164,71,140,148,36,18,167,247,240,143,243,166,148,58,18,68,41,36,216,7,213,89,85,112,80,137,72,120,56,37,46,140,217,145,195,193,157,5,131,74,138,101,203,214,109,242,207,167,159,149,25,163,74, +100,237,115,23,203,196,201,43,164,160,4,175,6,24,188,207,193,212,152,100,22,223,24,172,83,231,33,231,42,92,131,191,80,145,198,195,77,227,2,80,166,195,222,159,80,27,250,177,57,82,223,58,65,188,252,147,101,117,125,137,204,58,106,142,34,145,153,149,141, +169,48,187,0,16,163,136,0,145,71,173,24,203,29,131,126,119,1,174,149,190,88,138,131,116,65,34,82,205,209,96,226,32,185,208,117,228,91,18,110,243,181,117,132,205,224,237,15,58,197,13,127,147,201,135,85,73,97,9,164,197,68,152,108,96,54,232,154,170,175, +12,217,240,35,188,5,58,18,251,72,176,219,0,91,132,112,207,133,120,224,158,41,64,194,44,196,46,151,160,187,72,130,173,143,72,251,186,187,196,105,17,121,127,77,166,228,167,55,75,115,7,243,236,229,248,147,134,73,26,244,234,155,240,75,113,77,158,29,244,57, +203,84,180,42,85,13,113,114,63,59,205,105,172,107,10,201,143,190,156,46,231,156,16,144,169,71,149,74,225,32,74,26,65,35,233,220,232,67,228,176,123,220,129,68,121,53,202,83,199,137,242,150,59,238,124,195,196,241,151,66,234,10,145,54,83,60,147,141,164, +131,196,151,61,84,70,77,27,38,223,185,40,3,121,176,244,131,242,210,246,195,13,168,238,136,117,132,167,35,195,65,119,251,33,245,224,210,54,42,71,154,107,91,76,195,180,193,142,28,51,165,221,12,31,233,151,130,2,140,229,60,11,26,233,139,242,208,5,152,94, +3,252,86,196,89,129,64,213,220,97,17,245,9,80,140,7,117,233,237,22,55,163,73,54,111,172,150,39,254,177,77,218,234,183,73,97,65,187,28,138,251,205,200,30,140,234,31,142,249,232,163,78,47,160,1,230,69,127,83,2,99,55,163,113,7,60,72,69,224,20,141,225,121, +186,226,220,48,40,31,134,67,190,99,114,242,219,33,53,137,60,99,82,72,26,199,234,186,229,223,10,3,210,185,229,240,249,10,173,23,170,7,16,235,144,182,90,22,188,235,202,11,47,137,76,157,140,156,89,70,170,33,164,255,194,29,142,193,91,89,60,28,23,102,57,166, +227,224,28,78,65,2,144,92,33,152,192,8,184,47,128,139,240,97,223,255,51,135,18,56,167,177,185,133,123,76,124,152,12,65,27,131,69,239,89,108,226,179,120,187,0,94,27,98,216,14,145,192,29,1,155,164,68,153,239,200,78,113,211,86,75,93,77,179,60,252,119,191, +236,192,228,213,197,95,55,50,114,44,210,133,130,152,250,226,202,183,145,172,52,116,102,232,185,208,143,233,250,29,103,81,56,99,3,240,28,24,38,92,102,200,68,220,156,232,99,15,122,131,79,213,225,128,51,255,117,9,165,99,98,228,173,13,62,89,187,169,221,228, +47,247,203,232,137,105,146,95,10,233,234,112,0,10,155,61,85,26,44,74,149,43,7,76,247,196,56,5,218,151,57,190,6,132,59,165,5,243,147,139,151,248,100,203,22,71,102,31,97,100,196,40,100,12,65,188,194,153,178,107,251,118,121,241,53,66,145,33,38,212,46,33, +204,162,112,238,147,107,125,148,184,15,63,252,80,214,172,89,163,88,113,13,16,146,120,38,126,220,1,31,149,77,189,117,80,254,69,181,250,65,121,246,254,30,74,186,76,65,102,224,172,230,246,142,241,217,69,211,188,82,119,135,187,105,109,135,248,211,50,209, +47,117,136,27,4,104,49,234,161,185,32,3,78,26,226,252,132,179,65,106,170,183,202,191,22,180,202,251,31,248,165,108,136,200,113,243,60,128,14,192,66,133,18,110,175,150,237,235,27,229,131,229,199,201,194,214,57,178,100,201,34,72,22,54,12,65,228,168,38, +167,76,153,162,147,207,124,163,167,178,178,146,51,55,14,222,51,112,0,222,48,0,250,15,208,86,13,31,21,239,253,85,99,224,238,197,170,62,112,143,232,85,201,202,148,180,204,156,147,176,88,58,109,220,17,199,121,5,229,199,184,57,109,31,74,245,150,14,89,183, +49,27,210,213,46,173,205,142,164,65,211,249,144,186,3,130,184,121,19,230,41,183,117,200,155,111,182,203,166,77,62,25,82,238,147,99,142,242,100,40,12,27,7,175,133,55,238,174,150,77,107,26,228,147,85,19,228,179,182,203,164,125,216,73,146,149,157,35,159, +174,88,46,59,170,119,235,234,57,55,36,21,23,23,11,22,86,85,109,114,117,2,215,14,182,54,112,137,39,13,106,179,10,224,189,129,90,29,84,224,82,85,85,42,218,96,20,153,35,153,160,50,99,232,20,217,184,243,26,25,86,123,151,20,250,119,72,67,109,46,172,195,70, +201,204,113,176,215,68,164,13,192,109,223,38,50,14,147,205,115,142,116,164,148,115,29,65,244,99,29,249,210,88,21,150,173,235,182,201,134,29,179,36,60,226,98,201,61,124,130,140,200,43,16,15,234,49,11,3,239,25,179,102,203,250,77,143,233,158,21,62,239,253, +247,223,151,65,131,6,233,43,89,156,132,230,171,89,88,31,116,184,59,12,170,244,98,36,249,51,60,199,30,52,82,240,144,3,239,82,17,56,50,67,7,184,48,8,160,228,200,25,0,81,148,47,109,121,211,100,245,167,223,150,182,170,127,202,228,130,101,114,248,244,124, +201,205,111,4,251,162,188,99,109,148,149,216,103,217,22,148,166,170,76,169,218,182,83,214,163,155,106,44,190,65,74,231,158,32,131,134,12,151,156,172,12,9,192,98,196,58,184,170,196,217,179,103,11,86,214,117,89,135,125,28,87,11,184,134,119,244,209,71,235, +246,61,190,142,133,183,123,32,108,110,24,210,86,129,240,34,132,183,225,105,108,88,7,165,191,75,101,224,216,159,240,248,11,50,212,205,205,203,23,46,144,114,163,207,122,57,71,90,150,167,73,83,195,34,25,49,54,67,114,243,2,186,4,231,121,46,12,12,88,131,216, +202,87,191,187,81,182,110,104,148,106,239,12,201,153,118,145,140,26,55,85,138,11,11,36,15,118,127,16,229,216,113,26,23,79,185,63,243,136,35,142,80,99,132,170,145,247,248,26,214,19,79,60,161,111,175,98,123,132,170,77,90,152,160,137,36,253,8,254,126,248, +58,248,131,34,117,169,8,28,91,177,135,86,125,54,24,88,132,107,190,100,239,35,131,75,74,74,212,120,8,133,58,100,171,115,134,180,111,202,149,170,93,175,73,110,78,139,248,209,91,115,241,154,187,235,128,155,52,154,185,226,86,158,42,131,39,206,146,193,101, +229,82,84,0,233,68,25,104,4,40,50,226,104,250,227,57,50,105,210,36,221,28,75,43,146,139,170,92,234,177,27,112,23,44,224,244,36,150,141,160,143,161,54,93,208,196,55,87,71,33,223,143,0,226,124,220,58,40,82,151,106,192,145,9,180,239,243,192,156,31,145,169, +112,14,183,215,97,63,137,246,59,108,241,45,173,45,156,204,148,237,129,19,101,231,238,73,18,220,85,39,105,88,245,14,164,5,85,154,50,134,151,75,225,176,113,50,104,112,153,74,89,9,38,170,179,97,132,160,76,150,23,115,252,77,240,56,208,62,229,148,83,116,11, +195,163,143,62,170,134,9,183,57,16,228,232,48,128,160,217,252,138,60,242,254,4,5,61,0,191,26,158,113,7,84,101,166,26,112,202,89,48,242,122,0,52,2,106,43,140,5,85,223,140,25,51,116,7,51,152,163,0,114,249,37,20,10,11,154,191,212,99,87,114,8,163,114,50, +56,35,51,67,242,160,234,10,96,76,20,228,229,194,58,44,132,148,150,234,171,194,204,155,204,89,240,40,205,151,95,126,185,16,56,2,73,208,216,72,104,101,210,197,129,78,26,217,184,248,202,241,205,0,244,108,92,83,127,30,80,149,185,71,111,224,201,7,217,113, +10,35,4,166,205,3,195,238,224,158,126,244,51,14,250,31,135,155,131,184,109,156,140,36,64,52,32,216,215,209,113,107,66,86,70,80,242,161,226,8,86,33,84,98,17,250,178,210,210,82,248,65,154,79,19,118,241,143,192,208,146,228,26,224,171,175,190,170,67,2,110, +123,239,196,81,21,208,34,26,15,173,176,6,82,203,85,3,10,129,118,128,8,7,220,165,10,112,164,131,173,120,16,252,51,0,39,31,64,121,144,44,247,158,123,238,209,45,226,182,63,34,71,248,94,128,149,20,74,7,95,190,167,81,65,179,157,128,23,23,151,40,227,217,79, +117,199,177,172,248,70,193,29,100,216,2,168,214,37,159,219,137,227,13,7,247,143,132,127,20,215,220,205,196,122,116,154,1,247,250,205,165,2,112,84,49,218,82,161,122,120,84,197,116,72,75,24,155,88,125,55,223,124,179,96,47,100,236,77,28,171,174,24,166,3, +20,134,4,142,210,72,224,200,108,14,158,25,82,50,123,234,88,94,94,126,158,124,240,193,7,250,110,2,203,180,170,50,73,89,164,59,140,60,185,144,186,49,0,239,33,252,86,48,147,164,253,255,50,74,27,15,42,127,51,188,1,211,41,121,102,206,156,57,102,253,250,245, +224,7,102,32,227,118,30,107,68,244,31,38,129,117,107,58,119,42,115,227,43,183,164,247,135,187,237,182,219,8,128,193,160,59,113,15,74,178,223,118,211,236,149,81,116,82,205,110,24,144,70,163,149,132,164,93,8,111,32,37,30,164,141,210,103,254,254,247,191, +119,11,3,24,7,6,243,139,157,130,219,173,66,162,137,88,22,29,119,73,147,6,110,105,71,127,154,12,172,248,56,61,216,13,244,183,129,254,25,81,46,165,130,38,27,16,192,88,168,173,220,36,84,186,129,192,65,218,104,82,235,139,24,152,94,82,38,118,38,109,122,179, +159,255,217,103,193,64,49,103,157,117,150,130,7,213,27,15,82,103,215,122,16,28,52,198,114,208,143,85,93,117,58,150,137,94,247,123,48,160,133,239,135,90,237,31,112,63,0,192,238,66,200,202,134,208,186,149,30,190,11,71,35,227,64,59,246,113,104,11,58,8,39, +13,116,52,132,24,215,133,99,35,228,192,124,34,234,115,75,23,105,251,229,246,193,2,78,159,139,22,250,11,212,130,234,37,4,11,208,207,237,226,28,79,241,149,95,48,160,203,10,146,161,241,190,203,12,221,72,64,240,232,142,58,234,40,13,249,18,100,55,13,29,59, +28,248,54,104,255,26,50,83,229,15,88,127,119,48,128,35,34,156,198,58,10,76,250,223,202,29,157,142,140,0,197,193,54,221,126,198,80,209,44,145,65,49,25,109,125,236,70,23,23,4,155,227,64,78,38,115,134,100,231,206,157,88,104,221,130,165,160,77,177,119,20, +248,226,227,165,151,94,170,187,168,105,165,246,208,221,138,244,21,240,52,180,6,132,199,3,214,34,64,112,50,103,85,164,15,204,99,229,98,191,237,128,26,150,156,50,139,91,207,57,135,216,89,107,199,235,81,250,82,62,199,110,4,130,64,67,130,117,224,205,48,209, +113,202,138,91,17,56,15,25,239,9,30,77,126,222,167,231,208,130,239,137,83,242,207,62,251,108,185,243,206,59,117,222,146,207,96,3,97,217,188,166,79,226,248,96,130,85,4,169,187,21,229,157,137,107,74,30,235,153,52,3,226,123,229,186,214,71,189,42,182,211, +76,170,78,80,249,31,130,9,151,32,21,141,17,212,49,178,191,131,251,249,9,22,95,7,182,140,228,224,154,51,37,100,90,188,227,224,26,211,97,250,214,13,37,134,233,56,91,210,25,208,4,150,96,115,214,127,227,198,141,178,110,221,58,225,139,31,44,3,47,65,234,139, +37,4,145,135,2,208,243,189,114,206,143,190,254,250,235,178,98,197,10,237,115,89,6,233,226,96,157,227,199,253,128,71,176,56,171,178,25,105,184,23,137,124,254,220,2,199,214,72,160,120,98,208,253,240,214,250,114,8,2,37,142,167,34,140,25,61,70,215,200,40, +73,22,52,251,14,55,242,198,28,91,62,87,169,9,84,101,101,165,206,101,146,153,157,57,166,99,131,224,236,191,245,148,46,198,219,70,65,64,120,109,79,213,227,59,231,164,131,107,117,108,20,52,84,120,80,41,29,193,38,13,54,111,194,115,9,18,91,218,76,0,247,32, +194,122,120,214,191,223,192,59,144,18,167,132,163,178,215,161,178,39,161,18,33,84,202,199,138,147,225,4,142,51,244,84,83,60,193,149,76,99,171,39,227,40,145,157,57,222,39,176,218,250,193,42,238,56,73,230,248,28,150,67,230,51,207,224,193,120,117,4,158, +243,147,156,109,97,35,225,125,210,193,180,219,240,238,29,203,229,254,19,188,110,140,247,20,86,169,228,115,54,165,162,162,66,103,103,216,47,242,185,4,48,193,145,8,170,76,206,170,164,35,205,115,184,102,220,231,14,56,214,140,234,99,8,152,114,7,124,22,43, +12,70,113,3,142,26,9,108,201,23,93,116,145,30,95,193,107,74,7,1,37,19,247,231,20,48,36,96,186,206,64,139,207,175,233,153,22,222,74,33,135,30,148,94,134,4,139,125,33,1,164,74,229,89,40,52,84,120,46,10,129,198,251,232,122,220,6,27,21,143,225,160,186,165, +164,118,2,30,137,63,12,245,120,22,105,182,226,186,223,84,102,231,77,57,190,182,125,191,230,115,184,56,122,57,252,233,232,39,194,104,229,62,50,137,224,176,239,224,235,188,4,142,12,33,83,201,224,174,64,35,89,10,24,210,119,215,105,250,104,226,120,208,9, +34,85,40,45,72,54,26,210,196,190,142,253,30,223,205,227,27,172,60,200,134,210,201,97,11,251,85,2,201,60,188,78,66,43,137,98,215,192,3,110,138,225,57,17,221,111,238,64,0,199,10,80,218,210,32,97,183,97,122,170,148,149,229,230,27,50,135,158,86,221,31,254, +240,7,85,145,172,89,119,65,99,218,190,184,120,208,237,51,9,32,193,227,138,59,37,143,82,199,113,37,27,20,215,234,216,215,17,76,210,77,117,202,186,80,197,210,82,221,143,212,77,64,154,151,33,117,27,65,111,191,72,221,129,0,78,45,73,16,206,35,158,126,0,226, +13,152,224,82,210,56,184,165,85,247,235,95,255,90,37,142,12,176,12,236,11,32,189,201,107,37,198,62,159,128,80,125,210,138,108,110,105,86,117,249,206,59,239,232,9,68,52,166,172,97,67,105,163,163,186,76,226,172,212,177,171,200,69,217,143,33,100,92,159, +251,186,125,122,213,36,15,239,107,148,214,8,173,241,66,110,54,133,97,224,209,16,136,238,156,210,150,252,149,175,124,69,59,126,203,180,190,62,176,47,249,45,128,44,131,192,241,12,231,124,108,84,202,206,201,214,147,138,24,79,131,134,82,201,62,142,18,200, +254,144,113,28,182,36,1,208,242,248,108,72,243,44,100,39,63,250,44,48,182,80,210,51,16,142,229,147,208,225,168,144,78,254,161,143,112,9,32,91,50,221,141,55,222,168,39,217,165,2,104,74,80,194,63,90,145,60,106,35,47,55,79,15,116,227,109,106,10,130,68,199, +70,72,218,105,216,84,84,84,36,211,24,49,169,3,15,46,211,76,159,3,137,211,134,129,150,118,22,136,206,7,19,194,232,248,29,246,17,180,198,184,159,145,231,142,164,186,163,17,69,79,0,231,205,155,167,125,155,165,153,253,51,61,27,35,207,194,164,138,229,117, +188,228,34,173,21,144,211,113,93,9,207,198,108,227,112,217,115,215,167,204,93,60,142,45,141,99,25,46,239,159,207,86,73,139,140,33,85,11,29,55,231,80,197,48,46,161,162,122,63,85,254,145,62,58,90,155,231,158,123,174,94,179,14,236,159,177,136,171,191,57, +166,99,31,93,89,73,92,128,202,222,99,59,43,117,121,136,191,72,19,68,250,186,232,101,207,131,129,6,142,99,165,25,144,182,35,169,90,208,106,125,172,48,39,115,57,86,227,49,134,159,7,199,70,133,58,40,169,28,215,209,17,24,30,131,79,233,98,221,184,201,136, +150,37,193,237,196,17,60,186,175,194,243,232,35,246,21,54,14,151,61,115,3,14,28,90,171,74,27,42,68,233,211,254,129,225,197,23,95,28,219,114,151,202,210,70,90,227,29,13,18,58,74,27,45,203,120,218,217,40,57,156,160,179,64,235,143,200,63,242,154,95,96,226, +1,221,199,70,227,123,205,255,94,103,140,35,40,217,101,76,53,160,2,103,177,114,168,144,253,0,145,166,231,160,150,173,214,170,161,100,133,164,82,156,5,136,175,94,157,116,210,73,58,159,105,13,20,91,7,238,247,180,70,151,141,75,168,67,196,34,19,249,31,9,241, +61,254,217,249,172,108,143,139,218,43,3,27,4,55,209,156,133,112,36,42,237,161,53,186,108,133,156,161,167,9,205,105,164,222,58,29,91,193,192,161,33,112,160,156,5,142,115,157,180,36,233,108,63,102,65,226,196,51,193,164,79,98,160,104,22,254,67,250,227,17, +176,144,38,120,54,242,30,143,235,6,66,226,172,180,49,252,46,60,9,53,28,183,113,208,77,119,218,105,167,41,120,250,163,7,255,44,131,216,151,172,95,183,190,7,57,251,47,41,235,64,131,138,142,198,8,93,60,93,172,167,5,89,111,238,253,79,249,141,251,99,160,129, +38,71,111,145,79,61,118,3,1,156,150,137,74,93,8,106,102,66,202,60,12,100,125,28,231,216,138,206,156,57,51,214,106,247,83,201,78,43,195,57,196,237,59,34,214,92,167,137,6,232,6,165,140,199,223,211,89,85,201,107,198,115,26,172,190,174,62,89,255,198,36,214, +169,186,132,214,176,150,89,74,0,103,165,141,75,25,63,37,40,8,13,135,1,84,143,28,239,208,241,228,113,58,219,82,245,71,15,254,113,187,1,85,209,129,118,150,94,46,176,210,89,13,194,107,214,149,52,213,214,213,42,112,251,105,144,170,22,113,255,80,230,131,235, +177,154,100,166,254,150,56,45,15,173,239,187,32,108,10,202,103,235,242,113,246,129,253,145,157,215,99,7,223,23,199,190,196,74,175,101,102,95,202,235,110,94,251,44,206,85,210,17,28,11,16,251,93,174,243,209,91,3,165,147,114,85,194,80,214,88,220,207,132, +231,56,163,199,82,215,159,192,177,44,2,197,14,224,106,120,74,148,18,68,19,217,182,78,238,227,224,204,123,111,156,101,18,39,125,109,121,189,41,167,175,121,44,29,182,28,107,164,112,168,64,237,66,103,227,108,154,184,80,121,142,50,216,122,243,163,241,7,21, +56,125,56,8,190,2,68,113,176,67,16,241,51,210,54,108,200,105,33,90,102,125,113,173,45,123,230,10,251,82,78,111,243,90,201,179,249,45,144,236,14,108,191,103,227,108,154,36,97,9,226,40,113,189,114,253,37,113,4,141,64,241,104,192,189,166,116,56,4,224,192, +212,74,8,7,173,246,186,39,20,91,102,177,31,97,95,105,213,85,79,202,232,107,90,11,6,215,233,232,72,19,227,72,15,119,133,209,0,227,192,156,142,245,238,196,197,75,215,65,7,78,27,0,0,153,134,138,140,36,193,232,113,29,31,142,191,163,163,249,78,117,73,199, +202,90,16,52,162,135,255,216,127,132,194,161,88,121,61,204,222,47,201,217,16,233,88,15,219,8,43,42,42,212,56,225,194,43,53,138,5,185,139,7,118,138,110,23,249,250,109,167,173,109,69,65,30,217,196,227,149,10,32,123,60,98,137,93,111,115,125,53,42,50,92, +105,225,202,0,153,111,129,236,138,192,196,251,204,27,198,219,168,150,97,137,247,15,196,111,43,77,4,135,75,60,116,148,56,123,112,183,141,35,141,236,34,8,176,205,131,164,180,34,201,47,154,216,28,128,247,202,245,215,204,137,182,28,168,177,205,229,69,190, +186,45,53,146,215,184,147,244,144,70,60,98,247,118,25,53,186,65,151,69,168,234,226,42,209,99,162,153,151,224,117,179,69,247,184,252,238,100,224,243,233,56,197,197,5,85,46,247,176,94,203,151,47,143,169,76,90,190,118,229,128,180,82,181,83,165,226,90,129, +3,152,27,80,68,173,22,20,97,84,244,178,123,65,127,1,71,98,208,178,100,37,104,92,131,203,233,183,124,95,188,47,207,196,89,173,104,83,127,184,95,228,241,87,215,203,164,67,252,168,64,100,1,178,123,228,37,79,69,70,244,5,252,228,165,238,47,22,213,67,229,34, +206,81,213,207,107,2,70,75,146,146,197,213,1,106,19,26,95,28,231,49,196,135,40,52,237,194,133,11,85,50,169,66,1,158,7,250,121,122,195,71,40,130,135,220,176,155,209,134,143,176,219,174,223,128,123,237,53,241,131,159,161,171,47,144,127,93,254,85,153,62, +188,2,52,80,111,130,172,195,38,250,229,201,87,27,229,194,27,106,100,250,17,88,10,137,235,35,8,66,79,28,199,111,84,63,108,225,3,239,8,22,233,131,7,157,188,106,105,11,201,130,69,139,245,209,148,34,238,114,254,244,211,79,245,55,105,251,248,227,143,213,115, +172,106,23,95,175,190,250,106,61,67,229,245,215,95,151,226,130,76,183,3,198,77,91,135,60,23,21,220,158,49,64,159,212,79,255,176,241,76,39,237,86,220,17,152,214,246,182,175,198,44,247,25,111,161,207,243,22,164,153,240,130,0,54,97,99,45,117,73,134,249, +231,205,233,228,132,121,250,169,39,161,41,34,14,146,99,47,247,27,218,116,48,12,204,67,15,61,100,176,113,71,211,219,248,253,102,238,205,205,40,93,164,206,107,173,49,13,235,94,54,77,107,30,55,139,94,189,207,148,161,219,18,25,108,242,179,121,178,186,232, +203,143,144,186,216,187,115,104,88,26,207,123,244,151,92,114,137,249,214,183,190,197,107,72,22,121,224,223,126,202,60,156,179,31,113,7,13,56,160,162,141,81,234,95,243,189,103,86,249,0,86,48,100,22,151,0,176,17,240,35,77,120,97,145,49,11,161,108,62,202, +49,15,254,60,82,153,39,30,223,243,198,41,250,140,30,177,246,153,103,158,49,248,100,139,230,25,16,224,162,160,181,55,215,153,150,21,183,24,111,81,169,9,127,128,131,214,223,67,29,22,136,217,254,82,150,57,110,58,235,225,51,69,121,201,223,88,37,144,80,141, +10,220,160,65,165,230,136,35,102,152,49,67,10,67,39,206,16,115,250,145,242,87,98,54,127,126,239,103,174,250,172,42,1,8,85,100,199,199,119,187,87,229,148,152,89,210,144,22,114,125,197,48,167,56,59,130,254,12,135,89,187,56,11,217,132,176,47,31,103,38,159, +119,114,174,188,181,52,77,206,58,251,92,185,251,174,255,43,95,255,183,139,49,125,21,249,198,169,29,164,71,26,226,190,255,129,148,26,37,28,232,54,53,247,218,32,219,183,224,125,98,200,111,188,153,211,190,75,220,154,159,136,147,55,27,95,21,25,135,122,64, +177,24,236,232,42,219,38,83,198,172,149,87,22,225,28,103,156,90,27,73,189,119,33,164,85,135,13,96,78,113,142,11,85,185,65,94,249,243,110,247,216,89,69,24,206,56,151,152,112,245,107,193,163,4,95,103,210,227,90,122,220,199,233,248,107,239,71,118,255,23, +90,140,223,57,92,58,174,199,161,117,69,197,206,13,28,130,27,201,71,39,132,247,201,28,28,82,13,208,212,57,24,215,248,7,137,23,78,19,127,122,189,204,255,94,139,124,121,230,8,185,248,146,111,202,205,55,253,38,246,2,5,164,167,91,15,47,31,90,46,165,56,120, +134,174,167,125,100,183,30,16,81,32,210,214,184,59,178,145,206,195,184,205,224,52,163,48,14,110,246,117,224,156,48,79,214,210,4,67,109,57,111,222,153,174,11,3,209,97,69,174,172,88,179,75,174,254,74,149,204,155,85,224,56,25,195,188,64,254,8,191,47,80, +246,208,174,23,101,24,112,245,76,47,36,175,183,192,57,175,1,52,0,167,22,194,41,191,247,63,80,58,12,199,139,135,124,97,199,197,57,132,60,145,92,219,33,43,71,135,26,240,232,120,95,169,120,168,104,105,89,171,252,246,242,173,136,175,144,235,174,255,153,124, +231,59,223,209,23,11,237,152,135,173,53,153,179,32,17,180,190,78,84,39,43,63,49,174,106,195,50,105,215,97,90,51,142,160,106,65,35,65,195,130,20,174,92,186,65,62,93,8,233,131,38,108,229,104,44,137,163,93,86,0,54,236,214,177,186,39,223,56,29,162,149,129, +198,219,17,112,165,13,31,24,204,192,196,59,206,76,213,172,63,79,82,64,23,81,221,2,142,186,152,173,130,98,77,192,80,166,57,54,10,218,67,223,245,253,215,164,41,6,26,223,160,163,202,192,247,44,35,51,231,251,62,23,237,18,234,211,245,97,31,98,155,193,55,114, +60,185,243,218,141,72,54,82,95,168,56,246,75,95,210,113,16,193,161,239,12,60,150,75,243,123,64,87,191,241,124,186,250,218,6,105,215,217,45,160,195,163,241,189,13,56,14,248,51,217,190,1,111,254,144,229,0,53,157,218,83,83,239,249,199,223,4,45,12,223,84, +231,200,221,87,134,101,252,88,76,77,134,51,80,55,156,86,228,64,22,113,198,52,54,3,204,209,92,143,117,42,180,123,10,77,184,218,47,112,4,44,42,89,158,51,95,48,254,16,207,2,246,167,179,3,179,238,191,212,247,220,244,89,242,63,179,113,102,39,212,164,207,113, +121,134,191,226,154,240,24,254,68,117,8,170,131,26,179,102,120,242,5,39,57,114,244,228,181,56,114,173,66,86,227,53,38,126,101,152,175,52,209,17,188,238,170,78,205,208,159,255,208,66,119,86,239,146,109,216,141,166,163,14,126,231,192,224,51,48,33,188,4, +210,228,195,38,33,71,206,158,29,121,224,46,224,80,132,106,229,98,70,47,7,30,39,48,74,17,230,208,119,35,190,30,195,235,127,63,199,200,201,199,161,33,164,225,16,128,48,190,192,21,66,125,195,187,48,158,105,151,156,2,89,162,165,156,183,15,246,93,214,134, +92,78,234,64,187,242,14,55,217,241,12,126,240,66,201,207,46,243,205,66,91,57,14,13,126,68,48,232,29,61,116,184,72,249,72,0,10,251,67,12,154,30,140,144,88,191,150,180,84,160,229,226,60,72,131,85,226,80,131,100,229,57,242,215,235,125,50,225,130,245,50, +118,100,153,172,90,187,77,240,133,70,185,253,246,219,117,23,24,7,172,4,175,43,163,37,233,163,122,25,73,73,175,134,40,124,178,106,53,194,157,210,206,174,212,180,130,102,28,212,141,70,201,175,127,102,97,58,111,198,33,34,191,68,149,31,124,71,100,101,100, +94,121,175,39,206,29,41,114,62,228,105,238,81,70,138,74,129,100,71,13,140,51,28,138,74,7,201,149,80,62,142,37,46,174,210,227,157,127,17,137,238,201,255,164,192,69,65,51,127,58,57,112,232,161,243,188,239,149,143,48,167,22,20,56,67,176,153,87,130,200,209, +129,158,173,5,42,36,152,1,109,128,15,254,66,175,1,48,16,199,111,0,168,133,75,145,74,230,172,212,229,195,148,194,39,195,58,140,140,31,35,242,31,63,241,201,21,183,108,147,49,195,113,10,172,228,233,217,145,252,188,243,79,127,250,83,221,194,103,213,38,91, +210,64,59,206,252,239,4,112,187,176,103,178,185,25,111,19,65,216,32,42,84,1,208,103,70,248,45,165,124,216,94,60,3,250,80,144,83,6,5,178,165,26,19,233,144,176,102,244,103,25,144,184,2,236,97,26,135,70,93,81,137,23,2,71,186,0,27,55,217,252,245,37,92,178, +220,11,73,102,157,191,165,218,124,13,63,126,38,167,129,135,243,53,5,126,118,207,237,3,220,124,168,71,106,169,191,94,232,159,51,251,75,222,171,147,103,10,223,181,133,120,163,64,76,236,131,250,112,0,255,3,217,4,44,10,26,159,229,128,218,78,251,183,120,98, +40,117,216,52,106,144,222,171,83,134,124,245,84,124,100,251,25,159,124,240,105,29,196,186,73,119,128,253,249,207,127,150,215,48,29,115,223,125,247,197,246,120,16,192,129,6,143,243,144,52,227,219,96,46,118,160,133,182,129,231,232,189,149,5,172,69,22,200, +46,64,119,165,147,66,144,56,52,92,41,199,80,218,78,228,112,255,80,6,20,79,118,62,226,71,64,117,230,161,149,115,172,237,167,165,29,105,216,198,49,174,131,47,143,228,228,174,251,198,234,187,90,255,4,203,188,138,147,24,206,249,202,229,120,102,117,122,13, +46,238,237,230,70,68,70,166,30,97,190,61,249,72,128,134,115,61,165,13,35,210,14,168,10,204,237,154,144,227,55,33,140,60,81,25,0,7,98,208,196,92,172,250,186,104,122,252,150,141,70,238,93,230,222,191,144,137,210,137,244,142,139,226,33,117,249,200,126,243, +149,76,229,74,73,190,167,103,253,87,84,84,168,177,194,87,139,249,137,76,186,129,6,141,207,224,180,149,31,94,183,70,160,15,192,244,35,0,228,195,81,51,144,238,167,68,225,220,218,34,168,208,146,65,248,62,25,48,41,68,88,50,4,214,114,57,150,255,135,66,10, +135,137,140,128,170,44,25,140,51,53,3,184,240,35,210,133,168,146,63,16,2,158,221,32,237,217,33,95,241,200,161,69,195,229,31,124,46,65,195,235,119,128,189,123,110,31,224,100,110,36,99,17,182,249,171,214,11,25,72,92,129,235,248,43,241,220,81,240,35,163, +225,104,212,114,20,60,8,227,151,164,56,110,235,137,83,9,45,68,21,192,13,48,230,232,233,34,55,124,3,199,173,110,198,171,61,37,62,89,191,126,189,110,131,163,245,200,83,126,158,124,242,201,158,148,222,235,180,180,88,121,102,115,26,214,15,93,0,72,85,217, +214,10,212,240,167,30,228,98,138,82,138,32,117,165,0,107,16,192,26,2,92,134,0,172,114,168,199,97,149,34,67,43,49,232,46,197,210,83,0,137,56,166,213,198,76,93,137,204,49,231,249,165,41,43,84,48,108,220,209,205,111,202,205,140,198,75,185,97,59,125,24,75, +214,201,197,190,192,189,17,73,137,237,129,208,7,240,46,148,130,139,38,166,18,133,94,217,129,135,129,17,243,24,159,69,44,201,72,190,110,255,103,235,211,129,122,54,6,230,48,64,32,132,23,159,21,201,93,211,132,53,125,124,161,136,155,139,104,160,208,241,29, +58,187,76,98,251,188,72,234,254,253,79,73,227,228,177,15,0,114,46,15,198,159,180,182,0,53,240,156,216,89,23,192,164,16,251,186,82,72,28,193,27,28,245,148,194,108,178,135,178,67,62,197,114,197,231,142,150,194,15,220,181,229,152,140,193,227,175,174,127, +53,240,23,198,82,242,48,27,5,185,222,191,219,23,184,104,122,24,84,70,218,240,48,210,12,221,24,113,108,49,201,124,244,118,143,2,114,2,82,234,150,170,213,232,193,216,169,168,20,249,199,111,68,26,208,202,135,160,173,80,228,121,116,5,223,181,230,226,228, +54,188,186,59,208,142,234,152,71,219,135,177,202,30,238,104,197,162,45,37,142,11,161,9,79,38,249,224,13,85,39,142,130,86,207,107,198,97,180,142,127,252,209,165,22,226,128,21,45,35,203,228,12,25,247,157,134,215,242,223,90,122,187,20,112,54,202,96,181, +133,93,122,194,83,99,63,247,1,174,106,130,34,35,117,59,205,230,54,74,29,88,43,94,21,136,129,62,235,188,28,77,216,171,127,42,189,248,76,38,251,229,144,35,167,206,21,57,15,126,13,38,86,202,139,112,148,6,154,182,221,95,194,45,16,3,233,98,146,12,238,239, +218,181,91,234,170,209,80,192,186,118,44,229,16,192,189,171,15,134,83,37,17,36,50,159,63,233,53,17,216,202,126,95,5,71,35,121,163,51,23,1,175,45,35,156,93,81,57,103,226,225,67,222,218,241,188,76,113,142,229,161,110,40,185,19,240,246,1,238,188,143,35, +143,111,170,117,222,173,171,199,67,177,115,68,12,24,198,239,179,69,110,117,70,64,47,227,161,83,80,73,199,197,153,203,152,136,14,194,106,187,230,82,22,133,73,105,127,150,100,103,166,203,134,13,27,180,236,24,99,123,249,164,238,102,163,148,191,250,250,155, +152,221,90,0,186,112,202,17,63,209,137,118,181,199,145,47,232,34,92,244,237,250,185,51,88,42,14,38,213,217,111,107,67,100,215,2,179,210,206,213,238,201,216,217,21,154,7,212,102,189,47,228,230,150,77,44,29,62,118,73,219,123,185,215,35,49,206,129,73,14, +222,62,192,253,34,90,116,211,198,240,154,232,118,10,20,202,100,0,79,85,38,126,246,171,35,19,104,101,14,86,67,133,159,130,59,116,138,39,255,231,135,217,178,121,123,157,84,97,6,99,206,156,163,229,143,127,252,163,158,205,220,175,143,142,43,76,155,118,148, +75,47,191,252,178,60,120,207,93,146,159,139,241,166,11,130,208,136,246,200,13,36,140,32,249,134,194,163,131,195,252,43,105,87,3,141,161,195,223,48,74,186,86,147,113,79,183,151,198,143,238,9,155,106,242,76,218,208,202,27,27,223,40,124,10,119,146,130,7, +11,33,185,107,169,135,158,221,235,22,127,237,29,179,215,237,190,254,80,43,19,189,61,231,4,165,72,190,118,114,181,184,67,255,93,142,57,225,84,41,47,27,132,189,28,96,72,212,245,247,176,128,160,89,224,248,193,248,31,252,224,7,96,126,1,6,206,237,48,50,240, +90,112,116,183,90,228,241,52,170,32,81,106,148,69,249,161,195,32,196,219,79,197,88,66,123,21,26,172,66,123,198,169,73,243,178,74,11,79,49,239,238,158,224,28,41,203,112,42,21,165,39,38,247,157,2,135,79,180,5,212,50,210,135,83,202,96,70,169,232,15,4,120, +40,51,106,101,114,58,204,132,92,193,65,230,114,242,148,26,41,27,51,94,178,51,246,28,120,214,223,160,217,41,53,150,187,108,217,178,216,57,149,35,128,77,90,160,89,63,56,8,91,69,191,152,165,13,151,86,245,62,210,212,191,60,1,45,17,5,201,121,95,108,67,37, +4,231,41,14,123,254,237,163,42,203,182,70,6,129,67,143,18,95,150,110,215,36,81,180,144,104,150,239,147,124,79,73,253,113,165,3,84,244,29,6,115,72,78,185,12,11,254,86,22,189,240,55,193,216,191,223,7,223,4,140,82,102,151,146,56,78,228,185,93,234,178,74, +100,92,126,141,228,100,184,250,205,30,154,254,145,70,12,30,114,218,138,147,14,3,169,125,96,166,73,192,113,189,166,150,134,230,157,178,67,105,138,218,30,17,2,247,69,194,7,139,155,84,73,81,177,111,86,33,13,35,46,240,114,144,165,211,53,253,221,191,89,50, +108,8,67,197,225,17,135,176,135,48,147,158,94,48,88,202,219,46,147,247,94,127,213,38,232,83,104,85,34,11,33,96,108,216,27,54,172,151,249,243,231,203,153,103,158,41,5,216,137,60,172,20,51,64,77,85,82,146,135,85,0,84,155,210,166,192,105,155,37,31,128,226, +222,230,101,159,104,138,207,76,227,20,101,135,176,228,227,151,188,102,124,182,124,219,175,178,78,144,173,136,247,57,243,117,84,29,75,174,98,24,253,229,27,205,145,116,110,68,52,199,79,148,227,36,27,64,53,122,56,91,31,228,199,8,238,95,181,16,163,68,153, +193,134,65,14,145,169,176,191,67,45,50,106,164,200,138,103,142,147,143,138,150,201,180,169,147,84,74,108,30,50,62,153,35,64,137,142,105,227,211,211,82,197,222,21,185,226,138,43,52,41,207,202,220,186,117,27,186,41,76,78,66,233,228,96,8,70,192,2,24,163, +113,19,54,27,83,68,210,20,193,196,226,251,244,155,228,130,182,48,118,70,184,146,101,252,225,221,181,205,173,85,219,126,149,61,175,253,183,184,71,178,99,125,155,125,144,5,142,212,224,171,162,226,15,230,170,170,244,99,38,32,157,31,147,85,141,224,192,178, +226,56,78,251,56,50,139,126,95,230,216,66,123,31,218,178,89,2,174,209,223,209,114,155,52,102,187,60,254,31,87,72,240,170,191,97,65,114,204,94,197,39,130,148,8,144,77,76,213,200,83,18,248,205,83,90,141,63,255,249,207,245,22,167,184,184,55,146,39,210,114, +142,210,207,143,232,194,13,67,31,199,1,53,65,243,99,86,93,235,174,75,87,188,203,186,147,214,190,185,72,41,142,167,182,77,48,228,243,106,155,164,118,123,237,163,235,55,84,93,55,253,155,130,79,191,236,213,214,246,122,24,129,35,5,10,220,49,199,139,255,154, +255,148,182,167,127,29,152,130,81,247,151,35,111,40,67,187,115,28,23,222,140,84,48,131,241,33,88,85,155,250,180,120,70,147,140,190,58,219,154,109,89,84,153,219,37,35,103,136,28,146,255,134,92,121,254,137,114,201,181,55,201,236,89,179,244,184,166,196, +83,15,236,211,185,52,195,205,169,244,124,231,156,103,77,126,186,242,83,185,247,190,123,99,31,171,229,158,71,110,58,34,152,60,44,71,39,149,81,64,59,250,83,186,2,116,101,17,208,208,118,124,168,39,165,91,223,26,179,180,69,210,245,230,63,199,212,90,154,139, +209,97,160,13,115,150,13,178,125,221,238,247,151,46,109,248,229,137,215,201,243,44,243,185,63,73,16,143,196,124,82,114,23,15,156,91,140,217,39,36,243,198,140,49,249,144,60,124,159,196,54,45,62,6,173,63,12,53,66,139,138,11,166,92,123,99,191,167,6,5,139, +97,86,164,211,16,129,186,158,84,18,105,85,162,57,201,23,205,135,226,60,140,75,59,66,91,49,105,91,42,51,135,172,147,175,224,147,45,116,151,94,122,169,238,20,230,187,118,124,15,129,146,199,105,49,130,197,227,123,185,49,213,174,166,107,134,232,63,238,48, +102,255,70,64,249,130,6,175,233,233,136,15,38,73,164,4,93,25,55,92,251,80,45,126,236,83,169,137,253,227,5,61,235,218,149,139,79,195,53,49,228,194,76,139,227,195,203,15,130,165,244,214,122,255,103,203,119,109,88,177,194,220,124,198,175,228,126,108,0,111, +157,127,229,103,249,59,183,212,134,78,249,129,130,198,2,244,201,137,79,138,7,206,105,199,225,168,72,224,34,68,39,163,73,249,53,74,114,82,153,170,170,150,210,103,48,11,28,3,137,29,0,106,169,150,22,129,180,215,44,26,62,166,94,147,62,159,37,199,185,136, +113,18,23,129,57,67,128,135,175,48,26,108,29,24,62,36,79,38,85,230,201,242,117,27,245,144,235,248,116,201,174,169,54,249,162,33,37,147,142,239,142,115,190,147,32,243,158,5,204,230,13,2,36,2,55,21,99,107,124,202,90,219,32,169,214,169,71,229,31,197,17, +30,249,85,2,147,243,52,90,28,211,177,107,162,245,138,245,48,116,83,142,139,73,79,105,50,94,99,131,111,229,202,246,142,143,151,201,127,158,247,7,193,228,114,241,230,175,157,221,156,29,174,91,148,57,255,86,238,100,209,130,173,36,36,101,156,5,78,31,182, +249,99,13,210,255,242,183,208,250,223,92,231,174,201,171,112,70,99,161,154,114,135,129,20,192,180,69,40,225,172,4,9,227,204,2,128,100,28,193,244,136,56,193,164,100,70,165,147,67,9,53,110,44,45,72,178,143,99,69,65,179,54,10,251,160,200,2,37,214,139,177, +112,9,131,33,216,40,121,186,252,159,129,197,203,28,116,200,88,126,71,191,68,16,108,95,199,133,80,190,92,65,233,227,203,244,156,190,34,96,22,44,62,150,233,19,29,159,24,237,222,176,15,18,99,56,114,6,145,4,13,31,136,68,72,198,179,175,39,95,121,147,117,98, +155,142,47,139,25,64,172,206,48,177,46,228,77,27,158,7,141,23,110,13,55,215,118,248,182,111,54,206,71,75,156,119,238,252,125,240,166,231,36,240,225,156,57,225,244,226,80,117,209,253,143,171,132,145,161,241,5,198,95,227,214,30,71,10,98,238,197,21,226, +157,62,83,130,183,191,46,213,147,167,185,223,56,126,166,247,232,208,65,206,144,14,20,215,30,210,186,83,203,171,138,70,229,93,85,37,208,47,28,227,240,83,151,12,213,59,156,144,102,37,235,192,113,86,142,149,68,167,161,139,137,108,202,209,246,66,178,20,112, +130,214,140,180,152,53,161,74,38,199,192,92,110,15,192,199,25,35,82,71,206,194,69,180,90,187,212,226,211,208,45,224,81,103,46,14,28,205,153,248,27,249,44,83,108,200,71,170,75,71,187,163,218,36,105,156,92,230,212,95,176,197,96,101,27,196,168,99,145,0, +3,75,149,160,40,18,165,214,58,65,35,88,4,55,194,131,80,71,200,52,213,123,94,205,14,199,247,241,114,183,105,241,71,206,239,127,246,130,251,176,12,111,107,63,190,184,173,104,213,50,105,123,187,78,19,71,107,24,45,174,139,32,218,174,34,178,132,105,81,121, +234,3,9,159,54,91,178,190,119,107,104,21,36,231,212,59,254,205,251,110,81,161,57,30,135,222,141,194,199,124,157,160,109,104,160,23,93,139,231,3,237,252,22,183,31,195,47,152,207,244,152,205,199,247,185,225,121,205,205,53,142,11,80,40,149,80,121,145,25, +24,220,80,240,16,232,163,45,208,12,233,240,150,39,234,222,0,12,27,97,234,182,225,218,78,242,70,121,139,6,228,224,120,165,72,234,253,252,79,38,226,201,114,81,125,196,28,56,232,96,21,210,225,118,4,110,120,229,246,133,38,98,4,13,19,204,104,70,227,33,157, +140,96,125,44,112,81,237,3,245,16,198,250,98,59,182,32,54,214,27,111,87,149,227,214,110,119,124,159,172,150,5,15,191,32,55,190,180,53,180,114,230,56,201,104,192,249,3,47,47,86,117,197,103,91,208,24,218,107,92,238,117,205,223,49,23,15,156,87,11,254,64, +75,152,103,222,147,208,188,41,18,92,42,29,213,223,190,87,174,7,145,127,185,106,174,55,30,223,214,62,50,63,75,14,11,166,155,225,89,25,206,80,0,233,234,88,7,56,16,64,12,27,13,64,52,4,23,187,209,156,116,0,205,253,23,233,216,206,22,76,231,105,231,4,145,173, +17,156,136,39,79,201,1,63,129,4,85,19,140,66,84,58,226,227,193,131,202,50,232,214,153,147,235,230,201,0,136,85,44,238,130,28,165,117,70,79,142,51,63,243,178,238,236,252,64,45,246,217,224,31,247,145,208,53,130,68,108,87,48,240,14,37,158,235,109,42,233, +232,6,240,225,44,52,200,54,212,5,243,152,209,57,76,74,102,8,51,187,29,237,88,194,196,83,154,27,29,54,186,112,67,173,227,219,182,5,171,250,235,229,175,87,63,238,222,137,82,91,15,27,30,200,93,177,174,163,173,17,39,37,226,81,22,52,62,57,254,58,254,55,73, +218,199,217,202,179,18,251,248,137,67,36,109,80,161,4,222,173,18,175,117,135,118,104,108,98,254,25,69,254,225,71,79,50,35,115,50,205,208,130,92,103,70,118,186,169,8,4,157,210,236,116,41,226,52,153,130,137,202,250,131,98,96,117,155,140,44,0,8,207,29,82, +0,83,239,211,90,83,137,1,5,172,56,61,23,43,169,30,155,97,255,16,56,130,166,192,97,250,178,29,59,192,215,110,22,247,199,143,33,159,43,141,105,142,172,4,175,54,129,30,164,150,70,168,194,22,140,213,216,42,172,111,66,156,5,140,33,117,24,65,164,136,176,174, +212,217,217,232,251,120,20,97,25,194,17,233,174,25,217,212,33,101,147,74,157,65,63,58,89,28,172,223,154,172,60,172,249,99,122,18,244,43,237,56,237,73,27,41,186,214,168,218,6,221,40,149,128,181,66,177,52,129,26,30,233,213,218,32,190,205,91,100,247,146, +85,230,87,183,188,225,189,52,178,44,144,145,134,198,176,178,154,53,84,208,8,156,245,108,80,246,218,134,140,35,189,73,157,5,142,149,33,40,86,254,25,178,114,10,212,112,88,220,144,180,0,118,96,251,195,248,238,235,114,156,216,142,123,81,38,16,38,9,30,85, +238,13,159,61,198,84,66,165,86,148,228,200,12,124,103,182,34,15,199,26,243,184,45,206,62,164,1,64,0,167,32,66,34,29,170,87,72,104,172,95,177,192,209,16,32,3,168,34,163,210,230,181,55,137,187,27,221,223,63,22,152,109,207,125,226,60,51,36,71,158,221,218, +16,94,133,231,178,146,116,108,161,244,214,217,107,214,43,222,251,49,116,208,6,10,160,88,55,222,163,211,186,227,31,198,223,166,176,169,221,84,220,118,161,115,101,249,32,41,77,207,6,120,248,160,49,53,7,247,154,112,80,110,65,99,195,83,105,3,39,184,227,185, +5,189,1,214,122,195,29,141,226,219,184,205,172,126,234,93,231,218,103,214,132,87,30,86,30,200,222,88,35,237,213,205,29,29,60,230,11,234,151,188,139,7,200,94,39,134,182,30,74,100,252,63,11,28,227,88,9,86,202,130,167,21,196,111,5,143,33,233,54,120,111, +163,32,32,129,162,204,128,31,70,149,31,218,1,195,7,227,110,216,141,117,164,8,49,200,103,130,99,178,77,233,89,51,205,212,193,88,136,199,251,224,51,243,115,164,48,7,45,55,0,197,4,99,208,139,50,193,165,49,99,251,42,50,193,26,3,148,186,38,168,27,244,47,190, +170,221,102,221,179,255,146,187,159,90,225,190,115,88,73,104,227,226,42,113,209,90,2,104,186,201,42,102,235,196,48,254,190,11,208,98,117,1,112,172,31,127,91,143,45,246,198,87,1,26,63,171,113,107,126,113,138,119,217,196,10,249,186,63,93,66,233,152,161, +231,54,60,54,182,136,65,182,55,205,218,23,182,193,188,106,130,240,129,222,13,219,204,71,151,63,228,94,133,84,85,83,112,58,200,210,205,84,211,220,141,26,3,204,242,42,17,168,248,223,20,142,78,157,173,164,77,16,171,24,34,246,1,14,113,241,247,181,194,209, +22,236,43,196,38,223,252,28,195,25,36,167,30,253,247,166,90,18,73,85,101,210,70,103,154,146,115,143,52,51,202,139,157,99,240,9,210,195,11,115,37,131,42,147,79,64,122,15,13,128,214,170,210,66,181,131,22,105,176,187,138,91,15,221,205,59,204,226,7,222,118, +175,126,111,75,104,237,225,195,36,107,225,38,128,22,105,181,182,146,201,42,152,88,47,219,40,45,205,26,178,62,113,146,199,56,55,15,245,216,213,42,222,184,124,147,243,195,147,204,159,202,138,157,225,216,143,21,166,138,164,180,161,161,57,236,239,248,0,182, +10,244,201,248,98,36,222,6,192,216,55,12,37,189,105,167,188,249,253,71,156,107,145,162,113,82,177,4,150,67,53,34,43,247,28,17,44,11,152,13,227,193,180,245,97,152,172,78,136,222,227,18,43,200,59,241,149,180,173,210,134,177,10,35,29,227,152,214,198,225, +26,111,162,4,34,93,64,14,222,144,43,203,54,126,42,234,85,53,32,56,228,176,239,9,158,54,206,27,58,27,135,195,22,231,153,99,178,50,157,169,185,24,37,4,193,16,214,132,18,71,110,112,220,138,33,152,108,173,150,255,247,195,199,220,235,209,90,235,38,150,4,50, +86,84,117,180,65,234,177,145,32,166,170,45,3,162,57,145,63,218,0,244,42,242,47,190,62,150,86,5,41,42,129,122,141,164,76,231,226,133,87,183,178,64,124,235,106,156,182,243,15,245,70,29,51,214,92,87,152,227,76,204,128,166,136,169,246,40,215,52,192,147,217, +191,213,54,74,77,85,173,115,239,53,79,57,247,80,186,198,228,7,124,171,107,21,52,190,160,68,58,45,173,137,215,137,224,117,9,26,171,149,12,56,27,207,10,37,3,44,190,242,182,210,54,180,64,2,192,0,6,98,176,58,177,43,19,221,131,91,142,195,243,208,50,205,170, +93,180,236,176,125,74,2,57,151,206,246,70,143,27,44,71,194,58,29,231,247,153,161,200,156,3,203,174,45,20,114,182,236,110,52,207,255,236,25,239,9,208,224,141,41,18,223,106,228,3,239,104,125,176,226,172,156,101,128,101,72,98,133,89,183,68,208,44,125,182, +14,246,55,213,40,175,53,15,173,201,74,76,182,175,171,215,193,104,198,117,39,120,115,75,242,156,153,48,168,6,251,92,147,131,16,237,7,4,120,210,20,246,156,237,181,205,102,225,219,31,187,175,188,248,89,104,227,224,108,73,135,132,153,141,141,248,152,33,232, +4,166,241,116,146,70,11,148,141,183,191,25,178,1,118,203,117,6,156,205,108,43,102,43,26,31,218,123,241,33,203,99,26,203,52,203,12,254,118,178,81,163,76,236,51,45,207,15,56,91,155,59,194,59,208,97,35,158,222,55,42,51,144,63,105,184,9,214,54,57,29,111, +108,234,216,133,184,214,161,185,146,201,17,194,166,58,173,44,43,109,1,179,33,43,111,175,45,3,88,121,75,147,109,120,246,183,165,159,191,109,156,189,182,161,3,181,232,64,93,59,149,144,154,117,205,88,198,109,231,248,69,159,3,219,50,16,60,108,16,135,173, +98,222,223,161,125,23,102,25,148,190,224,228,33,226,223,176,75,194,245,109,251,165,215,2,102,67,210,205,58,244,200,117,5,156,45,204,86,146,21,79,188,182,21,142,15,45,112,10,24,242,216,144,229,233,51,75,240,25,111,26,43,57,96,18,102,41,188,197,155,117, +140,165,21,56,180,76,159,33,27,208,79,226,117,37,198,89,112,8,74,60,88,54,222,198,105,126,62,4,46,158,206,120,192,108,29,226,233,181,215,137,116,11,233,44,204,193,219,14,160,179,166,67,194,107,49,52,66,217,164,195,228,193,58,30,85,172,239,90,152,93,13, +18,222,1,122,163,35,84,166,177,222,210,22,31,242,218,254,238,182,148,33,79,204,41,19,99,191,186,190,176,21,179,149,183,97,103,21,103,60,243,216,231,216,112,175,39,97,14,216,96,249,11,147,193,232,47,0,34,38,248,205,78,88,104,136,178,158,149,179,215,54, +180,21,231,239,253,85,158,207,76,6,28,227,45,221,54,100,92,162,71,148,206,186,226,248,139,200,104,93,87,182,240,76,188,163,104,118,67,35,128,94,75,67,124,104,233,100,104,105,181,33,227,250,228,72,100,111,93,98,197,227,127,39,86,222,254,78,124,22,227, +45,211,25,38,250,206,24,97,211,37,150,215,213,111,11,80,98,104,233,99,188,189,102,72,103,195,200,175,200,255,206,104,238,140,94,27,111,243,197,151,213,171,235,100,68,245,170,32,100,138,175,48,175,227,153,192,50,237,179,108,200,56,58,91,25,11,198,254, +194,72,142,254,249,31,79,111,60,173,241,241,124,82,34,189,246,233,251,163,179,223,129,178,15,181,97,103,68,217,251,253,17,198,63,35,254,218,150,109,129,235,236,183,141,63,16,97,60,125,157,93,199,211,219,217,245,128,211,250,223,12,238,70,210,82,169,25, +10,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* projectIconLinuxMakefile_png = (const char*) temp_binary_data_28; + +//================== projectIconVisualStudio05.png ================== +static const unsigned char temp_binary_data_29[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,134,105,84,88,116,88,77,76, +58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60, +120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53, +54,55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58,48,50,32,32,32,32,32,32,32,32,34,62,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57, +57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116, +116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,32,120,109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47, +115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,32,120,109,112,77,77,58,79,114,105,103, +105,110,97,108,68,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,51,54,53,102,53,50,102,48,45,51,49,100,101,45,52,99,55,57,45,97,57,99,52,45,48,57,57,97,51,56,99,56,57,51,49,53,34,32,120,109,112,77,77,58,68,111,99,117,109,101,110, +116,73,68,61,34,120,109,112,46,100,105,100,58,49,50,65,67,56,70,49,54,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,49,50,65,67, +56,70,49,53,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,61,34,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105, +110,116,111,115,104,41,34,62,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,51,98,56,49,54,102,52,98,45,98,97,97,53,45,52,50,102,50, +45,57,50,57,102,45,55,49,48,102,100,102,54,101,52,53,97,99,34,32,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,61,34,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115,104,111,112,58,51,97,99,50,101,99,98,55,45,57,52,100, +102,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50,34,47,62,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,32,60,47,114,100,102,58,82,68,70,62,32,60,47,120,58,120,109,112,109,101,116,97,62,32,60,63,120,112, +97,99,107,101,116,32,101,110,100,61,34,114,34,63,62,223,80,211,164,0,0,23,90,73,68,65,84,120,218,236,93,7,124,84,85,246,254,166,151,244,6,137,129,32,240,87,80,16,20,17,1,23,11,10,168,8,42,40,96,16,92,20,81,23,20,4,117,69,254,182,213,31,234,138,34,136, +8,246,134,40,186,42,88,104,2,2,10,178,10,174,8,82,150,166,148,80,211,51,125,50,123,207,121,239,13,41,51,16,194,100,24,146,123,252,93,51,25,102,222,76,238,247,157,122,207,189,79,23,8,4,32,165,225,138,94,78,129,36,128,20,73,0,41,146,0,82,36,1,164,72,2, +72,145,4,144,34,9,32,69,18,64,138,36,128,20,73,0,41,146,0,82,36,1,164,72,2,72,169,167,98,172,237,251,2,129,64,83,149,64,114,61,57,6,20,89,167,211,229,137,159,101,81,33,128,0,63,199,229,114,253,36,30,90,197,40,151,243,127,74,69,71,56,154,205,230,33,6, +131,225,147,104,89,0,210,252,120,49,204,114,254,79,111,107,94,219,24,192,47,134,71,206,121,76,137,47,154,4,208,201,249,110,216,65,96,88,49,153,76,16,190,72,206,108,29,137,223,239,135,215,235,141,93,2,208,151,19,1,34,68,84,42,209,138,176,80,3,111,164, +149,43,98,4,32,192,45,22,11,230,205,155,135,15,62,248,0,73,73,73,252,101,101,215,113,100,230,182,188,188,28,5,5,5,24,52,104,16,250,245,235,199,138,70,207,197,20,1,104,228,229,229,225,251,239,191,71,163,70,141,96,52,26,37,1,34,52,183,100,250,247,239,223, +143,110,221,186,65,175,215,199,158,5,208,196,102,179,33,61,61,29,169,169,169,210,2,68,152,0,62,159,15,118,187,61,162,215,142,120,41,88,2,94,247,113,64,76,19,64,202,233,37,146,0,146,0,82,36,1,164,72,2,72,145,4,144,34,9,32,69,18,64,138,36,128,20,73,0,41, +146,0,82,36,1,164,72,2,72,169,223,98,140,198,135,208,178,48,117,9,229,231,231,115,19,131,236,22,10,47,180,218,71,243,147,150,150,6,171,213,202,203,192,167,53,1,232,143,41,43,43,67,70,70,6,122,244,232,1,163,209,20,145,78,150,122,107,146,245,122,1,186, +15,235,214,173,195,129,3,7,184,191,226,180,39,64,81,81,17,218,182,109,139,209,163,71,35,62,62,65,16,192,47,145,62,6,1,28,14,7,198,143,31,143,45,91,182,112,3,72,93,42,140,49,58,127,148,142,187,89,168,151,161,92,152,52,151,203,45,221,64,24,243,111,177, +90,248,177,87,204,151,214,250,85,151,115,101,140,206,159,166,252,1,164,249,126,127,57,147,65,18,32,52,1,140,62,35,252,164,241,81,234,172,50,202,105,175,157,152,205,102,30,36,30,143,135,71,56,147,174,189,174,170,144,105,15,247,190,122,149,5,212,39,161, +140,134,2,179,77,155,54,97,195,134,223,248,57,138,111,90,183,62,135,51,157,138,81,59,89,57,167,211,201,190,60,148,208,117,154,54,109,122,74,251,40,37,1,78,16,124,2,245,225,135,255,142,201,47,77,14,130,109,48,24,113,255,152,49,120,242,201,127,48,152,90, +208,102,183,199,97,201,146,37,184,233,230,254,33,3,185,14,29,46,196,202,21,43,213,248,40,32,9,16,235,66,26,59,238,129,113,152,50,229,37,244,233,211,7,143,140,159,192,26,254,255,143,78,192,164,23,38,113,196,254,248,227,79,160,164,164,68,37,134,30,59,118, +108,103,240,7,231,14,198,25,217,217,12,182,102,254,155,159,217,252,148,167,196,146,0,39,0,254,143,171,87,99,234,212,151,208,174,93,123,124,56,107,54,3,174,55,232,48,187,229,108,92,212,233,34,76,154,52,9,183,220,146,139,102,205,154,5,125,251,174,93,187, +216,114,76,156,56,17,57,205,114,16,168,128,55,89,16,170,145,156,210,180,83,66,91,51,161,77,175,179,62,156,197,193,249,93,35,238,66,124,66,28,107,122,81,97,49,3,59,96,192,0,56,156,14,44,88,184,128,43,120,26,192,219,182,111,231,109,114,86,171,13,165,37, +101,40,46,46,14,142,83,13,190,36,192,9,20,103,8,236,21,43,87,176,54,119,233,210,5,110,215,209,232,189,220,31,192,37,93,47,225,199,107,126,252,145,253,57,189,135,130,194,93,59,119,138,0,177,53,26,53,206,64,124,124,28,18,19,19,121,15,101,172,136,116,1, +53,36,192,145,35,135,177,103,207,30,164,165,166,33,51,179,113,208,151,147,208,227,172,172,51,248,241,222,189,123,225,118,187,153,40,133,133,133,188,87,178,204,81,134,33,67,134,50,240,109,219,180,193,21,87,116,231,204,129,42,126,50,6,56,77,162,255,130, +130,66,148,150,150,34,53,39,85,0,105,173,4,28,105,124,92,92,28,63,222,127,96,63,19,128,98,6,34,64,102,86,166,136,7,188,88,180,104,33,147,136,10,97,68,132,7,31,124,8,19,30,153,16,177,93,190,210,5,212,161,80,234,71,65,29,249,116,34,67,168,221,185,90,101, +147,192,36,66,16,176,141,27,55,198,210,37,203,176,110,237,58,108,222,180,5,91,183,110,195,180,151,167,113,140,240,244,211,79,97,198,140,87,131,196,145,4,136,97,33,173,37,223,77,90,77,68,168,90,202,166,199,164,245,36,25,25,141,88,195,137,8,20,56,210,251, +136,52,180,85,62,43,51,11,35,71,141,196,140,87,103,242,123,94,158,246,50,239,249,63,149,39,170,212,107,2,68,170,184,66,107,24,201,201,201,72,78,74,102,179,78,209,123,69,2,144,69,32,32,21,2,164,115,233,151,62,155,6,89,13,34,131,86,246,165,76,160,103,207, +158,200,206,206,198,78,17,32,238,222,189,155,201,33,9,16,241,192,77,39,38,214,16,33,2,148,35,37,37,5,231,182,57,151,211,183,29,59,118,84,170,239,27,77,6,252,166,150,133,169,70,112,172,207,213,142,121,209,92,137,201,116,106,195,48,125,125,212,122,29,129, +47,38,150,134,217,98,132,222,160,87,52,54,80,59,171,64,239,33,115,126,205,53,215,242,239,115,231,125,1,147,217,24,12,16,189,30,31,31,141,67,210,227,170,30,28,244,105,197,35,114,7,4,180,118,130,74,66,98,60,214,174,253,153,53,191,141,200,8,114,114,154, +69,244,208,167,6,77,0,69,187,244,12,142,6,184,78,167,103,13,165,231,12,226,39,145,161,54,238,129,74,190,3,7,12,20,129,93,38,102,206,156,129,69,11,23,35,41,57,145,11,66,51,196,239,171,87,175,66,175,94,189,208,185,115,103,206,255,137,48,11,23,46,196,134, +13,27,248,187,16,25,232,185,101,203,190,195,157,35,70,176,85,25,123,255,184,58,111,248,104,64,105,160,2,190,145,192,23,255,5,1,14,28,13,212,20,211,108,224,245,118,106,76,161,2,78,240,164,227,227,180,39,144,150,102,101,101,225,181,153,51,49,112,208,64, +244,186,186,39,122,247,238,205,46,97,229,202,149,104,213,170,21,166,188,52,53,216,211,71,175,191,111,244,189,92,10,166,66,80,147,38,77,184,38,176,113,227,70,190,222,63,158,124,10,185,185,185,178,20,28,25,205,87,2,49,147,217,84,25,252,42,214,65,27,6,189, +158,221,3,91,5,163,62,56,11,199,179,10,84,7,232,221,251,58,44,94,180,24,131,6,14,194,230,205,91,196,115,101,120,72,228,244,11,23,44,66,243,230,205,89,251,53,18,204,152,49,19,119,221,117,55,18,18,18,24,120,114,23,35,238,28,129,21,203,87,226,145,71,30, +9,190,86,22,130,78,210,236,235,13,10,248,53,53,237,218,107,136,52,52,12,28,173,43,145,122,160,60,16,4,48,28,9,58,117,186,88,152,250,46,236,22,40,130,39,63,79,96,210,239,244,62,237,250,221,47,239,142,158,87,245,132,203,237,226,127,167,192,145,92,1,165, +145,116,157,88,144,168,16,160,174,218,191,142,5,62,61,54,91,205,48,234,141,240,7,252,240,186,188,40,15,84,110,73,215,94,175,185,7,97,27,130,174,65,43,232,144,69,169,234,30,8,104,141,64,100,234,195,117,245,208,226,208,209,235,27,57,37,212,150,138,99,38, +91,170,107,224,105,34,105,146,148,137,215,69,20,252,96,192,23,2,124,171,205,10,111,153,23,91,214,108,135,163,192,201,191,91,237,86,38,76,85,43,161,185,6,4,9,165,185,7,3,157,196,47,136,17,8,155,30,214,212,226,212,244,181,245,194,2,16,216,90,123,51,85, +200,40,208,33,95,25,105,240,201,143,87,245,249,244,216,38,128,246,185,252,248,232,241,47,177,248,237,31,112,222,101,103,163,219,160,139,112,238,165,103,35,245,140,100,62,228,222,235,243,192,231,245,135,138,37,25,112,205,61,208,245,124,62,178,10,245,115, +47,67,196,9,160,108,108,240,243,166,6,170,121,15,30,60,152,211,159,223,127,223,36,76,167,3,113,246,184,147,7,95,4,110,100,82,43,250,219,170,224,207,122,108,46,230,79,255,78,184,1,19,214,47,218,140,141,223,109,69,78,219,108,92,212,167,61,46,234,219,14, +217,173,51,97,50,154,225,43,247,137,60,222,123,212,220,87,117,15,122,29,23,149,234,235,86,134,136,19,128,180,157,210,157,75,47,189,20,247,220,115,15,239,6,34,82,112,245,204,100,97,139,80,219,152,128,48,33,240,137,80,161,124,190,53,8,254,23,248,106,202, +82,36,165,38,192,158,104,229,0,207,227,244,98,215,175,123,177,253,231,63,177,68,88,133,11,174,110,131,206,253,47,64,203,11,154,193,22,111,131,8,1,225,113,121,170,109,93,83,220,3,234,173,68,148,0,52,121,20,17,15,27,54,12,99,199,142,229,122,55,249,127, +178,8,45,90,180,128,83,68,194,30,183,231,152,81,246,113,125,190,90,58,13,5,190,223,233,199,135,143,207,197,215,42,248,214,120,75,208,204,155,109,38,30,126,241,123,201,193,82,44,156,190,28,171,230,172,69,235,75,90,160,243,141,29,208,246,242,86,136,111, +100,7,124,245,27,240,58,35,0,129,64,209,112,223,190,125,113,235,173,183,114,202,67,169,143,166,81,218,10,154,69,60,79,143,253,190,242,26,199,132,149,193,215,133,6,159,52,255,241,163,154,79,224,87,244,219,148,222,113,233,86,4,118,113,169,118,216,147,109, +112,151,185,177,246,171,13,88,59,127,35,90,118,202,193,240,201,131,112,102,251,38,112,57,93,13,134,0,250,72,18,128,6,45,154,80,193,131,2,192,170,154,206,192,233,232,14,71,6,30,53,201,219,43,6,124,8,227,243,253,170,207,255,58,12,248,213,190,167,74,6,107, +130,21,233,77,82,120,189,96,203,15,219,113,112,215,225,144,105,159,180,0,39,32,154,143,15,103,226,149,96,235,104,143,189,207,235,19,86,34,180,75,56,94,192,103,173,16,240,125,53,101,201,113,193,175,118,125,241,185,229,226,99,205,22,51,215,18,76,214,134, +215,32,21,241,58,128,6,164,82,164,81,22,65,44,54,115,165,92,58,160,174,202,105,229,91,131,65,31,6,124,131,146,234,133,212,124,155,170,249,95,212,10,252,144,117,128,6,40,117,86,8,178,216,44,194,223,91,240,199,111,123,80,176,183,8,118,155,157,83,170,138, +243,172,185,8,38,129,209,80,161,94,175,248,106,83,216,60,159,252,183,7,239,143,255,12,95,79,93,134,228,147,0,191,161,75,68,9,160,149,102,73,235,189,101,62,204,127,101,57,158,190,225,101,76,187,227,61,236,221,188,31,86,139,149,77,122,85,64,217,23,25,13, +234,26,187,238,152,209,62,129,239,42,241,224,173,113,31,225,171,105,75,79,74,243,165,68,152,0,28,172,25,76,248,239,143,59,49,245,182,183,240,238,67,159,194,113,216,133,13,75,183,226,133,220,215,177,126,233,38,182,10,228,115,171,2,171,117,202,88,172,194, +23,155,12,92,146,11,13,190,91,128,255,49,190,125,99,21,210,26,39,195,18,103,230,60,95,202,41,38,128,118,211,168,181,11,214,227,153,220,233,248,247,220,95,145,144,18,135,148,198,137,200,104,154,138,125,155,15,96,242,224,55,177,224,213,229,208,5,244,12, +166,130,108,117,151,16,128,174,90,46,110,39,240,139,9,252,57,88,250,150,0,63,51,133,99,139,112,154,175,227,234,93,57,202,79,32,221,148,4,56,41,6,40,255,251,99,253,30,145,78,29,17,233,85,170,82,120,241,41,0,165,101,167,192,231,244,225,157,113,159,136, +49,7,37,135,202,216,85,16,80,85,73,0,84,95,216,113,146,230,63,240,177,0,255,7,1,126,178,114,237,48,224,147,27,242,136,24,161,172,208,201,139,57,242,48,138,40,6,129,148,154,37,88,237,234,10,88,32,8,34,105,99,82,70,34,226,18,237,248,230,149,239,48,101, +216,91,216,179,41,143,215,11,168,85,43,92,19,199,81,179,175,105,126,50,76,2,252,80,154,207,139,80,2,252,162,67,165,112,59,61,184,122,212,101,104,253,151,150,112,22,59,229,189,140,162,153,5,4,42,88,133,138,13,22,84,18,182,38,88,144,46,172,193,175,139, +54,225,249,1,175,97,221,55,191,193,108,50,11,223,111,62,134,207,159,163,106,126,74,88,240,245,122,37,91,56,188,167,0,230,56,35,134,78,234,143,220,167,174,23,132,179,194,85,234,145,86,32,218,105,160,166,145,229,2,148,178,66,135,112,5,126,214,78,2,143, +52,190,81,211,52,28,216,126,24,83,134,190,141,185,47,44,66,192,171,248,121,168,1,161,6,254,219,149,192,55,42,125,124,161,76,190,203,135,67,127,228,35,167,77,22,70,191,119,59,122,12,239,198,43,125,142,18,23,215,35,164,156,2,2,80,174,222,228,156,198,232, +216,167,29,74,142,148,241,239,220,144,161,186,134,180,236,100,222,47,255,193,132,47,240,198,253,31,163,232,96,137,0,222,206,68,112,22,187,88,243,151,8,240,83,131,154,31,8,105,242,203,138,28,40,56,88,132,174,131,46,196,184,143,239,68,251,43,207,129,219, +235,102,139,35,53,255,216,82,167,181,79,87,169,27,182,4,43,134,77,190,25,241,169,113,248,134,138,54,34,43,176,137,188,157,2,184,128,0,52,33,45,142,53,123,241,235,43,113,96,219,33,12,123,113,0,82,206,72,194,123,127,255,20,75,223,89,205,224,155,67,152, +125,14,30,133,20,228,21,65,111,210,99,192,163,189,209,119,108,15,97,254,77,40,44,40,130,201,170,85,24,165,239,63,37,4,208,169,126,217,81,228,130,209,106,196,144,103,250,65,111,212,51,9,8,204,184,36,155,210,136,41,134,213,110,70,70,118,42,54,173,216,134, +233,195,223,19,4,72,198,111,75,55,35,181,113,82,72,240,73,235,253,30,63,242,247,22,32,163,69,58,114,159,190,30,151,12,232,8,183,199,131,226,252,18,254,112,169,249,49,96,1,130,174,192,233,134,61,221,38,72,112,35,55,104,124,254,204,66,94,38,166,58,129, +66,130,0,147,35,181,73,50,246,109,61,136,221,27,243,216,50,80,213,176,18,248,58,165,227,136,44,75,225,161,98,180,187,178,53,134,60,219,15,45,46,200,65,153,195,33,226,0,111,48,24,148,18,67,4,32,115,237,242,184,216,223,15,120,244,58,216,133,246,127,244, +232,60,20,29,41,69,162,0,154,8,160,197,5,241,41,54,197,104,211,169,162,229,129,74,254,158,150,131,75,68,138,71,77,37,87,255,237,50,190,86,98,70,60,138,139,138,249,181,122,189,212,250,152,36,128,70,2,103,137,147,43,124,125,70,95,197,177,193,123,15,255, +11,165,249,14,1,122,92,112,123,84,72,229,213,41,107,244,69,7,138,69,26,105,198,45,19,251,162,199,157,221,104,147,15,138,10,138,121,193,72,154,252,88,38,64,64,203,213,245,194,29,144,37,40,199,85,183,255,69,104,127,60,102,137,12,160,248,96,41,215,7,194, +198,107,66,187,41,157,59,187,75,11,12,120,162,55,206,233,218,18,14,113,29,79,137,39,24,12,74,137,193,52,48,20,15,180,125,115,36,205,218,101,35,46,197,206,125,123,186,112,5,123,157,82,20,242,121,124,104,220,50,29,205,219,55,229,39,189,110,143,68,239,116, +114,1,76,0,161,249,180,121,51,33,33,30,91,215,236,192,155,163,63,70,222,150,131,72,72,181,135,15,220,2,74,212,31,47,98,133,85,31,253,140,131,59,14,97,200,115,253,208,252,124,17,248,149,57,4,17,188,81,176,2,209,105,24,225,85,209,40,167,173,209,33,128, +90,18,166,245,254,120,1,254,250,37,155,240,218,168,217,56,184,253,48,47,18,177,143,215,38,152,221,125,245,38,16,238,51,136,183,226,183,101,91,241,252,192,215,48,248,169,27,208,117,192,133,240,138,107,58,74,157,252,198,186,8,3,248,4,111,163,145,247,16, +68,131,4,180,84,78,39,146,40,231,16,213,253,231,233,163,163,249,202,1,11,4,254,154,47,126,193,180,97,239,226,208,174,124,100,228,164,66,103,208,41,25,128,78,209,116,170,22,150,228,151,85,42,246,104,215,48,88,12,252,158,194,125,197,120,117,196,251,156, +73,248,28,126,36,165,36,170,28,10,212,1,119,117,149,3,153,58,182,52,218,145,50,21,3,226,186,36,158,49,26,224,147,6,25,116,6,124,247,254,106,110,18,113,151,120,185,27,183,210,78,92,49,138,15,151,138,140,192,142,140,102,169,200,251,239,33,216,19,109,48, +24,117,71,87,21,85,162,164,102,38,241,250,194,103,207,46,192,238,205,121,184,117,226,141,56,227,172,198,40,41,45,229,190,255,72,20,177,202,213,158,69,234,113,88,188,120,49,62,253,244,83,110,107,83,90,215,234,110,190,104,235,58,109,98,165,19,68,168,195, +186,54,123,40,98,134,0,84,234,181,38,90,96,141,19,147,248,198,74,6,159,218,112,83,178,146,130,224,211,36,19,192,71,246,228,35,57,51,1,195,94,188,25,57,231,101,227,149,225,239,226,247,229,219,208,168,89,26,47,230,4,107,2,1,229,212,46,123,178,157,215,7, +254,253,197,127,176,127,155,136,11,158,189,17,23,244,106,11,151,199,205,233,102,68,180,95,237,110,254,243,207,63,249,8,216,164,196,36,152,205,166,58,213,72,237,210,116,186,24,45,149,215,245,77,182,140,117,103,204,192,37,96,50,227,95,190,244,45,190,156, +180,4,250,128,30,9,25,241,193,234,30,1,75,209,61,45,225,210,134,140,97,47,220,140,182,87,180,226,127,187,107,250,96,65,130,247,176,101,245,78,38,1,213,245,43,30,165,66,215,160,128,50,163,105,26,7,146,83,134,188,141,126,127,239,133,107,70,93,129,132,148, +120,229,156,158,128,166,207,39,39,4,68,122,90,58,31,244,64,174,44,90,149,198,104,28,29,83,167,49,0,85,252,254,248,207,62,204,125,238,91,232,233,128,164,244,163,224,19,160,46,135,27,135,247,22,240,106,225,184,217,195,25,124,183,71,57,104,161,201,57,89, +24,245,214,109,104,219,253,108,28,254,51,159,151,147,171,70,251,1,117,63,65,106,118,50,183,126,125,48,97,174,8,46,63,68,209,190,18,216,173,54,62,31,40,80,30,136,152,37,136,133,113,218,197,0,62,183,143,119,232,210,166,11,2,95,217,58,174,227,64,207,233, +112,225,154,145,151,97,208,227,215,35,94,164,130,78,151,51,8,24,61,206,110,149,137,123,5,9,102,222,61,11,235,230,255,206,1,160,209,164,175,84,34,230,212,73,184,26,42,42,153,109,30,44,123,107,53,246,254,190,31,67,255,217,31,173,47,249,63,110,26,13,213, +67,112,162,154,72,219,217,180,237,109,209,94,107,208,154,105,234,226,198,18,117,27,3,80,167,175,89,175,28,224,160,106,43,141,252,188,34,241,188,1,185,34,149,187,110,244,149,48,152,116,124,154,70,197,146,46,189,158,182,147,103,228,164,225,158,215,134, +96,186,136,250,127,153,191,129,127,39,211,95,117,133,144,207,224,21,49,65,122,211,84,108,251,233,15,76,29,250,54,114,159,189,33,120,224,3,239,74,171,165,2,209,110,39,58,32,82,59,253,243,84,17,128,110,188,169,157,78,18,179,4,32,96,42,69,174,234,65,92, +188,199,94,128,122,104,119,62,210,154,36,99,232,115,253,209,245,230,11,225,47,247,9,75,80,125,203,184,118,204,27,253,193,105,34,99,248,219,235,67,240,218,200,217,248,121,222,122,126,191,201,82,189,59,136,23,132,4,224,233,194,82,148,229,59,240,246,125, +115,184,15,129,54,131,214,150,192,52,241,231,159,127,62,198,140,25,19,60,243,239,84,8,125,23,218,122,223,169,83,167,136,90,130,136,19,192,39,38,172,216,37,210,57,119,28,111,216,96,205,215,83,233,214,135,252,125,5,56,235,226,230,220,244,113,182,248,233, +245,121,249,112,134,176,190,77,7,149,4,14,46,24,141,124,99,40,222,188,239,35,124,63,251,39,38,133,201,82,253,46,164,218,196,16,232,30,135,7,101,5,14,225,26,78,172,136,163,149,172,233,61,164,253,29,58,116,64,199,142,29,99,162,116,75,223,137,118,93,199, +156,5,224,141,150,1,63,58,94,219,14,91,87,239,192,47,223,252,206,157,185,73,233,9,220,219,87,120,164,152,15,100,248,235,63,111,18,121,126,26,159,156,165,197,4,199,77,202,161,184,136,68,17,68,222,57,237,22,126,106,5,145,32,59,116,183,144,118,34,168,89, +221,147,120,50,218,162,173,93,196,202,106,99,76,199,0,116,23,141,102,109,206,192,152,119,238,192,178,119,87,225,155,233,223,97,207,214,60,62,19,160,207,125,87,98,192,99,74,47,128,230,199,78,100,82,117,42,9,40,88,28,254,74,46,116,70,61,86,204,90,131,148, +172,228,176,27,68,34,119,88,116,253,221,121,84,91,2,132,157,89,167,211,5,75,130,25,215,222,219,29,173,186,182,196,231,147,23,160,249,121,57,184,97,108,79,238,221,115,58,156,181,78,205,137,4,116,253,184,20,27,70,76,203,229,158,130,133,51,86,32,37,51,137, +219,202,228,22,177,232,17,128,222,23,31,238,31,93,78,55,231,249,45,47,204,193,125,111,220,46,162,124,61,159,193,227,118,68,230,158,193,68,34,91,162,21,183,61,127,19,95,111,254,171,203,121,11,26,85,28,27,240,38,81,75,52,9,64,81,200,106,138,181,196,104, +81,149,12,74,218,82,206,103,2,209,46,95,127,185,159,15,130,8,1,126,145,24,59,42,122,251,42,86,134,110,204,67,55,227,201,174,122,125,170,33,208,46,164,219,68,190,79,239,92,48,99,57,146,145,8,91,156,37,210,150,128,190,195,118,245,187,90,16,123,109,198, +58,21,199,195,209,36,192,62,49,250,136,65,199,117,93,41,198,104,49,46,10,149,198,121,220,222,112,85,172,93,98,60,42,198,2,245,143,8,149,95,209,109,56,218,138,241,98,168,235,187,84,18,80,96,73,25,199,188,201,139,57,24,181,39,88,107,76,2,237,187,241,9, +161,161,171,134,52,177,227,196,248,94,12,91,140,18,128,230,46,63,154,4,160,37,183,35,234,227,89,98,172,18,99,148,24,119,136,145,84,141,8,213,229,39,49,30,160,96,190,6,159,69,19,63,92,140,55,197,232,24,146,4,54,43,111,3,163,206,226,207,159,95,200,16,145, +139,8,187,115,88,167,28,35,79,171,110,212,80,66,173,228,116,156,108,32,116,197,144,44,64,161,106,1,138,234,155,223,136,84,85,99,167,24,15,137,145,43,198,178,227,104,201,103,234,235,86,156,192,245,215,139,113,187,24,107,66,105,48,159,234,101,0,6,61,214, +7,253,30,234,133,226,226,82,56,138,156,193,123,3,84,124,45,175,44,10,160,29,197,78,20,230,21,161,180,208,129,156,118,77,112,211,248,222,104,209,33,135,11,83,85,190,61,29,86,96,149,65,96,205,172,194,55,42,72,100,13,238,172,226,187,169,137,111,186,24,79, +170,26,117,162,66,247,100,185,77,140,87,197,184,162,42,176,180,247,192,98,181,96,224,99,125,57,45,252,100,226,124,78,3,227,147,237,234,33,84,224,98,84,153,0,222,231,246,115,47,98,135,235,206,67,71,49,218,117,63,135,107,10,94,191,23,110,183,39,124,127, +162,36,64,141,228,136,10,242,18,49,238,23,163,159,106,58,233,185,87,84,34,212,86,232,62,236,35,196,152,161,198,30,149,73,224,82,72,208,255,225,107,97,48,27,241,209,19,243,128,2,29,31,73,87,82,80,202,205,28,89,103,53,226,189,131,23,246,62,15,103,117,110, +206,11,85,1,202,80,188,110,94,81,12,1,126,100,79,185,110,0,4,168,232,187,55,169,63,15,136,241,97,132,174,187,77,140,187,85,75,112,85,40,18,208,49,241,55,140,237,193,207,125,240,228,231,176,150,91,88,203,47,238,215,30,109,47,111,141,204,150,25,138,115, +23,230,222,229,114,134,61,166,78,149,248,250,236,2,116,181,189,137,82,36,235,209,181,148,51,197,152,34,70,223,80,223,143,44,129,80,108,172,152,179,134,131,196,118,87,180,70,92,178,157,195,19,143,215,195,39,151,212,160,221,106,191,24,139,196,120,66,141, +115,98,86,232,100,214,218,220,127,240,116,38,0,73,19,49,166,138,113,99,168,239,200,231,254,27,149,219,187,249,3,62,190,187,23,247,27,4,142,105,212,41,117,248,85,13,102,255,37,198,90,53,29,69,125,36,192,233,126,52,230,30,49,238,85,31,223,88,213,29,208, +134,19,191,207,21,36,68,37,175,94,93,40,78,89,42,198,87,42,248,59,209,0,164,62,156,141,186,87,140,145,98,208,253,89,6,135,178,4,199,16,175,90,144,34,208,233,198,127,191,212,199,92,191,190,19,128,36,79,140,49,42,160,127,173,193,235,169,106,182,78,173, +73,204,23,99,183,154,198,54,56,169,79,167,35,83,201,246,65,181,112,51,36,204,107,104,221,97,177,24,95,170,133,168,18,52,112,209,213,118,205,156,90,165,98,84,50,197,232,2,101,225,198,95,193,235,251,84,2,108,84,45,69,189,18,237,246,180,81,35,128,148,122, +66,28,57,5,146,0,82,36,1,164,72,2,72,145,4,144,34,9,32,69,18,64,138,36,128,20,73,0,41,146,0,82,26,128,252,79,128,1,0,0,135,102,225,168,168,144,240,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* projectIconVisualStudio05_png = (const char*) temp_binary_data_29; + +//================== projectIconVisualStudio08.png ================== +static const unsigned char temp_binary_data_30[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,134,105,84,88,116,88,77,76, +58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60, +120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53, +54,55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58,48,50,32,32,32,32,32,32,32,32,34,62,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57, +57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116, +116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,32,120,109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47, +115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,32,120,109,112,77,77,58,79,114,105,103, +105,110,97,108,68,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,50,51,51,99,50,54,55,50,45,49,51,57,57,45,52,49,97,101,45,56,100,51,100,45,52,53,55,100,55,100,57,53,57,57,98,52,34,32,120,109,112,77,77,58,68,111,99,117,109,101,110, +116,73,68,61,34,120,109,112,46,100,105,100,58,49,50,65,67,56,70,49,65,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,49,50,65,67, +56,70,49,57,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,61,34,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105, +110,116,111,115,104,41,34,62,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,99,102,48,52,53,48,100,98,45,49,98,55,49,45,52,55,97,52, +45,57,52,49,56,45,52,53,50,54,97,100,50,101,101,53,101,52,34,32,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,61,34,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115,104,111,112,58,53,102,100,99,51,97,48,54,45,57,52,100, +102,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50,34,47,62,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,32,60,47,114,100,102,58,82,68,70,62,32,60,47,120,58,120,109,112,109,101,116,97,62,32,60,63,120,112, +97,99,107,101,116,32,101,110,100,61,34,114,34,63,62,24,123,93,30,0,0,23,203,73,68,65,84,120,218,236,93,7,120,147,229,246,255,101,143,166,187,101,21,139,80,21,80,64,65,4,81,113,35,130,136,82,181,114,65,84,20,23,40,32,120,29,143,127,215,189,247,113,129, +34,92,1,65,4,7,8,162,87,1,7,75,166,10,162,130,82,68,134,136,131,81,150,221,205,78,243,127,207,201,247,197,142,4,75,73,66,104,223,195,115,200,104,242,37,249,206,239,204,247,188,231,211,248,253,126,72,106,188,164,149,167,64,2,64,146,4,128,36,9,0,73,18, +0,146,36,0,36,73,0,72,146,0,144,36,1,32,73,2,64,146,4,128,36,9,0,73,18,0,146,36,0,36,53,80,210,215,247,125,126,191,255,20,5,64,114,61,57,14,20,89,163,209,20,136,219,138,152,0,64,8,63,219,233,116,126,43,238,154,5,87,202,243,127,66,73,67,114,52,26,141, +67,116,58,221,251,177,178,0,164,249,54,193,70,121,254,79,110,107,94,223,24,192,39,216,45,207,121,92,145,55,150,0,208,200,243,221,184,131,192,176,100,48,24,32,124,145,60,179,81,34,159,207,7,143,199,19,191,0,160,47,39,2,68,136,168,84,74,43,194,68,13,188, +145,86,174,136,1,128,4,110,50,153,176,104,209,34,204,158,61,27,201,201,201,252,101,101,215,113,100,206,109,101,101,37,138,138,138,48,112,224,64,228,230,230,178,162,209,115,113,5,0,226,130,130,2,124,249,229,151,104,210,164,9,244,122,189,4,64,132,206,45, +153,254,3,7,14,160,103,207,158,208,106,181,241,103,1,84,178,88,44,200,200,200,64,90,90,154,180,0,17,6,128,215,235,133,213,106,141,232,177,35,94,10,150,2,143,126,28,16,215,0,144,116,114,145,4,128,4,128,36,9,0,73,18,0,146,36,0,36,73,0,72,146,0,144,36,1, +32,73,2,64,146,4,128,36,9,0,73,18,0,146,26,54,233,99,241,33,180,44,76,93,66,133,133,133,220,196,32,187,133,194,19,173,246,209,249,73,79,79,135,217,108,230,101,224,147,26,0,244,99,42,42,42,144,153,153,137,94,189,122,65,175,55,68,164,147,165,193,154,100, +173,86,8,221,139,77,155,54,225,224,193,131,220,95,113,210,3,160,164,164,4,29,58,116,192,168,81,163,96,179,37,10,0,248,164,164,143,2,0,187,221,142,199,30,123,12,59,118,236,224,6,144,104,42,140,62,54,63,74,195,221,44,212,203,80,41,76,154,211,233,146,110, +32,140,249,55,153,77,124,223,35,206,151,218,250,21,205,115,165,143,205,79,11,252,0,210,124,159,175,146,193,32,1,16,26,0,122,175,30,62,210,248,24,117,86,233,229,105,175,31,25,141,70,102,34,183,219,205,124,52,179,78,29,211,180,103,130,204,57,117,244,210, +235,227,161,125,78,2,160,30,25,13,5,102,219,182,109,195,143,63,110,225,231,40,190,105,215,174,61,103,58,53,163,118,242,225,229,229,229,248,230,155,111,176,99,231,14,36,218,108,232,216,169,19,206,58,243,44,6,1,89,67,9,128,147,72,248,228,186,30,125,244, +17,76,120,101,66,80,216,58,157,30,15,142,30,141,103,158,249,23,107,181,26,180,37,36,36,96,229,170,149,120,104,236,88,108,17,96,33,75,160,254,237,246,219,135,98,252,184,241,156,234,157,72,16,200,66,208,49,16,105,254,227,255,247,56,198,191,52,30,125,251, +246,197,250,117,95,99,229,138,85,232,222,189,27,63,247,194,11,207,179,208,137,72,176,249,249,249,184,225,134,92,28,60,116,8,239,205,155,143,157,59,126,198,55,27,190,69,159,171,251,224,205,55,103,241,177,200,53,156,208,172,67,138,181,238,194,255,122,253, +122,76,154,244,10,58,117,58,27,239,206,153,139,110,221,186,225,178,203,47,197,220,119,231,242,70,152,241,227,199,99,231,206,157,193,248,96,218,180,105,108,254,255,59,105,18,242,110,190,9,45,154,183,64,215,174,93,49,227,141,153,104,146,217,4,179,231,204, +198,31,127,252,193,177,129,4,64,156,19,9,105,206,187,115,56,56,191,231,238,123,96,75,76,64,89,89,25,74,138,75,145,221,42,27,121,121,121,176,59,236,88,178,116,137,0,139,48,235,30,47,118,237,250,153,223,219,190,125,123,184,156,34,80,244,184,249,61,153, +25,25,104,147,211,6,21,2,28,165,165,165,17,221,233,35,1,16,165,226,12,9,110,237,23,107,57,14,232,209,163,7,11,84,165,74,159,31,23,94,112,33,223,223,240,245,215,194,207,139,116,206,160,71,78,78,14,63,71,91,229,76,102,35,111,149,163,66,24,105,253,214,173, +91,113,218,105,167,225,212,83,79,141,232,110,95,9,128,40,1,160,184,184,8,123,247,238,69,122,90,58,154,53,107,90,45,112,163,251,205,133,121,39,218,183,111,31,92,46,23,71,248,195,135,143,224,77,178,99,198,142,193,196,87,38,178,59,216,190,125,155,8,0,111, +227,191,191,248,194,139,2,16,182,19,90,26,151,0,168,99,244,95,84,84,204,2,76,176,37,136,192,205,92,77,104,20,249,171,193,223,129,131,7,24,0,196,29,59,118,196,170,149,171,89,203,71,63,56,26,57,167,181,65,151,46,157,145,191,37,31,159,126,242,41,6,228,14, +224,99,202,32,48,206,137,82,63,210,88,74,251,8,12,161,124,182,90,217,36,96,168,251,248,201,180,147,249,63,114,228,8,218,183,107,143,190,125,250,242,166,89,242,251,227,198,141,195,230,205,249,17,223,236,41,1,16,5,162,242,117,82,82,18,103,2,106,241,166, +106,41,155,238,147,198,19,101,138,232,158,44,4,165,129,79,63,243,52,70,142,122,128,5,191,110,221,122,204,127,127,62,54,109,250,30,99,199,140,197,210,101,75,145,43,44,0,89,12,153,5,68,137,34,85,106,165,53,140,148,148,20,164,36,167,136,88,160,152,151,183, +171,2,128,44,2,13,111,8,0,32,3,22,171,153,131,188,23,199,189,136,54,109,218,224,21,225,255,9,60,148,49,80,76,64,53,131,27,111,188,9,187,119,239,198,188,121,243,162,190,228,219,40,1,64,43,144,122,189,46,66,0,168,68,106,106,42,206,60,235,76,54,223,36,56, +117,29,128,72,111,208,113,165,143,136,106,4,132,141,141,27,55,194,47,222,215,165,75,23,241,222,20,46,19,19,169,107,6,189,174,236,197,183,249,155,55,75,23,16,105,173,215,144,240,69,26,70,108,52,233,161,213,105,3,26,235,175,159,85,160,247,144,153,238,35, +76,57,209,194,69,11,96,48,234,131,1,162,199,237,229,209,56,85,5,171,106,245,254,253,5,193,216,161,42,29,62,124,136,111,91,137,0,81,2,32,130,194,215,9,97,147,112,84,129,107,52,90,214,80,122,78,39,110,9,12,245,113,15,14,135,3,55,231,221,140,166,77,155, +97,218,180,215,176,108,233,114,36,167,36,113,65,232,53,241,120,253,250,117,232,221,187,55,206,63,255,124,56,236,78,30,229,210,162,69,11,225,251,191,194,180,233,211,144,96,77,224,215,19,127,191,233,7,76,125,109,42,91,145,1,215,15,56,234,74,162,4,64,221, +197,207,194,215,147,240,197,63,18,48,255,35,65,251,3,129,26,185,4,163,209,192,175,209,233,181,234,219,234,52,237,152,34,250,230,205,155,99,250,180,105,20,246,161,247,213,87,161,95,191,126,184,248,226,139,49,114,228,3,104,219,182,173,200,245,39,241,231, +145,64,169,52,60,227,245,55,248,118,196,136,17,232,222,163,59,134,15,31,142,254,253,175,67,215,243,206,21,22,224,48,38,191,58,25,157,59,119,14,186,7,9,128,122,107,126,32,16,51,8,225,170,194,15,101,29,84,214,105,181,236,30,12,42,16,180,117,11,26,41,103, +191,230,154,126,88,190,108,57,6,222,60,16,219,183,239,16,207,85,224,225,127,62,140,165,75,150,161,117,235,214,65,97,82,91,87,175,94,87,97,205,234,181,120,228,145,71,217,5,44,88,176,16,123,246,236,193,189,247,222,135,47,191,248,10,67,135,222,113,194,235, +0,250,147,95,248,126,54,235,36,252,186,154,118,245,53,4,26,98,157,120,76,169,30,231,240,149,254,96,103,110,56,16,116,235,214,93,152,250,30,236,22,168,188,75,43,122,36,120,122,92,245,125,21,21,229,104,213,170,21,158,123,246,57,78,19,233,53,244,90,179, +72,19,105,93,224,68,11,63,102,0,136,86,251,215,209,132,79,247,141,84,127,215,234,225,243,251,224,113,122,80,233,175,222,146,174,190,94,117,15,194,54,112,207,34,213,246,213,130,14,89,148,154,131,113,73,208,42,128,212,238,158,112,164,118,11,209,103,168, +197,161,19,233,243,99,234,2,212,1,135,244,163,3,39,94,19,81,225,7,3,190,16,194,55,91,204,240,84,120,176,99,195,47,176,23,57,248,177,89,228,231,4,152,154,86,66,117,13,8,2,74,117,15,58,154,196,207,177,68,184,244,176,174,193,164,218,40,18,111,83,212,244, +209,18,188,218,222,76,166,143,10,39,228,43,35,45,124,242,227,53,125,62,221,167,66,140,215,233,195,188,167,62,198,242,89,95,161,227,37,103,160,231,192,243,112,230,197,103,32,173,69,10,15,185,247,120,221,240,122,124,161,98,73,22,184,234,30,232,120,94,47, +89,133,134,185,151,33,226,0,8,108,108,240,241,166,6,42,135,14,30,60,152,115,232,159,126,218,38,76,167,157,211,161,227,22,190,8,220,200,247,18,208,194,9,127,206,147,11,177,120,202,106,225,6,12,200,95,182,29,91,87,239,68,118,135,44,156,119,237,217,56,175, +127,39,100,181,107,6,131,222,8,111,165,87,228,241,158,191,204,125,77,247,160,213,112,81,169,161,110,101,136,56,0,72,219,105,92,44,165,71,247,221,119,31,239,6,34,80,112,245,204,96,98,139,80,223,152,128,100,66,194,87,107,231,181,204,126,80,248,11,240,201, +196,149,72,78,75,132,53,201,204,1,158,219,225,193,111,155,247,225,151,239,254,192,10,97,21,58,95,125,22,206,191,161,51,114,58,183,130,197,102,129,8,1,225,118,186,107,109,93,11,184,7,52,88,138,40,0,232,228,81,148,59,116,232,80,140,25,51,6,89,89,89,236, +255,201,34,80,77,220,33,162,96,183,203,125,212,40,251,111,125,190,65,31,86,248,62,135,15,239,62,181,16,159,42,194,55,219,76,65,51,111,180,24,152,125,226,113,217,161,114,44,157,178,6,235,230,111,68,187,11,219,224,252,1,93,208,225,210,182,176,53,177,2, +222,134,45,240,168,1,64,45,128,244,239,223,31,183,220,114,11,87,185,40,237,81,53,74,93,65,51,137,231,233,190,207,91,89,231,152,176,186,240,53,161,133,79,154,255,212,95,154,79,194,175,234,183,41,189,227,210,173,8,236,18,210,172,176,166,88,224,170,112, +97,227,39,63,98,227,226,173,200,233,150,141,97,19,6,226,212,179,91,194,233,112,54,26,0,104,35,9,0,98,90,52,161,116,135,2,192,154,154,206,130,211,208,21,142,116,204,117,201,219,171,6,124,8,227,243,125,138,207,255,52,140,240,107,125,79,5,12,230,68,51,50, +90,166,242,122,193,142,175,126,193,161,223,142,132,76,251,164,5,56,6,82,125,124,56,19,31,8,182,254,234,177,167,230,73,234,161,11,245,250,191,11,248,204,85,2,190,79,38,174,248,91,225,215,58,190,248,220,74,241,177,70,147,145,107,9,6,115,227,219,38,17,241, +58,128,42,200,64,145,70,195,171,98,38,139,177,90,46,237,87,86,229,212,242,173,78,167,13,35,124,93,32,213,11,169,249,22,69,243,23,212,75,248,33,235,0,141,144,162,86,8,50,89,76,194,223,155,240,251,150,189,40,218,87,2,171,197,202,41,85,213,243,172,186,8, +6,129,94,87,165,94,31,240,213,134,176,121,62,249,111,55,222,121,236,67,124,58,105,21,82,142,67,248,141,157,34,10,0,181,52,75,90,239,169,240,98,241,228,53,248,207,245,255,197,171,119,190,141,125,219,15,112,13,156,76,122,77,129,178,47,210,235,148,53,118, +205,81,163,125,18,190,179,204,141,153,99,231,225,147,87,87,30,151,230,75,138,48,0,56,88,211,25,240,243,215,191,98,210,109,51,241,214,195,31,192,126,196,137,31,87,238,196,75,131,94,71,254,202,109,108,21,200,231,214,20,172,218,72,105,50,11,95,108,208,113, +73,46,180,240,93,66,248,239,225,243,25,235,144,222,52,5,166,4,35,231,249,146,78,48,0,212,139,70,109,92,146,143,231,6,77,193,55,11,55,35,49,53,1,169,77,147,144,121,74,26,246,111,63,136,9,131,223,192,146,169,107,160,241,107,89,152,1,201,214,118,9,126,104, +106,229,226,86,18,126,41,9,127,62,86,206,20,194,111,150,202,177,69,56,205,215,112,245,174,18,149,199,144,110,74,0,28,23,2,2,255,253,158,191,87,164,83,127,138,244,42,45,80,120,241,6,4,148,158,149,10,175,195,139,55,199,190,47,120,62,202,14,87,176,171,32, +65,213,4,1,80,123,97,199,65,154,255,208,123,66,248,95,9,225,167,4,142,29,70,248,228,134,220,34,70,168,40,118,240,98,142,28,70,17,195,32,144,82,179,68,179,85,89,253,242,7,133,72,218,152,156,153,132,132,36,43,62,155,188,26,19,135,206,196,222,109,5,188, +94,64,173,90,225,154,56,254,50,251,170,230,167,192,32,132,31,74,243,121,17,74,8,191,228,112,57,92,14,55,174,190,255,18,180,187,40,7,142,82,135,188,150,81,44,179,0,127,21,171,80,181,193,130,74,194,230,68,19,50,132,53,216,188,108,27,198,229,77,199,166, +207,182,192,104,48,242,222,185,240,62,127,190,162,249,169,97,133,175,213,6,178,133,35,123,139,96,76,208,227,214,241,55,96,208,191,175,19,128,51,195,89,238,150,86,32,214,105,160,170,145,149,66,40,21,197,118,225,10,124,172,157,36,60,210,248,38,167,164, +227,224,47,71,48,241,214,89,88,248,210,50,248,61,1,63,15,37,32,84,133,63,171,154,240,245,220,172,17,210,228,59,189,56,252,123,33,178,207,106,142,81,111,223,129,94,195,122,242,74,159,189,204,201,245,8,73,39,0,0,148,171,183,108,223,20,93,175,237,132,178, +63,43,248,49,55,100,40,174,33,61,43,69,220,7,102,63,190,0,51,30,124,15,37,135,202,132,224,173,12,4,71,169,147,53,127,133,16,126,90,80,243,253,33,77,126,69,137,29,69,135,74,112,193,192,115,49,246,189,187,112,246,21,237,225,242,184,216,226,72,205,63,58, +69,181,246,233,44,119,193,146,104,198,208,9,55,193,150,150,128,207,168,104,35,178,2,139,200,219,41,128,243,11,129,38,166,39,176,102,47,127,253,11,28,220,117,24,67,95,206,67,106,139,100,188,253,200,7,88,249,230,122,22,190,49,132,217,231,224,81,80,81,65, +9,180,6,45,242,158,184,6,253,199,244,18,230,223,128,226,162,18,24,204,106,133,81,250,254,19,2,0,141,226,151,237,37,78,232,205,122,12,121,46,23,90,189,150,65,64,194,76,72,182,4,26,49,5,155,173,70,100,102,165,97,219,218,93,152,50,236,109,1,128,20,108,89, +185,29,105,77,147,67,10,159,180,222,231,246,161,112,95,17,50,219,100,96,208,127,174,195,133,121,93,225,114,187,81,90,88,198,31,46,53,63,14,44,64,208,21,56,92,176,102,88,4,8,6,112,131,198,71,207,45,229,101,98,170,19,4,64,224,103,112,164,181,76,193,254, +157,135,176,103,107,1,91,6,170,26,86,19,190,38,208,113,68,150,165,248,112,41,58,93,209,14,67,158,207,69,155,206,217,168,176,219,69,28,224,9,6,131,146,226,8,0,100,174,157,110,39,251,251,188,39,250,193,42,180,127,222,19,139,80,242,103,57,146,132,160,9, +0,106,92,96,75,181,4,140,54,77,21,173,244,87,243,247,180,28,92,38,82,60,106,42,185,122,248,37,124,172,164,76,27,74,75,74,249,181,90,173,212,250,184,4,128,10,2,71,153,131,43,124,215,142,186,146,99,131,183,31,253,31,202,11,237,66,232,9,193,129,11,33,149, +87,19,88,163,47,57,88,42,210,72,35,254,241,108,127,244,186,171,39,160,19,207,21,149,242,130,145,52,249,241,12,0,191,154,171,107,133,59,112,242,174,217,43,239,184,72,104,191,13,115,68,6,80,122,168,156,235,3,97,227,53,161,221,148,206,157,209,163,13,242, +158,190,6,237,47,200,129,93,28,199,93,230,14,6,131,146,226,48,13,12,133,3,210,84,117,40,82,171,78,89,72,72,181,114,223,158,38,92,193,94,19,40,10,121,221,94,52,205,201,64,235,179,79,225,39,61,46,183,148,222,201,228,2,24,0,66,243,105,99,102,98,162,13,59, +55,236,198,27,163,222,67,193,142,67,72,76,179,134,15,220,252,129,168,223,38,98,133,117,243,190,195,161,221,135,49,228,133,92,180,62,71,4,126,21,118,1,4,79,12,172,64,108,26,70,212,13,173,13,15,0,74,73,152,214,251,109,66,248,249,43,182,97,250,253,115,113, +232,151,35,188,72,196,62,94,61,193,236,238,107,55,129,112,159,129,205,140,45,171,118,98,220,205,211,49,248,223,215,227,130,188,115,225,17,199,180,151,59,248,141,209,8,3,120,130,183,94,207,123,8,98,1,2,90,42,167,137,36,129,57,68,209,255,60,109,108,52, +63,48,96,129,132,191,97,193,247,120,117,232,91,56,252,91,33,50,179,211,160,209,105,2,25,128,38,160,233,84,45,44,43,172,168,86,236,81,143,161,51,233,248,61,197,251,75,49,245,238,119,56,147,240,218,125,72,78,77,82,48,228,143,2,118,53,213,3,153,40,91,26, +170,94,214,12,136,163,9,60,125,44,132,79,26,164,211,232,176,250,157,245,220,36,226,42,243,112,55,110,181,157,184,130,75,143,148,139,140,192,138,204,86,105,40,248,249,48,172,73,22,232,244,154,191,86,21,21,160,164,53,75,230,245,133,15,159,95,130,61,219, +11,112,203,179,3,208,226,244,166,40,43,47,231,190,255,72,20,177,42,149,158,69,234,113,88,190,124,57,62,248,224,3,110,107,11,180,174,69,239,124,209,214,117,218,196,74,219,200,169,195,186,62,123,40,226,6,0,84,234,53,39,153,96,78,16,39,113,198,23,44,124, +106,195,77,109,158,28,20,126,96,130,182,31,127,238,45,68,74,179,68,12,125,249,38,100,119,204,194,228,97,111,225,167,53,187,208,164,85,58,47,230,4,107,2,254,192,212,46,107,138,149,215,7,190,89,240,3,14,236,18,113,193,243,3,208,185,119,7,56,221,46,78,55, +35,162,253,74,119,51,77,246,164,17,176,201,73,201,60,96,34,154,26,169,30,154,166,146,209,82,121,180,47,178,165,143,158,49,3,151,128,201,140,127,252,202,231,248,120,252,10,104,253,90,36,102,218,130,213,61,18,44,69,247,180,132,75,27,50,134,190,116,19,58, +92,214,150,255,118,207,148,193,2,4,111,99,199,250,95,25,4,84,215,175,58,156,145,142,65,1,101,230,41,233,28,72,78,28,50,11,185,143,244,70,159,251,47,67,98,170,13,110,183,71,177,218,199,127,242,72,16,25,233,25,34,120,77,100,87,22,171,74,99,44,38,136,70, +53,6,160,138,223,239,63,236,199,194,23,62,135,86,160,56,49,227,47,225,147,64,157,118,23,142,236,43,226,213,194,177,115,135,177,240,93,238,192,160,133,150,237,155,227,254,153,183,161,195,229,103,224,200,31,133,188,156,92,51,218,247,43,251,9,210,178,82, +184,245,107,246,227,11,69,112,249,46,74,246,151,193,106,182,240,124,32,127,165,63,98,150,32,30,248,164,139,1,188,46,47,239,208,165,77,23,36,252,192,214,113,13,7,122,52,76,169,207,136,75,48,240,169,235,96,19,169,160,195,233,8,10,140,238,103,181,109,134, +7,4,8,166,221,59,7,155,22,255,196,1,160,222,160,173,86,34,230,212,73,184,26,42,42,25,45,110,172,154,185,30,251,126,58,128,91,95,188,1,237,46,60,141,155,70,67,245,16,28,171,38,210,118,54,117,123,91,172,215,26,212,102,154,192,133,183,252,39,15,0,184,211, +215,168,13,12,112,80,180,149,184,176,160,68,60,175,195,32,145,202,245,27,117,5,116,6,13,143,90,175,90,210,165,215,211,118,242,204,236,116,220,55,125,8,166,136,168,255,251,197,63,242,99,50,253,53,87,8,41,46,48,137,152,32,227,148,52,236,250,246,119,76, +186,117,22,6,61,127,125,112,224,3,239,74,171,167,2,209,110,39,26,16,73,64,136,165,11,168,9,0,186,240,166,58,157,36,110,1,64,130,169,22,185,6,134,116,5,246,216,11,161,30,222,83,136,244,150,41,184,245,133,27,112,193,77,231,194,87,233,21,150,160,246,150, +113,117,204,27,253,224,116,145,49,12,127,125,8,166,143,152,139,239,22,229,243,251,13,166,218,221,65,188,32,36,4,158,33,44,69,69,161,29,179,70,206,231,62,4,218,12,90,95,0,211,137,63,231,156,115,48,122,244,104,206,8,78,212,108,127,250,46,180,245,158,46, +82,17,73,75,16,113,0,120,197,9,43,117,138,116,206,149,192,27,54,88,243,181,84,186,245,162,112,127,17,78,239,222,154,155,62,206,16,183,30,175,135,135,51,132,245,109,26,40,32,176,115,193,104,196,140,91,241,198,200,121,248,114,238,183,12,10,131,169,246, +85,72,213,19,67,66,119,219,221,168,40,178,11,215,112,108,69,28,181,100,77,239,33,237,167,105,159,116,165,143,120,32,250,78,145,28,43,23,185,237,225,180,209,210,239,67,215,190,157,176,115,253,110,124,255,217,79,220,153,155,156,145,200,189,125,197,127, +150,242,64,134,219,95,188,81,228,249,233,112,186,156,193,152,224,111,147,114,4,92,68,146,8,34,239,122,245,31,252,212,90,2,65,86,232,110,33,117,34,168,81,217,147,120,60,218,162,174,93,196,203,106,99,92,199,0,116,21,141,86,103,181,192,232,55,239,196,170, +183,214,225,179,41,171,177,119,103,1,207,4,184,118,228,21,200,123,50,208,11,160,250,177,99,57,169,26,5,4,20,44,14,155,60,8,26,189,22,107,231,108,64,106,243,148,176,27,68,34,55,44,186,225,238,60,170,47,0,194,158,89,135,195,9,83,162,17,125,31,184,28,109, +47,200,193,71,19,150,160,117,199,108,92,63,230,42,238,221,115,216,29,245,78,205,9,4,116,252,132,84,11,238,126,117,16,247,20,44,125,109,45,82,155,37,115,91,153,220,34,22,59,0,208,251,108,225,254,232,116,184,56,207,207,57,55,27,35,103,220,33,162,124,45, +207,224,113,217,35,115,205,96,2,145,37,201,140,219,198,221,200,199,91,60,117,13,111,65,163,138,99,35,222,36,106,138,37,0,40,10,89,79,177,150,224,54,53,193,16,72,91,42,121,38,16,237,242,245,85,250,120,16,68,8,225,151,8,222,93,213,219,215,176,50,116,97, +30,186,24,79,86,205,227,83,13,129,118,33,221,38,242,125,122,231,146,215,214,32,5,73,176,36,152,34,109,9,232,59,252,162,124,87,19,226,175,205,88,163,200,241,72,44,1,176,95,240,181,130,105,92,215,21,130,71,9,62,47,84,26,231,118,121,194,85,177,126,19,252, +132,224,37,202,143,8,149,95,209,101,56,58,8,126,57,212,241,157,10,8,40,176,164,140,99,209,132,229,28,140,90,19,205,117,6,129,250,221,120,66,104,232,170,33,157,216,177,130,191,20,108,137,83,0,208,185,43,140,37,0,104,201,237,79,229,254,28,193,235,4,223, +47,248,78,193,201,181,128,80,155,190,21,252,16,5,243,117,248,44,58,241,195,4,191,33,184,107,72,16,88,204,188,13,140,58,139,63,26,183,148,69,68,46,34,236,206,97,77,96,140,60,173,186,81,67,9,181,146,211,56,89,127,232,138,33,89,128,98,197,2,148,52,52,191, +17,169,170,198,175,130,31,22,60,72,240,170,191,209,146,15,149,215,173,61,134,227,231,11,190,67,240,134,80,26,204,83,189,116,192,192,39,175,69,238,195,189,81,90,90,14,123,137,35,120,109,128,170,175,229,149,69,33,104,123,169,3,197,5,37,40,47,182,35,187, +83,75,220,248,216,53,104,211,37,155,11,83,53,190,61,13,43,48,55,212,192,65,83,223,43,104,28,165,24,145,174,88,131,187,106,248,110,106,226,155,34,248,25,69,163,234,67,180,84,56,85,240,101,161,190,147,201,108,226,229,230,5,227,150,224,253,103,23,195,108, +54,194,150,98,85,134,80,129,139,81,21,66,240,94,151,143,123,17,219,247,204,65,215,126,29,209,233,242,246,92,83,240,248,60,129,156,191,122,56,82,32,120,136,224,21,241,44,72,26,203,87,243,170,36,39,10,0,42,93,36,248,65,193,185,138,233,36,193,79,86,128, +112,60,116,154,224,215,148,216,35,36,8,168,249,100,193,203,203,48,239,233,69,60,150,134,70,210,149,21,149,115,51,71,243,211,155,240,222,193,115,175,233,136,211,207,111,205,11,85,126,154,18,42,4,95,233,13,233,50,14,40,0,248,188,33,2,32,154,139,65,228, +187,183,41,183,7,5,191,27,161,227,238,18,124,175,98,9,174,172,105,226,93,78,23,143,137,191,126,76,224,218,61,179,159,249,8,230,74,19,107,121,247,220,179,209,225,210,118,104,150,147,25,112,238,194,220,59,157,142,176,99,234,20,178,73,23,80,63,11,16,109, +58,85,240,68,193,253,195,187,3,17,104,204,223,192,65,98,167,203,218,33,33,197,202,225,9,93,172,129,38,151,212,161,221,138,180,127,153,224,167,149,56,71,186,128,56,2,0,81,75,193,147,4,15,8,245,29,121,238,191,62,112,121,55,159,223,203,87,247,226,126,3, +63,142,86,141,36,63,176,89,9,102,255,39,120,163,146,142,162,33,2,224,100,31,141,185,87,240,3,202,253,1,53,221,1,109,56,241,121,157,65,64,84,203,156,107,19,197,41,43,5,127,162,8,255,87,52,2,106,8,179,81,247,9,30,33,216,46,120,112,40,75,112,20,242,40,5, +41,18,58,93,248,239,251,134,152,235,55,116,0,168,169,218,104,69,160,183,215,225,245,84,53,219,164,212,36,22,11,222,163,20,183,26,29,53,164,233,200,84,178,253,167,82,184,25,18,230,53,180,238,176,92,240,199,74,33,170,12,141,156,52,245,93,51,167,86,169, +56,165,102,130,123,32,176,112,227,171,226,245,189,10,0,182,42,150,162,65,17,181,170,213,103,165,85,35,167,105,52,110,210,202,83,32,1,32,73,2,64,146,4,128,36,9,0,73,18,0,146,36,0,36,73,0,72,146,0,144,36,1,32,169,17,208,255,11,48,0,11,74,131,33,163,168, +64,251,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* projectIconVisualStudio08_png = (const char*) temp_binary_data_30; + +//================== projectIconVisualStudio10.png ================== +static const unsigned char temp_binary_data_31[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,148,105,84,88,116,88,77,76, +58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60, +120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53, +54,55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58,48,50,32,32,32,32,32,32,32,32,34,62,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57, +57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116, +116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,32,120,109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47, +115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,32,120,109,112,77,77,58,79,114,105,103, +105,110,97,108,68,111,99,117,109,101,110,116,73,68,61,34,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115,104,111,112,58,51,97,99,50,101,99,98,55,45,57,52,100,102,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50, +34,32,120,109,112,77,77,58,68,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,49,51,49,68,69,70,50,51,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,77,77,58,73,110,115,116,97,110,99,101, +73,68,61,34,120,109,112,46,105,105,100,58,49,51,49,68,69,70,50,50,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,61,34,65,100,111,98,101,32,80,104,111,116,111,115, +104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105,110,116,111,115,104,41,34,62,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58, +100,55,57,98,55,97,56,98,45,55,51,102,53,45,52,54,98,56,45,98,102,50,53,45,97,99,55,100,55,54,100,57,102,54,57,101,34,32,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,61,34,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115, +104,111,112,58,54,53,56,52,55,57,53,99,45,57,52,100,102,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50,34,47,62,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,32,60,47,114,100,102,58,82,68,70,62,32,60,47, +120,58,120,109,112,109,101,116,97,62,32,60,63,120,112,97,99,107,101,116,32,101,110,100,61,34,114,34,63,62,1,59,247,86,0,0,22,58,73,68,65,84,120,218,236,93,7,124,84,101,182,255,79,47,233,13,130,193,40,29,30,136,132,102,91,84,64,87,119,21,164,201,98,16, +148,162,62,69,197,213,125,250,124,254,68,216,221,159,101,93,69,124,138,62,69,81,68,193,178,10,40,16,68,177,129,200,42,32,40,85,69,144,18,32,33,61,211,203,251,206,185,247,142,41,51,17,194,204,100,8,223,225,119,200,204,228,206,205,204,61,255,83,191,243, +157,171,11,6,131,144,116,250,146,78,2,64,2,64,94,5,9,0,73,18,0,146,36,0,36,73,0,72,146,0,144,36,1,32,73,2,64,146,4,128,36,9,0,73,18,0,146,36,0,36,73,0,72,146,0,168,71,70,241,190,51,197,79,189,96,137,160,150,39,189,78,167,43,22,63,107,227,2,0,241,158, +142,46,151,235,107,241,208,42,56,32,175,127,203,42,49,41,164,217,108,158,96,48,24,222,62,97,77,110,46,226,4,39,11,54,203,235,159,48,100,108,174,32,155,67,126,193,30,121,205,19,138,124,241,4,128,78,94,239,211,216,108,52,69,38,147,9,194,23,201,43,27,35, +242,251,253,240,122,189,137,11,0,250,112,34,64,132,136,74,165,180,162,76,20,176,71,91,185,162,6,0,18,184,197,98,193,178,101,203,176,112,225,66,164,165,165,241,135,149,117,134,232,92,219,64,32,128,242,242,114,140,27,55,14,163,70,141,98,69,163,215,18,10, +0,196,197,197,197,88,187,118,45,218,180,105,3,163,209,40,1,16,165,107,75,166,255,240,225,195,24,52,104,16,244,122,125,226,89,0,141,108,54,27,178,179,179,145,153,153,41,45,64,148,1,224,243,249,96,183,219,163,122,110,125,180,63,172,20,120,236,227,128,132, +6,128,164,83,139,36,0,36,0,36,73,0,72,146,0,144,36,1,32,73,2,64,146,4,128,36,9,0,73,18,0,146,36,0,36,73,0,72,146,0,144,212,186,201,24,143,63,66,203,194,212,37,84,86,86,198,77,12,178,91,40,50,209,106,31,93,159,172,172,44,88,173,86,94,6,62,165,1,64,95, +166,182,182,22,57,57,57,184,252,242,203,97,52,154,162,210,201,210,106,77,178,94,47,132,238,195,166,77,155,112,228,200,17,238,175,56,229,1,80,89,89,137,94,189,122,97,250,244,233,72,78,78,17,0,240,75,73,55,1,0,135,195,129,251,239,191,31,187,118,237,226, +6,144,88,42,140,49,62,95,74,199,221,44,212,203,16,16,38,205,229,114,75,55,16,193,252,91,172,22,126,236,21,215,75,107,253,138,229,181,50,198,231,171,41,95,128,52,223,239,15,48,24,36,0,194,3,192,232,51,194,79,26,31,167,206,42,163,188,236,205,39,109,15, +4,117,232,54,21,172,105,29,211,116,60,153,115,143,199,19,213,222,126,9,128,120,95,52,163,145,125,243,222,189,123,113,236,216,49,180,109,219,22,233,233,233,141,124,53,155,116,33,120,2,0,5,117,187,127,216,141,244,180,52,244,233,83,128,246,237,219,163,166, +166,70,214,1,78,53,19,77,81,121,85,85,21,102,253,117,22,6,158,55,0,231,157,63,16,203,151,47,23,193,109,114,163,227,41,141,43,41,41,193,184,113,127,194,133,23,93,128,27,111,188,1,35,70,142,192,128,129,253,177,96,193,171,72,74,74,146,0,56,149,136,180,190, +168,168,8,5,125,251,96,214,172,153,28,219,144,214,135,139,210,181,218,71,225,248,235,176,116,217,82,220,123,239,125,216,184,113,19,22,45,90,204,191,155,60,101,50,86,173,90,213,226,32,144,0,56,1,34,193,149,148,150,160,75,151,46,248,106,253,87,152,50,101, +74,196,40,157,4,59,255,149,249,88,183,110,157,56,110,42,30,123,236,81,244,234,217,139,173,193,139,47,206,227,99,30,154,57,3,110,183,59,170,27,61,36,0,98,72,84,208,26,57,98,36,86,174,40,18,166,255,188,136,129,31,9,148,142,125,69,0,192,160,55,224,150,155, +111,129,199,237,133,211,233,68,117,85,13,134,14,25,138,130,130,2,97,17,54,98,203,150,45,28,39,72,0,156,42,105,154,186,221,45,24,136,188,73,131,162,253,61,123,246,96,219,182,109,232,212,185,51,186,118,237,202,154,174,164,194,1,17,71,88,113,209,69,191, +227,231,155,55,111,226,227,37,0,78,33,16,252,86,101,206,96,48,226,192,129,3,108,33,186,116,233,204,238,160,46,88,232,97,126,126,62,63,222,47,142,147,49,64,43,140,21,104,35,39,81,74,74,74,216,61,146,73,118,37,248,59,116,232,160,4,64,107,35,138,9,41,3, +208,192,16,41,78,32,138,245,106,159,4,64,11,16,185,8,90,253,36,242,184,61,97,99,5,183,91,1,72,110,219,92,9,128,88,250,235,150,32,210,106,170,14,18,149,30,43,229,178,111,221,84,145,30,150,148,150,242,227,182,18,0,49,250,98,122,157,136,216,91,102,86,17, +9,188,67,135,179,185,60,252,253,119,223,243,100,143,186,174,128,22,196,190,221,188,153,31,247,236,217,179,69,221,128,190,53,106,189,142,132,111,50,50,155,45,70,232,13,122,69,3,131,241,177,10,36,208,118,237,206,192,224,75,7,115,225,232,139,181,95,32,41, +89,25,236,64,165,228,125,251,246,97,237,186,181,200,205,205,69,191,126,253,66,41,162,4,64,20,132,111,16,194,54,153,141,33,129,235,116,122,1,4,3,191,102,16,63,9,12,177,118,15,92,39,16,124,235,109,183,241,243,25,51,102,224,231,61,123,145,150,158,202,175, +207,250,235,76,110,146,153,118,219,52,118,21,180,60,46,1,112,242,151,157,133,111,36,225,139,127,44,4,40,130,80,128,160,184,4,179,217,196,199,24,140,122,237,109,205,154,118,76,248,210,52,87,241,241,245,127,79,93,61,67,6,15,193,67,51,102,98,231,206,29, +232,223,191,31,70,143,30,131,130,190,5,88,176,96,1,174,25,126,13,238,188,115,58,87,12,101,12,112,210,26,167,164,85,38,33,92,77,248,145,180,146,173,132,94,207,238,193,164,1,65,127,226,65,163,199,227,197,192,129,3,81,88,88,136,110,221,186,241,243,134,68, +32,248,159,7,30,192,235,11,223,64,95,97,234,55,109,218,136,236,236,44,60,53,251,41,1,130,133,92,85,108,233,52,208,120,234,11,63,200,102,157,132,127,188,66,212,142,33,208,16,27,196,115,10,204,40,125,11,6,130,161,206,220,166,136,132,123,237,152,107,113, +253,248,235,185,198,79,207,27,190,135,206,231,18,191,27,59,118,44,198,140,25,195,181,1,173,49,132,52,63,17,154,66,226,2,128,88,181,127,53,37,124,122,108,182,154,97,212,11,45,11,250,225,117,121,17,8,214,111,73,215,142,215,220,131,176,13,220,179,24,240, +43,229,94,6,2,181,179,233,194,127,39,114,1,154,27,136,244,29,233,28,36,108,109,140,30,29,175,21,137,18,34,91,138,181,224,233,66,254,154,7,235,162,42,252,80,192,23,70,248,86,155,21,222,90,47,118,109,248,9,142,114,39,63,183,218,173,12,152,134,86,66,115, +13,8,1,74,115,15,6,154,196,207,177,68,52,62,175,6,170,68,34,99,172,4,175,181,55,19,226,73,3,106,106,106,163,46,124,242,227,13,125,62,119,237,8,65,251,92,126,44,126,232,125,172,158,191,14,231,92,210,21,131,198,13,192,127,92,220,21,153,103,164,243,144, +123,175,207,3,159,215,31,46,150,100,129,107,238,129,206,231,243,145,85,104,157,123,25,162,14,0,101,99,131,159,55,53,80,75,212,248,241,227,217,231,109,223,190,67,248,74,71,104,17,228,164,132,47,2,55,10,160,8,104,145,132,255,250,140,165,88,57,247,83,225, +6,76,216,250,225,78,108,251,116,55,242,123,229,97,192,176,115,49,96,120,111,228,117,207,133,201,104,134,47,224,131,87,4,112,33,115,223,208,61,232,117,92,84,106,173,91,25,162,14,0,210,118,26,23,123,241,197,23,227,214,91,111,229,221,64,4,10,90,31,55,155, +44,108,17,154,27,19,144,76,72,248,218,250,121,35,179,31,18,254,18,124,48,103,13,210,50,83,96,79,181,114,128,231,113,122,177,119,203,65,252,244,205,47,248,88,88,133,130,43,123,226,252,209,5,232,84,112,22,108,201,54,136,16,16,30,151,167,209,214,53,197, +61,160,213,82,84,1,64,23,143,162,220,73,147,38,225,238,187,239,70,94,94,94,168,101,186,99,199,142,112,138,224,71,91,28,57,81,16,132,124,190,201,24,81,248,126,167,31,111,60,180,20,203,85,225,91,147,45,33,51,111,182,153,152,253,226,121,245,209,26,172,154, +251,25,190,124,107,35,186,95,212,17,231,143,236,139,94,151,118,67,114,27,59,224,107,221,2,143,25,0,72,8,212,239,62,124,248,112,92,127,253,245,48,155,205,28,237,106,26,165,109,6,177,136,215,233,177,223,23,56,238,152,176,190,240,117,225,133,79,154,255, +208,175,154,79,194,175,235,183,41,189,35,162,192,46,41,211,14,123,186,13,238,90,55,54,126,240,61,54,174,220,134,78,3,243,49,117,246,56,156,125,110,123,145,186,185,78,27,0,232,163,9,0,226,140,140,12,94,248,160,0,176,161,166,179,224,116,116,135,35,3,243, +241,228,237,117,3,62,68,240,249,126,213,231,47,143,32,252,70,159,83,5,131,53,197,138,236,246,25,188,94,176,107,221,79,56,186,183,52,98,218,39,45,192,113,146,230,227,155,202,139,233,55,4,18,182,12,94,159,176,18,225,93,194,111,5,124,214,58,1,223,7,115, +62,254,77,225,55,58,191,248,187,1,241,103,205,22,51,215,18,76,214,211,111,159,76,212,235,0,154,32,149,34,141,142,87,191,44,54,115,189,92,58,168,174,202,105,229,91,131,65,31,65,248,6,37,213,11,171,249,54,85,243,151,52,75,248,97,235,0,167,33,197,172,16, +100,177,89,132,191,183,96,223,119,7,80,126,176,18,118,155,157,83,170,186,215,89,115,17,12,2,163,161,78,189,94,241,213,166,136,121,62,249,111,15,94,187,255,93,44,127,250,19,164,159,132,240,79,119,138,42,0,180,210,44,105,189,183,214,135,149,207,126,134, +191,143,248,95,60,51,101,1,14,238,60,12,171,197,202,38,189,161,64,217,23,25,149,37,91,114,192,77,69,251,36,124,87,181,7,47,223,179,24,31,60,179,230,164,52,95,82,148,1,192,193,154,193,132,31,190,250,25,79,223,240,50,94,189,247,29,56,74,93,248,126,205, +110,60,81,248,34,182,174,217,193,86,129,124,110,67,193,106,55,68,178,88,133,47,54,25,184,36,23,94,248,110,33,252,55,241,209,188,47,145,213,54,29,150,36,51,231,249,146,90,24,0,218,22,232,141,69,91,241,72,225,92,252,123,233,22,164,100,36,33,163,109,42, +114,206,204,196,161,157,71,48,123,252,75,40,122,238,51,232,130,122,22,166,34,217,198,46,33,8,93,163,92,220,78,194,175,34,225,191,133,53,47,11,225,231,102,112,108,17,73,243,117,92,189,11,32,112,2,233,166,4,192,73,33,64,249,111,223,214,3,34,157,58,38,210, +171,76,165,240,226,83,4,148,149,151,1,159,211,135,87,238,121,91,240,91,168,46,169,101,87,65,130,106,8,2,160,241,194,142,147,52,255,47,111,10,225,175,19,194,79,87,206,29,65,248,228,134,60,34,70,168,173,112,242,98,142,28,70,17,199,32,144,82,179,20,171, +93,93,253,10,134,132,72,218,152,150,147,138,164,84,59,86,60,251,41,230,76,122,25,7,118,20,243,122,1,181,106,69,106,226,248,213,236,107,154,159,14,147,16,126,56,205,231,69,40,33,252,202,146,26,184,157,30,92,121,251,37,232,254,187,78,112,86,57,229,189, +140,226,153,5,4,235,88,133,186,13,22,84,18,182,166,88,144,45,172,193,150,15,119,224,241,177,47,96,211,138,239,96,54,153,133,239,55,55,225,243,223,82,53,63,35,162,240,245,122,37,91,40,61,80,14,115,146,17,19,255,57,26,133,127,187,70,0,206,10,87,141,71, +90,129,120,167,129,154,70,6,168,33,162,194,33,92,129,159,181,147,132,71,26,223,230,204,44,28,249,169,20,115,38,206,199,210,39,62,68,208,171,248,121,168,1,161,38,252,249,245,132,111,228,102,141,176,38,223,229,67,201,190,50,228,247,108,135,233,11,38,227, +242,169,131,120,165,207,81,237,226,122,132,164,22,0,0,229,234,237,123,180,69,255,97,189,81,125,172,150,159,115,67,134,234,26,178,242,210,121,151,237,194,7,150,96,222,159,223,68,229,209,106,33,120,59,3,193,89,229,98,205,255,88,8,63,51,164,249,193,176, +38,191,182,210,129,242,163,149,184,112,92,63,220,243,230,77,56,119,104,15,184,189,110,182,56,82,243,155,166,152,214,62,93,53,110,216,82,172,152,52,251,90,36,103,38,97,5,21,109,68,86,96,19,121,59,5,112,65,33,208,148,172,36,214,236,213,47,126,129,35,63, +150,96,210,147,99,145,113,70,26,22,220,247,14,214,188,178,158,133,111,14,99,246,57,120,20,84,94,92,9,189,73,143,177,15,94,133,225,119,95,46,204,191,9,21,229,149,48,89,181,10,163,244,253,45,2,0,157,234,151,29,149,46,24,173,70,76,120,100,20,244,70,61,131, +128,132,153,148,102,83,26,49,5,91,237,102,228,228,101,98,199,231,63,98,238,212,5,2,0,233,248,110,205,78,100,182,77,11,43,124,210,122,191,199,143,178,131,229,200,233,152,141,194,191,95,131,139,198,246,135,219,227,65,85,89,53,255,113,169,249,9,96,1,66, +174,192,233,134,61,219,38,64,48,146,27,52,222,123,100,21,47,19,83,157,64,1,65,144,193,145,217,62,29,135,118,31,197,254,109,197,108,25,168,106,88,79,248,58,165,227,136,44,75,69,73,21,122,15,237,142,9,143,142,66,199,130,124,212,58,28,34,14,240,134,130, +65,73,9,4,0,50,215,46,143,139,253,253,216,7,175,134,93,104,255,226,7,151,161,242,88,13,82,133,160,9,0,90,92,144,156,97,83,140,54,77,21,13,4,235,249,123,90,14,174,22,41,30,53,149,92,121,219,37,124,174,212,156,100,84,85,86,241,177,122,189,212,250,132,4, +128,6,2,103,181,147,43,124,195,166,95,198,177,193,130,255,254,23,106,202,28,66,232,73,161,169,27,97,149,87,167,172,209,87,30,169,18,105,164,25,215,61,60,28,151,223,52,8,48,136,215,202,171,120,193,72,154,252,68,6,64,80,203,213,245,194,29,144,37,8,224, +178,201,191,19,218,159,140,215,69,6,80,117,180,134,235,3,17,227,53,161,221,148,206,117,189,160,35,198,206,188,10,61,46,236,4,135,56,143,167,218,19,10,6,37,37,96,26,24,14,7,164,169,218,142,152,179,122,231,33,41,195,206,125,123,186,72,5,123,157,82,20,242, +121,124,104,219,41,27,29,206,61,147,95,244,10,55,32,233,20,114,1,12,0,161,249,180,49,51,37,37,25,187,55,236,193,75,211,223,68,241,174,163,72,201,180,71,14,220,130,74,212,159,44,98,133,47,23,127,131,163,123,74,48,225,177,81,232,208,71,4,126,181,14,1,4, +111,28,172,64,124,26,70,180,13,173,173,15,0,106,73,152,214,251,147,133,240,183,126,188,3,47,220,190,8,71,127,42,229,69,34,246,241,218,5,102,119,223,184,9,132,251,12,146,173,248,238,147,221,120,252,79,47,96,252,223,70,224,194,177,253,224,21,231,116,212, +56,249,141,177,8,3,180,209,112,180,135,32,30,32,160,165,114,154,170,174,204,16,138,253,223,211,199,71,243,131,220,203,79,194,223,176,100,51,158,153,244,42,74,246,150,33,39,63,19,58,131,78,201,0,116,138,166,83,181,176,186,172,182,94,177,71,59,135,193, +98,224,247,84,28,170,194,115,55,191,198,153,132,207,225,71,90,70,170,138,161,96,12,176,171,171,31,200,196,216,210,80,245,178,97,64,28,75,224,25,227,33,124,210,32,131,206,128,79,95,91,207,77,34,238,106,47,119,227,214,219,137,43,184,170,180,70,100,4,118, +228,156,149,137,226,31,74,96,79,181,193,96,212,253,186,170,168,2,37,51,55,141,215,23,222,125,180,8,251,119,22,227,250,135,71,226,140,46,109,81,93,83,195,125,255,209,40,98,5,212,158,69,234,113,88,189,122,53,222,121,231,29,110,107,83,90,215,98,119,189, +104,235,58,109,98,221,191,127,63,119,88,55,103,15,69,194,0,128,74,189,214,84,11,172,73,226,34,206,251,130,133,79,109,184,25,237,210,66,194,167,139,76,2,62,118,160,12,233,185,41,152,244,228,181,200,63,39,15,207,78,125,21,219,63,251,17,109,206,202,226, +197,156,80,77,32,168,204,216,177,167,219,121,125,224,223,75,190,197,225,31,69,92,240,232,72,20,92,209,11,46,143,155,211,205,168,104,191,218,221,252,203,47,191,160,104,85,17,210,82,211,120,192,68,108,167,139,40,63,83,83,83,121,169,60,214,55,217,50,198, +206,152,129,75,192,100,198,223,127,234,35,188,255,207,143,161,15,234,145,146,147,28,170,238,145,96,41,186,167,37,92,218,144,49,233,137,107,209,107,112,55,254,221,45,115,199,11,16,44,192,174,245,63,51,8,168,174,95,119,66,39,157,131,2,202,156,51,179,56, +144,156,51,97,62,70,221,119,5,254,112,251,96,164,100,36,43,3,27,130,154,62,159,28,145,32,178,179,178,121,232,35,185,178,120,85,26,227,113,115,173,152,198,0,84,241,219,247,237,33,44,125,236,35,232,5,138,83,178,127,21,62,9,212,229,112,163,244,96,57,175, +22,222,179,104,42,11,223,237,113,241,192,133,246,61,218,225,246,151,111,64,175,33,93,81,250,75,25,47,39,55,140,246,131,234,126,130,204,188,116,110,253,90,248,192,82,17,92,190,129,202,67,213,176,91,109,60,31,40,24,8,70,205,18,36,2,159,114,49,128,207,237, +227,29,186,180,233,130,132,175,108,29,215,113,160,231,116,184,240,135,105,151,96,220,67,215,32,89,164,130,78,151,51,36,48,122,156,215,45,23,119,8,16,252,223,127,190,142,77,43,183,115,0,104,52,233,235,149,136,57,117,18,174,134,138,74,102,155,7,159,188, +188,30,7,183,31,198,196,127,140,70,247,139,58,115,211,104,184,30,130,19,213,68,218,206,166,109,111,139,247,90,131,214,76,163,220,120,43,120,234,0,128,59,125,205,122,101,128,131,170,173,196,101,197,149,226,117,3,10,69,42,119,245,244,161,48,152,116,112, +56,29,245,74,186,116,60,109,39,207,201,207,194,173,47,76,192,92,17,245,111,94,249,61,63,39,211,223,112,133,144,226,2,139,136,9,178,207,204,196,143,95,239,195,211,19,231,163,240,209,17,161,129,15,188,43,173,153,10,68,187,157,42,42,42,24,8,241,116,1,13, +1,64,55,222,36,235,152,208,0,32,193,212,139,92,149,33,93,202,30,123,33,212,146,253,101,200,106,159,142,137,143,141,198,133,215,246,131,63,224,19,150,160,241,150,113,109,204,27,125,225,44,145,49,220,246,226,4,188,48,109,17,190,89,182,149,223,111,178,52, +238,14,226,5,33,33,240,108,97,41,106,203,28,152,127,231,91,220,135,64,155,65,155,11,96,186,240,125,250,244,193,93,119,221,197,25,65,75,221,220,65,27,53,67,131,169,162,105,9,162,14,0,159,184,96,85,46,145,206,185,147,120,195,6,107,190,158,74,183,62,148, +29,42,71,151,243,58,112,211,71,87,241,211,235,243,242,112,134,136,190,77,7,21,4,14,46,24,77,155,55,17,47,221,185,24,107,23,125,205,160,48,89,76,97,111,212,68,68,66,247,56,60,168,45,119,8,215,112,98,69,28,173,100,77,239,33,237,239,219,183,47,250,247,239, +159,16,165,91,250,76,209,156,49,20,189,237,225,180,209,50,232,71,255,63,246,198,238,245,123,176,121,197,118,238,204,77,203,78,225,222,190,138,99,85,60,144,225,198,127,140,17,121,126,22,92,110,87,40,38,248,205,164,28,138,139,72,21,65,228,77,207,92,199, +47,125,78,32,200,11,223,45,164,77,4,53,171,123,18,79,70,91,180,181,139,68,89,109,76,232,24,192,237,242,224,172,158,103,224,174,87,166,224,147,87,191,196,138,185,159,226,192,238,98,158,9,48,236,206,161,24,59,67,233,5,208,252,216,137,92,84,157,10,2,10, +22,167,62,91,8,157,81,143,207,95,223,128,140,118,233,17,55,136,68,235,98,181,230,123,29,55,23,0,17,175,172,211,233,130,37,197,140,63,222,49,4,221,46,236,132,247,102,23,161,195,57,249,24,113,247,239,185,119,207,233,112,54,59,53,39,16,208,249,147,50,108, +184,249,153,66,238,41,88,245,252,231,200,200,77,227,182,50,185,69,44,126,0,160,247,37,71,250,165,203,233,230,60,191,83,191,124,220,57,111,178,136,242,245,60,131,199,237,136,206,61,131,9,68,182,84,43,110,120,124,12,159,111,229,115,159,241,22,52,170,56, +158,198,155,68,45,241,4,0,69,33,235,41,214,18,220,177,33,24,148,180,37,192,51,129,104,151,175,63,224,231,65,16,97,132,95,41,120,79,93,111,223,192,202,208,20,229,51,4,231,53,60,63,213,16,104,23,210,13,34,223,167,119,22,61,255,25,210,145,10,91,146,37,218, +150,128,62,195,79,234,103,181,32,241,218,140,117,170,28,75,227,9,128,67,130,135,9,166,113,93,67,5,79,23,60,32,92,26,71,183,75,139,80,197,218,43,248,65,193,69,234,151,8,151,95,209,24,206,94,130,159,12,119,126,151,10,2,10,44,41,227,88,54,123,53,7,163,246, +20,235,113,131,64,251,108,60,33,52,124,213,144,46,236,61,130,215,10,182,37,40,0,232,218,149,197,19,0,180,228,118,76,125,252,186,224,47,5,223,46,152,238,164,152,214,8,8,141,233,107,193,127,161,96,254,56,254,22,93,248,169,130,95,18,220,63,44,8,108,86,222, +6,70,157,197,239,61,190,138,69,68,46,34,226,206,97,157,50,70,158,86,221,168,161,132,90,201,105,156,108,48,124,197,144,44,64,133,106,1,42,91,155,223,136,86,85,227,103,193,247,10,46,20,252,201,111,104,201,187,234,113,159,159,192,249,183,10,158,44,120,67, +56,13,230,169,94,6,96,220,140,97,24,117,239,21,168,170,170,129,163,210,25,186,55,64,221,99,121,101,81,8,218,81,229,68,69,113,37,106,42,28,200,239,221,30,99,238,191,10,29,251,230,115,97,170,193,167,167,97,5,214,214,26,56,232,154,147,42,253,70,49,34,75, +181,6,55,53,240,221,212,196,55,87,240,44,85,163,154,67,180,84,248,156,224,193,225,62,147,197,106,225,229,230,37,143,23,225,237,135,87,194,106,53,35,57,221,174,14,161,2,23,163,106,133,224,125,110,63,247,34,246,24,212,9,253,175,62,7,189,135,244,224,154, +130,215,239,85,114,254,250,225,72,177,224,9,130,63,78,100,65,210,88,190,72,119,40,139,55,0,52,162,91,99,254,89,240,40,213,116,146,224,159,85,129,112,50,212,89,240,243,106,236,17,22,4,212,124,178,228,201,15,177,120,230,50,30,75,67,35,233,170,203,107,184, +153,163,93,151,54,188,119,176,223,85,231,160,203,249,29,120,161,42,72,83,66,133,224,3,190,176,46,227,176,10,128,143,36,0,78,188,28,73,214,96,162,224,35,130,223,136,226,247,237,172,90,130,203,194,125,54,30,19,207,32,88,141,133,179,222,131,213,104,65,143, +11,58,227,188,81,231,162,215,165,221,145,219,73,185,165,27,237,30,246,121,188,17,199,212,169,84,35,248,58,193,31,72,0,156,56,0,98,73,103,11,158,35,120,120,100,119,32,2,141,183,54,112,144,216,123,112,119,36,165,219,57,60,241,120,61,60,185,228,56,218,173, +72,251,63,20,60,83,141,115,36,0,18,8,0,68,237,5,63,45,120,100,184,207,200,115,255,141,102,37,109,9,210,84,112,159,210,111,16,68,83,213,72,242,3,91,212,96,246,95,130,55,170,233,40,90,35,0,78,245,209,152,116,231,229,59,212,199,35,27,70,252,180,225,196, +239,115,133,0,81,47,115,110,76,20,167,172,81,77,253,39,137,174,241,209,162,214,48,27,149,238,190,60,77,176,67,240,248,112,150,160,9,242,170,5,41,18,250,50,193,155,91,99,174,223,218,1,160,165,106,119,169,2,189,241,56,142,167,170,217,38,181,38,177,82,240, +126,181,184,117,218,81,107,154,142,76,37,219,255,82,11,55,19,34,28,67,235,14,171,5,191,175,22,162,170,113,154,147,174,185,107,230,45,125,191,187,38,136,238,198,124,1,148,133,27,127,29,175,239,83,1,176,77,181,20,173,138,168,85,173,57,43,173,58,57,77,67, +90,0,121,21,36,0,36,73,0,72,146,0,144,36,1,32,73,2,64,146,4,128,36,9,0,73,18,0,146,36,0,36,181,118,250,127,1,6,0,62,63,16,222,252,173,80,185,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* projectIconVisualStudio10_png = (const char*) temp_binary_data_31; + +//================== projectIconVisualStudio12.png ================== +static const unsigned char temp_binary_data_32[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,148,105,84,88,116,88,77,76, +58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60, +120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53, +54,55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58,48,50,32,32,32,32,32,32,32,32,34,62,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57, +57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116, +116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,32,120,109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47, +115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,32,120,109,112,77,77,58,79,114,105,103, +105,110,97,108,68,111,99,117,109,101,110,116,73,68,61,34,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115,104,111,112,58,51,97,99,50,101,99,98,55,45,57,52,100,102,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50, +34,32,120,109,112,77,77,58,68,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,49,51,49,68,69,70,50,55,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,77,77,58,73,110,115,116,97,110,99,101, +73,68,61,34,120,109,112,46,105,105,100,58,49,51,49,68,69,70,50,54,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,61,34,65,100,111,98,101,32,80,104,111,116,111,115, +104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105,110,116,111,115,104,41,34,62,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58, +48,55,55,102,54,101,56,50,45,52,51,99,99,45,52,99,101,56,45,97,52,56,57,45,101,102,50,98,50,99,98,101,100,50,50,52,34,32,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,61,34,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115, +104,111,112,58,55,97,52,53,53,51,100,99,45,57,52,100,102,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50,34,47,62,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,32,60,47,114,100,102,58,82,68,70,62,32,60,47, +120,58,120,109,112,109,101,116,97,62,32,60,63,120,112,97,99,107,101,116,32,101,110,100,61,34,114,34,63,62,160,231,12,154,0,0,21,239,73,68,65,84,120,218,236,93,7,120,148,101,182,126,167,151,244,70,208,64,16,178,180,149,34,8,232,162,232,34,114,173,32,4, +8,24,138,139,162,187,138,10,139,123,217,235,227,117,213,221,125,44,107,65,188,18,59,32,162,2,162,20,129,4,16,20,87,5,86,69,64,4,65,64,148,18,106,122,166,151,251,157,51,255,132,148,25,74,152,153,76,38,223,241,57,102,38,204,252,153,249,206,123,234,119, +190,243,171,188,94,47,36,181,92,82,203,37,144,0,144,36,1,32,73,2,64,146,4,128,36,9,0,73,18,0,146,36,0,36,73,0,72,146,0,144,36,1,32,73,2,64,146,4,128,36,9,0,73,49,74,218,198,190,207,235,245,182,85,0,36,247,147,163,64,145,85,42,85,177,248,89,29,17,0,8, +225,103,219,108,182,175,197,67,163,96,143,92,255,38,37,21,201,81,175,215,143,215,104,52,31,68,202,2,144,230,199,11,214,203,245,111,222,214,188,177,49,128,91,176,67,174,121,84,145,43,146,0,80,201,245,110,217,65,96,80,210,233,116,16,190,72,174,108,152, +200,237,118,195,233,116,70,47,0,232,195,137,0,17,34,42,149,210,10,49,81,3,111,168,149,43,100,0,32,129,27,12,6,44,95,190,28,243,231,207,71,82,82,18,127,88,217,117,28,154,181,245,120,60,40,45,45,197,152,49,99,144,155,155,203,138,70,191,139,42,0,16,23,23, +23,227,139,47,190,64,171,86,173,160,213,106,37,0,66,180,182,100,250,143,30,61,138,1,3,6,64,173,86,71,159,5,240,147,201,100,66,122,122,58,82,83,83,165,5,8,49,0,92,46,23,204,102,115,72,175,29,242,82,176,20,120,248,227,128,168,6,128,164,230,69,18,0,18,0, +146,36,0,36,73,0,72,146,0,144,36,1,32,73,2,64,146,4,128,36,9,0,73,18,0,146,36,0,36,73,0,72,138,109,210,70,226,143,208,182,48,117,9,149,148,148,112,19,131,236,22,10,78,180,219,71,235,147,150,150,6,163,209,200,219,192,205,26,0,244,101,170,171,171,145,145, +145,129,193,131,7,67,171,213,133,164,147,37,102,77,178,90,45,132,238,194,150,45,91,112,236,216,49,238,175,104,246,0,40,47,47,71,183,110,221,48,101,202,20,196,199,39,8,0,184,165,164,207,0,0,139,197,130,135,31,126,24,187,119,239,230,6,144,112,42,140,54, +50,95,74,197,221,44,212,203,224,17,38,205,102,179,75,55,16,196,252,27,140,6,126,236,20,235,229,111,253,10,231,90,105,35,243,213,124,95,128,52,223,237,246,48,24,36,0,2,3,64,235,210,194,77,26,31,161,206,42,173,92,246,198,147,255,12,4,117,232,6,11,214,8, +232,122,189,158,95,75,26,77,224,119,56,28,252,179,197,100,1,49,151,58,105,181,236,155,15,28,56,128,83,167,78,33,51,51,19,201,201,201,117,124,53,105,51,5,112,4,0,242,229,59,119,254,128,83,34,11,106,127,73,123,92,118,217,101,28,20,83,112,44,235,0,205,204, +68,147,80,43,42,42,240,196,223,159,64,191,43,250,226,138,43,251,97,229,202,149,34,184,141,175,243,90,210,250,173,91,183,98,196,136,92,244,232,217,29,99,110,31,131,201,147,239,195,205,183,220,132,171,7,92,133,37,75,150,32,46,46,94,90,128,230,68,164,245, +69,69,69,184,231,143,119,115,138,150,158,158,193,90,31,40,74,167,28,126,198,140,23,176,102,205,26,76,121,112,10,250,247,191,10,94,241,95,81,97,33,230,190,61,23,227,198,143,197,186,117,235,209,175,111,63,88,173,86,105,1,154,3,145,191,63,113,242,4,58,118, +236,136,77,27,55,225,174,187,238,10,26,165,83,225,107,250,244,233,216,180,105,19,94,156,249,162,176,4,35,144,55,42,15,115,230,206,193,212,41,83,57,14,40,40,40,96,119,34,93,64,51,33,242,217,195,135,13,71,225,170,34,97,250,175,56,99,149,142,4,220,181,235, +111,153,203,203,42,80,85,85,197,174,195,233,112,97,116,222,104,126,205,182,109,91,249,247,161,60,233,35,93,64,184,211,52,229,184,155,215,115,230,67,26,100,21,8,4,245,137,220,133,86,100,4,126,139,210,212,233,176,180,0,141,0,193,133,84,230,12,6,61,118, +238,218,201,143,123,245,234,205,129,96,83,150,198,37,0,34,28,67,88,173,54,225,251,103,241,243,252,252,124,174,251,75,11,208,66,40,62,33,142,51,131,205,155,55,243,49,239,65,215,13,106,210,12,64,2,32,130,148,148,156,136,197,31,124,136,71,254,247,17,116, +234,212,9,207,61,247,60,87,16,155,250,48,109,76,3,32,90,78,42,147,240,87,124,188,146,115,127,170,26,46,92,176,8,153,173,50,3,6,137,18,0,161,250,98,106,149,136,216,53,81,35,252,17,35,115,185,56,244,193,162,197,232,217,179,167,72,41,171,162,99,157,98,81, +235,85,36,124,157,150,89,111,208,66,173,81,251,210,45,111,100,173,2,9,127,217,178,229,200,27,61,138,53,127,117,209,26,12,184,230,106,246,251,58,157,30,122,193,77,157,6,106,99,77,248,26,33,108,173,94,11,21,124,2,87,169,196,115,157,239,49,109,69,83,202, +229,245,120,107,90,175,194,69,84,54,38,159,63,225,142,241,72,72,72,192,107,175,190,134,118,151,92,130,61,187,127,226,191,235,101,52,2,41,41,41,60,91,169,169,220,85,12,1,160,174,240,107,22,212,123,186,48,227,115,9,26,222,111,167,198,20,143,219,123,122, +210,241,121,98,129,176,99,183,219,249,49,5,115,181,177,68,2,221,177,99,7,70,229,141,228,231,164,241,163,242,70,249,34,126,21,67,179,230,243,81,85,113,224,192,129,220,5,36,1,208,104,205,7,11,95,167,215,5,13,254,106,255,78,163,86,115,140,224,213,120,5, +8,60,74,3,6,206,203,42,56,28,78,244,235,215,143,115,249,206,157,59,243,243,218,127,139,202,187,163,71,143,246,205,73,18,22,199,37,0,23,232,202,52,79,41,220,141,159,49,13,0,94,236,179,8,63,24,24,212,12,4,53,52,226,249,249,186,7,210,216,81,35,71,97,220, +216,113,172,217,244,220,255,30,138,238,115,114,114,240,254,123,11,206,250,89,104,127,193,111,73,98,22,0,225,242,181,103,18,62,61,214,27,245,208,170,181,112,123,221,112,218,156,240,120,235,182,164,251,95,239,119,15,194,137,212,184,6,6,3,1,129,244,86,21, +248,59,145,224,252,194,171,255,29,73,171,105,243,39,234,179,165,112,11,158,22,210,231,35,85,8,229,136,97,127,192,167,99,159,223,80,248,70,147,17,206,106,39,118,111,222,7,75,169,149,159,27,205,70,6,76,125,43,193,155,59,94,246,1,10,160,180,204,26,138,25, +212,74,192,22,163,164,13,151,224,253,237,205,164,33,100,230,170,170,170,67,46,124,74,243,234,4,124,202,191,153,132,160,93,54,55,22,60,246,49,214,206,249,18,221,175,237,132,1,99,250,226,183,215,116,66,234,197,201,60,228,222,233,114,192,229,116,7,138,37, +89,224,126,247,64,215,115,185,220,28,43,72,0,156,83,1,70,205,230,143,58,102,168,240,49,118,236,88,110,136,220,185,115,151,240,149,22,196,153,227,46,92,248,90,53,111,203,114,58,21,68,248,239,254,109,25,10,11,62,19,110,64,135,237,107,126,196,15,159,237, +65,118,183,44,244,29,210,19,125,135,246,64,86,151,214,208,105,245,112,121,92,112,58,156,167,205,125,125,247,160,86,113,192,24,171,71,25,66,14,0,210,118,26,23,123,205,53,215,224,222,123,239,229,211,64,4,138,253,251,247,67,175,51,176,69,104,108,76,192, +209,190,16,190,78,23,216,231,27,107,132,191,20,43,102,174,71,82,106,2,204,137,70,14,240,28,86,39,14,108,59,140,125,223,252,138,117,194,42,244,186,241,82,92,57,162,23,114,122,181,131,41,222,4,17,2,194,97,115,52,56,186,230,115,15,49,235,1,66,11,0,90,60, +202,129,39,78,156,136,105,211,166,33,43,43,171,166,101,186,67,135,14,176,218,108,112,216,29,141,42,194,212,248,124,157,54,168,240,221,86,55,222,123,108,25,86,42,194,55,198,27,106,204,188,222,164,99,118,139,231,149,199,171,176,186,96,3,190,90,244,45,186, +92,213,1,87,14,239,141,110,191,239,140,248,86,102,192,21,219,2,15,27,0,72,8,148,254,12,29,58,20,227,198,141,227,174,88,234,139,243,107,148,255,48,136,65,252,158,30,187,93,158,115,142,9,235,10,95,21,88,248,164,249,143,157,214,124,18,126,109,191,77,233, +29,215,0,68,96,23,151,106,134,57,217,4,123,181,29,223,174,216,129,111,11,127,64,78,191,108,76,154,49,6,151,244,108,3,155,213,214,98,0,160,14,37,0,136,169,180,73,197,15,10,0,235,107,58,11,78,69,119,56,210,48,159,75,222,94,59,224,67,16,159,239,86,124,254, +202,32,194,111,240,57,21,48,24,19,140,72,111,147,194,251,5,187,191,220,135,227,7,78,6,77,251,164,5,56,71,242,251,248,96,38,222,23,108,157,238,135,115,57,93,194,74,4,118,9,103,11,248,140,181,2,190,21,51,215,157,85,248,13,174,47,254,174,71,252,89,189,65, +207,181,4,157,177,229,181,72,134,188,14,224,23,164,175,72,163,226,131,20,6,147,190,78,46,237,245,158,46,151,210,194,147,134,7,22,190,198,151,234,5,212,124,147,162,249,75,27,37,252,128,117,128,22,72,97,43,4,25,76,6,225,239,13,248,229,251,67,40,61,92,14, +179,201,204,41,85,237,117,246,187,8,6,129,86,83,35,8,95,180,175,97,159,31,56,207,39,255,237,192,59,15,127,132,149,47,125,138,228,11,16,126,75,167,144,2,192,95,154,37,173,119,86,187,80,56,107,3,254,57,236,255,240,242,93,243,112,248,199,163,48,26,140,108, +210,235,11,148,125,17,9,92,239,11,242,206,20,237,147,240,109,149,14,204,126,104,1,86,188,188,254,130,52,95,82,136,1,192,193,154,70,135,159,54,253,140,151,238,152,141,183,167,47,134,229,164,13,59,214,239,193,243,249,111,96,251,250,93,108,21,200,231,214, +23,172,255,134,72,6,163,240,197,58,13,151,228,2,11,223,46,132,191,16,159,188,249,21,210,50,147,97,136,211,115,158,47,169,137,1,224,191,105,212,183,69,219,241,84,126,1,254,179,108,27,18,82,226,144,146,153,136,140,182,169,56,242,227,49,204,24,251,22,138, +94,217,0,149,87,205,194,244,73,182,161,75,240,66,213,32,23,55,147,240,43,72,248,139,176,126,182,16,126,235,20,142,45,130,105,190,138,171,119,30,120,206,35,221,148,0,184,32,4,248,254,247,203,246,67,34,157,58,37,210,171,84,95,225,197,229,19,80,90,86,10, +92,86,23,230,62,244,129,224,69,168,60,81,237,59,62,173,86,53,0,1,208,112,99,199,74,154,255,151,133,66,248,95,10,225,39,251,174,29,68,248,228,134,28,34,70,168,46,179,242,102,142,28,70,17,193,32,144,82,179,4,163,89,57,65,227,173,17,34,105,99,82,70,34,226, +18,205,88,53,235,51,204,156,56,27,135,118,21,243,126,129,70,167,9,218,196,113,218,236,251,53,63,25,58,33,252,64,154,207,155,80,66,248,229,39,170,96,183,58,112,227,253,215,162,203,213,57,176,86,88,229,189,140,34,153,5,120,107,89,133,218,13,22,84,18,54, +38,24,144,46,172,193,182,53,187,240,108,222,235,216,178,234,123,110,142,52,24,245,103,240,249,139,20,205,79,9,42,124,238,240,17,239,57,121,168,20,250,56,45,38,60,55,2,249,255,184,77,0,206,8,91,149,67,90,129,72,167,129,126,141,244,8,161,84,151,89,132, +43,112,179,118,146,240,72,227,91,181,77,195,177,125,39,49,115,194,28,44,123,126,13,188,78,159,159,135,18,16,250,133,63,167,142,240,181,190,62,190,64,38,223,230,194,137,95,74,144,125,233,69,152,50,239,78,12,158,52,128,119,250,44,149,54,174,71,72,106,2, +0,80,174,222,166,107,38,250,12,233,129,202,83,213,252,156,27,50,20,215,144,150,149,204,167,108,231,63,178,20,111,254,121,33,202,143,87,10,193,155,25,8,214,10,27,107,254,58,33,252,212,26,205,247,6,52,249,213,229,22,148,30,47,71,255,49,151,227,161,133, +119,163,231,160,174,176,59,237,108,113,164,230,159,153,194,90,251,180,85,217,97,74,48,98,226,140,81,136,79,141,195,42,42,218,136,172,192,36,242,118,10,224,188,66,160,9,105,113,172,217,107,223,248,55,142,237,61,129,137,47,228,33,229,226,36,204,251,235, +98,172,159,187,145,133,175,15,96,246,57,120,20,84,90,92,14,181,78,141,188,71,111,193,208,105,131,133,249,215,161,172,180,28,58,163,191,194,40,125,127,147,0,64,165,248,101,75,185,13,90,163,22,227,159,202,133,90,171,102,16,144,48,227,146,76,190,70,76,193, +70,179,30,25,89,169,216,245,249,94,20,76,154,39,0,144,140,239,215,255,136,212,204,164,128,194,39,173,119,59,220,40,57,92,138,140,14,233,200,255,231,109,184,42,175,15,236,14,7,42,74,42,249,143,75,205,143,2,11,80,227,10,172,118,152,211,77,2,4,195,185,65, +99,201,83,171,121,155,152,234,4,62,16,120,25,28,169,109,146,113,100,207,113,28,252,161,152,45,3,85,13,235,8,95,229,235,56,34,203,82,118,162,2,61,6,117,193,248,167,115,209,161,87,54,170,45,22,17,7,56,107,130,65,73,81,4,0,50,215,54,135,141,253,125,222, +163,183,194,44,180,127,193,163,203,81,126,170,10,137,66,208,4,0,127,92,16,159,98,242,25,109,154,42,234,241,214,241,247,180,29,92,41,82,60,106,42,185,241,190,107,249,90,137,25,241,168,40,175,224,215,170,213,82,235,163,18,0,126,16,88,43,173,92,225,27,50, +229,122,142,13,230,253,207,135,168,42,177,8,161,199,213,76,201,8,168,188,42,223,30,125,249,177,10,145,70,234,113,251,147,67,49,248,238,1,116,200,7,229,165,21,188,97,36,77,126,52,3,192,235,207,213,213,194,29,144,37,240,224,250,59,175,22,218,31,143,119, +69,6,80,113,188,138,235,3,65,227,53,161,221,148,206,117,250,93,7,228,61,126,11,186,246,207,129,69,92,199,81,233,168,9,6,37,69,97,26,24,8,7,164,169,212,39,72,212,174,71,22,226,82,204,220,183,167,10,86,176,87,249,138,66,46,135,11,153,57,233,104,223,179, +45,255,210,105,119,72,233,53,39,23,192,0,160,9,89,122,45,18,18,226,177,103,243,126,188,53,101,33,138,119,31,71,66,170,57,120,224,230,245,69,253,241,34,86,248,106,193,55,56,190,255,4,198,63,147,139,246,151,137,192,175,218,34,128,224,140,128,21,136,76, +195,8,239,138,70,56,109,141,12,0,148,146,48,237,247,199,11,225,111,95,183,11,175,223,255,62,142,239,59,201,155,68,236,227,253,11,204,238,190,97,19,8,247,25,196,27,241,253,167,123,240,236,232,215,49,246,31,195,208,63,239,114,56,197,53,45,85,86,126,99, +56,194,0,255,104,56,58,67,16,9,16,208,86,57,77,85,247,205,14,12,255,223,83,71,70,243,189,220,203,79,194,223,188,244,59,188,60,241,109,156,56,80,130,140,236,84,168,52,42,95,6,160,242,105,58,85,11,43,75,170,235,20,123,252,215,208,24,52,252,158,178,35,21, +120,229,158,119,56,147,112,89,220,72,74,73,84,48,228,13,3,118,85,117,3,153,48,91,26,170,94,214,15,136,195,9,60,109,36,132,79,26,164,81,105,240,217,59,27,185,73,196,94,233,228,110,220,58,39,113,5,87,156,172,18,25,129,25,25,237,82,81,252,211,9,152,19,77, +208,104,85,167,119,21,21,160,164,182,78,226,253,133,143,158,46,194,193,31,139,49,238,201,225,184,184,99,38,42,171,170,184,239,63,20,69,44,143,210,179,72,61,14,107,215,174,197,226,197,139,185,173,205,215,186,22,190,245,162,163,235,116,136,245,224,193, +131,220,97,29,238,65,22,97,5,0,149,122,141,137,6,24,227,196,34,190,249,111,22,62,181,225,166,92,148,84,35,124,90,100,18,240,169,67,37,72,110,157,128,137,47,140,66,118,247,44,204,154,244,54,118,110,216,139,86,237,210,120,51,167,166,38,160,76,250,48,39, +155,121,127,224,63,75,183,226,232,94,17,23,60,61,28,189,110,232,6,155,195,206,233,102,72,180,95,233,110,254,245,215,95,81,180,186,8,73,137,73,208,235,117,97,213,72,255,165,19,19,19,121,171,60,220,55,217,210,134,207,152,129,75,192,100,198,63,126,241,19, +124,252,220,58,168,189,106,36,100,196,215,84,247,72,176,20,221,211,22,46,29,200,152,248,252,40,116,27,216,153,255,237,143,5,99,5,8,230,97,247,198,159,25,4,84,215,175,61,81,147,174,65,1,101,70,219,52,14,36,103,142,159,131,220,191,222,128,155,238,31,136, +132,148,120,223,192,6,175,95,159,47,140,72,16,233,105,233,60,234,133,92,89,164,42,141,145,152,32,26,214,24,128,42,126,191,108,61,130,101,207,124,2,181,64,113,66,250,105,225,147,64,109,22,59,78,30,46,229,221,194,135,222,159,196,194,183,59,108,60,112,161, +77,215,139,112,255,236,59,208,237,186,78,56,249,107,9,111,39,215,143,246,189,202,121,130,212,172,100,110,253,154,255,200,50,17,92,190,135,242,35,149,48,27,77,60,31,200,235,241,134,204,18,68,3,55,187,24,192,101,119,241,9,93,58,116,65,194,247,29,29,87, +113,160,103,181,216,112,211,228,107,49,230,177,219,16,47,82,65,171,205,90,35,48,122,156,213,185,53,30,16,32,120,237,79,239,98,75,225,78,14,0,181,58,117,157,18,49,167,78,194,213,80,81,73,111,114,224,211,217,27,113,120,231,81,76,248,215,8,116,185,234,55, +220,52,26,168,135,224,124,53,145,142,179,249,143,183,69,122,175,193,223,76,227,187,241,150,183,249,0,128,59,125,245,106,223,0,7,69,91,137,75,138,203,197,239,53,200,23,169,220,173,83,6,65,163,83,193,98,181,212,41,233,210,235,233,56,121,70,118,26,238,125, +125,60,10,68,212,255,93,225,14,126,78,166,191,254,14,33,197,5,6,17,19,164,183,77,197,222,175,127,193,75,19,230,32,255,233,97,53,3,31,248,84,90,35,21,136,78,59,149,149,149,49,16,34,233,2,234,3,128,110,188,25,234,209,178,33,7,0,9,166,78,228,170,12,226, +226,51,246,66,168,39,14,150,32,173,77,50,38,60,51,2,253,71,93,14,183,199,37,44,65,195,35,227,254,185,126,244,133,211,68,198,112,223,27,227,241,250,228,247,241,205,242,237,252,126,157,161,97,119,16,111,8,9,129,167,11,75,81,93,98,193,156,7,23,113,31,2, +29,6,109,44,128,105,225,233,30,63,83,167,78,229,140,160,169,102,251,211,103,161,163,247,52,152,42,148,150,32,228,0,160,105,88,21,54,145,206,217,227,248,192,6,107,190,154,74,183,46,148,28,41,69,199,43,218,115,211,71,39,241,211,233,114,242,112,134,160, +190,77,5,5,4,22,46,24,77,126,115,2,222,122,112,1,190,120,255,107,6,133,206,208,240,46,164,254,133,33,161,59,44,14,84,151,90,132,107,56,191,34,142,191,100,77,239,33,237,239,221,187,55,250,244,233,19,21,165,91,250,76,116,234,58,234,44,0,31,180,244,186, +209,231,230,30,216,179,113,63,190,91,181,147,59,115,147,210,19,184,183,175,236,84,5,15,100,248,195,191,70,138,60,63,13,54,187,173,38,38,56,107,82,14,159,139,72,20,65,228,221,47,223,206,191,250,156,64,144,21,184,91,200,63,242,77,175,156,73,188,16,109, +241,239,93,68,203,110,99,84,199,0,118,155,3,237,46,189,24,83,231,222,133,79,223,254,10,171,10,62,195,161,61,197,60,19,96,200,131,131,144,247,55,95,47,128,223,143,157,207,162,170,20,16,80,176,56,105,86,62,84,90,53,62,127,119,51,82,46,74,14,122,64,36,84, +139,21,203,247,58,110,44,0,130,174,44,221,16,193,144,160,199,205,15,92,135,206,253,115,176,100,70,17,218,119,207,198,176,105,255,197,189,123,86,139,181,209,169,57,129,128,174,31,151,98,194,61,47,231,115,79,193,234,87,63,71,74,235,36,110,43,147,71,196, +34,7,0,122,95,208,155,222,217,172,118,206,243,115,46,207,198,131,111,222,41,162,124,53,207,224,177,91,66,115,207,96,2,145,41,209,136,59,158,29,201,215,43,124,101,3,31,65,163,138,99,11,62,36,106,136,36,0,40,10,217,72,177,150,224,14,245,193,224,75,91,60, +60,19,136,78,249,186,61,110,30,4,17,64,248,229,130,247,215,246,246,245,172,12,221,79,229,98,193,89,245,175,79,53,4,58,133,116,135,200,247,233,157,69,175,110,64,50,18,97,138,51,132,218,18,208,103,216,167,124,86,3,162,175,205,88,165,200,241,100,36,1,112, +68,240,16,193,52,174,107,144,224,41,130,251,6,74,227,28,118,103,176,42,214,1,193,143,10,46,82,190,68,160,252,138,198,112,118,19,252,66,160,235,219,20,16,80,96,73,25,199,242,25,107,57,24,53,39,24,207,25,4,254,207,198,19,66,3,87,13,105,97,31,18,252,133, +96,83,148,2,128,214,174,36,146,0,160,45,183,83,202,227,119,5,127,37,248,126,193,116,39,197,164,6,64,104,72,95,11,254,11,5,243,231,240,183,104,225,39,9,126,75,112,159,128,32,48,25,249,24,24,117,22,47,121,118,53,139,136,92,68,208,147,195,42,223,24,121, +218,117,163,134,18,106,37,167,113,178,222,192,21,67,178,0,101,138,5,40,143,53,191,17,170,170,198,207,130,167,11,206,23,252,233,89,180,228,35,229,117,159,159,199,245,183,11,190,83,240,230,64,26,204,83,189,52,192,152,191,13,65,238,244,27,80,81,81,5,75, +185,149,139,66,245,95,203,59,139,66,208,150,10,43,202,138,203,81,85,102,65,118,143,54,24,249,240,45,232,208,59,155,11,83,245,62,61,13,43,48,198,106,224,160,106,76,170,116,150,98,68,154,98,13,238,174,231,187,169,137,175,64,240,19,138,70,53,134,104,171, +240,21,193,3,3,125,38,131,209,192,219,205,75,159,45,194,7,79,22,194,104,212,35,62,217,172,12,161,2,23,163,170,133,224,93,118,55,247,34,118,29,144,131,62,183,118,71,143,235,186,114,77,193,233,118,250,114,254,186,225,72,177,224,241,130,215,69,179,32,105, +44,31,13,216,136,6,0,248,233,106,193,127,22,156,171,152,78,18,252,44,5,8,23,66,191,17,252,170,18,123,4,4,1,53,159,44,125,97,13,22,60,190,156,199,210,208,72,186,202,210,42,110,230,184,168,99,43,62,59,120,249,45,221,209,241,202,246,188,81,229,165,41,161, +66,240,30,87,64,151,113,84,1,192,39,177,8,128,112,110,6,145,239,222,165,252,60,38,248,189,16,93,119,175,224,63,41,150,224,250,250,38,222,110,179,243,152,248,97,211,6,243,239,230,63,177,4,70,143,129,181,252,138,220,158,232,246,251,46,104,157,147,225,115, +238,194,220,219,108,214,160,99,234,20,138,151,46,160,113,22,32,220,116,137,224,153,130,135,6,119,7,34,208,88,180,153,131,196,30,3,187,32,46,217,204,225,137,195,233,224,201,37,231,208,110,69,218,191,70,240,227,74,156,35,93,64,20,1,128,168,141,224,151, +4,15,15,244,25,121,238,191,86,239,75,91,188,46,190,115,55,247,27,120,113,166,106,36,249,129,109,74,48,251,161,224,111,149,116,20,177,8,128,230,62,26,243,144,224,7,148,199,195,235,187,3,58,112,226,118,217,106,0,81,39,115,110,72,20,167,172,23,188,66,17, +254,207,104,1,20,11,179,81,15,11,158,44,152,110,187,53,54,144,37,56,3,57,149,130,20,9,125,185,224,239,98,49,215,143,117,0,248,83,181,169,138,64,255,112,14,175,167,170,217,22,165,38,81,40,248,160,82,220,106,113,20,75,211,145,169,100,251,223,74,225,102, +124,144,215,208,190,195,90,193,31,43,133,168,74,180,112,82,53,118,207,188,41,239,117,119,22,106,45,248,119,240,109,220,184,107,121,125,151,2,128,31,20,75,17,83,68,173,106,141,217,105,85,201,105,26,45,155,212,114,9,36,0,36,73,0,72,146,0,144,36,1,32,73, +2,64,146,4,128,36,9,0,73,18,0,146,36,0,36,181,0,250,127,1,6,0,186,116,150,177,255,33,3,190,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* projectIconVisualStudio12_png = (const char*) temp_binary_data_32; + +//================== projectIconVisualStudio13.png ================== +static const unsigned char temp_binary_data_33[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,148,105,84,88,116,88,77,76, +58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60, +120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53, +54,55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58,48,50,32,32,32,32,32,32,32,32,34,62,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57, +57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116, +116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,32,120,109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47, +115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,32,120,109,112,77,77,58,79,114,105,103, +105,110,97,108,68,111,99,117,109,101,110,116,73,68,61,34,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115,104,111,112,58,51,97,99,50,101,99,98,55,45,57,52,100,102,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50, +34,32,120,109,112,77,77,58,68,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,49,51,54,56,69,69,54,67,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,77,77,58,73,110,115,116,97,110,99,101, +73,68,61,34,120,109,112,46,105,105,100,58,49,51,49,68,69,70,50,65,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,61,34,65,100,111,98,101,32,80,104,111,116,111,115, +104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105,110,116,111,115,104,41,34,62,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58, +100,98,101,99,56,57,51,56,45,56,49,54,56,45,52,52,102,101,45,97,55,50,102,45,101,51,48,55,48,102,100,99,55,101,51,53,34,32,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,61,34,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111, +115,104,111,112,58,55,100,55,51,53,51,48,56,45,57,52,100,102,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50,34,47,62,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,32,60,47,114,100,102,58,82,68,70,62,32,60, +47,120,58,120,109,112,109,101,116,97,62,32,60,63,120,112,97,99,107,101,116,32,101,110,100,61,34,114,34,63,62,238,253,29,222,0,0,22,65,73,68,65,84,120,218,236,93,7,156,147,85,182,255,167,151,233,13,208,65,80,138,192,138,96,65,154,96,67,86,119,149,42,240, +112,40,10,2,234,170,224,194,62,119,89,127,182,167,207,178,40,44,62,64,159,34,40,162,2,162,210,25,69,80,16,65,150,182,162,210,4,68,41,67,25,102,38,83,210,203,222,115,190,47,97,74,66,25,146,16,134,123,252,29,39,19,146,111,146,123,254,167,222,115,207,167, +9,4,2,144,116,241,146,86,46,129,4,128,36,9,0,73,18,0,146,36,0,36,73,0,72,146,0,144,36,1,32,73,2,64,146,4,128,36,9,0,73,18,0,146,36,0,36,73,0,72,170,163,164,175,237,251,2,129,192,101,42,128,228,126,114,2,40,178,70,163,41,16,63,43,226,2,0,33,252,70,78, +167,115,163,120,104,22,236,151,235,127,94,73,67,114,52,26,141,67,116,58,221,199,241,178,0,164,249,201,130,141,114,253,47,108,107,94,219,24,192,39,216,45,215,60,161,200,27,79,0,104,228,122,95,220,65,96,68,50,24,12,16,190,72,174,108,140,200,231,243,193, +227,241,36,46,0,232,195,137,0,17,34,42,149,210,138,50,81,3,111,180,149,43,106,0,32,129,155,76,38,44,90,180,8,179,103,207,70,90,90,26,127,88,217,117,28,157,181,245,251,253,40,46,46,198,192,129,3,209,183,111,95,86,52,122,46,161,0,64,92,80,80,128,181,107, +215,162,94,189,122,208,235,245,18,0,81,90,91,50,253,71,142,28,65,215,174,93,161,213,106,19,207,2,4,201,98,177,32,59,59,27,153,153,153,210,2,68,25,0,94,175,23,86,171,53,170,215,142,122,41,88,10,60,246,113,64,66,3,64,210,133,69,18,0,18,0,146,36,0,36,73, +0,72,146,0,144,36,1,32,73,2,64,146,4,128,36,9,0,73,18,0,146,36,0,36,73,0,72,170,219,164,143,199,31,161,109,97,234,18,42,42,42,226,38,6,217,45,20,153,104,183,143,214,39,43,43,11,102,179,153,183,129,47,104,0,208,151,169,168,168,64,78,78,14,186,119,239, +14,189,222,16,149,78,150,58,107,146,181,90,33,116,47,182,108,217,130,163,71,143,114,127,197,5,15,0,155,205,134,214,173,91,99,204,152,49,72,78,78,17,0,240,73,73,159,2,0,118,187,29,227,199,143,199,174,93,187,184,1,36,150,10,163,143,207,151,210,112,55,11, +245,50,248,133,73,115,58,93,210,13,68,48,255,38,179,137,31,123,196,122,5,91,191,98,185,86,250,248,124,53,229,11,144,230,251,124,126,6,131,4,64,120,0,232,189,122,248,72,227,227,212,89,165,151,203,94,123,10,158,129,160,14,221,72,193,26,105,177,209,104, +228,215,18,232,9,252,20,16,39,74,28,36,1,80,155,69,211,235,217,55,239,223,191,31,39,78,156,64,253,250,245,145,158,158,94,69,168,164,205,86,107,146,16,182,3,91,183,110,197,238,221,187,225,112,216,209,172,89,115,92,119,221,117,72,74,74,98,95,127,190,45, +161,172,3,156,165,137,166,168,188,180,180,20,207,253,207,115,104,223,225,6,116,232,216,30,75,151,46,21,193,109,114,149,215,210,235,22,46,90,128,142,157,58,162,83,231,142,184,239,254,161,120,232,225,135,112,123,247,110,232,254,251,219,177,105,211,166, +168,119,248,74,11,16,99,34,129,229,231,231,99,212,131,35,57,69,203,206,206,97,173,15,103,206,201,228,255,44,180,94,39,92,192,171,19,94,69,155,54,109,133,198,87,96,250,59,211,177,100,201,18,12,26,156,135,117,223,174,71,106,106,42,187,5,105,1,46,0,34,127, +127,188,240,56,154,55,111,142,239,214,127,135,7,30,120,32,98,148,94,94,94,142,81,163,30,196,55,223,172,197,184,113,227,112,203,45,183,160,87,175,94,152,55,247,99,180,107,215,142,221,199,154,53,107,184,216,35,93,192,5,66,84,208,234,211,187,15,150,47,203, +23,166,191,195,41,171,116,156,210,153,76,12,26,155,173,148,253,125,73,137,13,22,171,25,173,90,253,142,95,147,8,49,128,116,1,103,155,166,169,199,221,2,254,211,31,210,8,150,189,9,8,252,211,108,68,193,161,2,97,21,20,205,239,212,169,19,92,46,151,4,192,133, +6,130,51,61,157,19,76,251,246,238,221,203,63,119,238,220,129,137,147,38,162,176,176,16,147,255,249,186,200,8,154,177,85,145,0,168,195,233,34,29,232,236,216,169,3,220,238,147,3,85,94,252,223,151,56,144,180,87,56,66,155,63,18,0,117,144,40,70,160,99,242, +83,167,76,19,166,222,137,131,135,14,97,241,226,197,248,251,147,227,177,117,235,22,76,157,58,141,51,139,243,153,5,72,0,196,144,40,6,160,122,192,240,225,195,149,227,243,34,228,30,255,183,241,24,57,106,36,230,205,155,139,140,140,12,1,130,55,4,0,202,101, +22,16,43,127,157,8,159,161,172,172,140,139,71,182,146,82,6,196,11,207,191,192,149,192,57,115,231,224,208,161,131,236,42,36,0,162,253,197,180,26,177,176,137,55,171,136,246,1,168,217,131,230,39,16,40,40,32,148,0,136,178,198,105,72,248,6,61,179,209,164, +135,86,167,85,2,173,64,124,173,2,249,119,210,120,218,16,10,78,80,73,73,77,198,158,61,63,115,37,145,154,100,26,52,104,32,43,129,209,20,190,78,8,219,96,212,135,4,174,17,142,87,111,208,241,115,58,241,147,192,16,15,247,64,90,253,254,251,179,68,206,255,77, +40,22,160,122,192,15,219,126,196,232,49,163,57,43,184,247,222,188,243,14,128,58,20,4,42,194,215,147,240,197,127,33,1,7,78,230,228,138,75,208,241,126,59,53,166,248,125,129,147,147,142,207,50,19,35,124,5,139,56,180,29,92,57,147,163,234,31,213,253,199,255, +125,60,142,29,59,134,203,27,95,142,166,205,154,138,24,192,134,77,155,55,241,107,104,208,211,179,207,60,203,46,65,214,1,206,89,243,161,106,190,33,162,118,87,126,142,54,104,40,70,8,232,2,2,4,126,181,1,3,103,149,147,187,221,30,180,111,223,30,121,121,121, +104,209,162,5,255,94,57,250,55,153,204,152,255,241,39,248,228,211,79,176,113,227,70,108,223,190,157,55,126,250,245,235,135,190,125,250,162,103,175,94,12,212,104,206,252,187,40,1,64,66,211,158,70,248,145,192,160,101,32,104,161,19,191,83,167,18,9,46,224, +15,156,17,16,168,142,223,191,95,127,12,30,52,24,14,135,163,74,93,63,120,253,14,237,59,160,75,151,46,108,41,232,53,220,71,96,177,178,181,161,215,39,66,83,72,92,0,16,171,74,215,169,132,79,143,141,102,35,244,90,61,124,1,31,60,78,15,252,129,170,45,233,193, +215,7,221,131,112,34,33,215,192,96,32,32,144,180,52,225,191,19,9,54,232,6,194,125,71,135,211,193,172,92,95,89,234,242,138,242,132,82,32,109,172,5,79,11,169,248,72,13,162,57,98,184,74,192,23,70,248,102,139,25,158,10,15,118,109,216,11,123,177,131,127,55, +91,205,12,152,234,86,34,84,223,15,1,74,175,4,141,20,51,144,171,56,199,91,34,208,181,35,245,13,212,73,11,64,194,14,182,55,147,134,208,134,71,121,121,69,212,133,79,105,94,149,128,79,253,55,218,114,245,58,125,152,243,204,98,172,152,249,45,174,190,249,74, +116,29,120,3,126,119,211,149,200,188,52,157,135,220,123,188,110,120,61,190,112,177,36,11,60,232,30,232,122,94,175,143,99,133,186,72,81,7,128,114,176,193,199,121,46,109,121,14,26,52,136,187,99,182,111,223,193,61,113,73,214,164,115,23,190,94,203,38,149, +128,22,73,248,31,60,189,16,203,167,125,45,220,128,1,219,190,216,137,159,190,222,141,70,173,115,113,67,143,182,184,161,103,27,228,182,108,0,131,222,8,175,223,11,143,8,224,66,230,190,186,123,208,106,56,96,172,171,71,25,162,14,0,210,118,26,23,123,211,77, +55,225,225,135,31,230,211,64,4,138,125,251,246,193,104,48,177,69,168,109,76,192,209,190,16,62,1,42,156,207,55,135,132,191,0,75,38,175,66,90,102,10,172,169,102,14,240,220,14,15,246,127,127,8,123,55,253,134,149,194,42,92,123,231,85,232,120,207,181,104, +122,109,99,88,146,45,16,6,26,110,167,187,198,209,53,197,61,160,206,82,84,1,160,164,63,38,12,27,54,12,99,199,142,69,110,110,110,168,101,186,73,147,38,34,32,114,194,237,114,215,106,11,52,228,243,13,250,136,194,247,57,124,248,240,153,133,88,170,10,223,156, +108,10,153,121,163,197,192,236,19,191,151,29,43,199,231,211,86,99,221,188,205,104,121,99,19,116,236,115,29,90,223,210,2,201,245,68,132,238,173,219,2,143,25,0,72,8,84,221,234,217,179,39,6,15,30,204,189,240,193,254,247,96,99,4,119,197,136,231,233,177,207, +235,63,227,152,176,170,240,53,225,133,79,154,255,204,73,205,39,225,87,246,219,148,222,113,13,64,4,118,73,153,86,88,211,45,112,85,184,176,121,201,143,216,188,252,39,52,109,223,8,35,38,13,196,229,109,27,194,233,112,94,52,0,208,70,19,0,196,180,197,169,84, +194,236,53,52,157,5,167,161,59,28,233,152,207,36,111,175,28,240,33,130,207,247,169,62,127,105,4,225,215,248,156,42,24,204,41,102,100,55,204,224,253,130,93,223,238,197,177,253,133,17,211,62,105,1,206,144,130,62,62,146,137,87,130,45,165,92,202,150,193, +227,21,86,34,188,75,56,93,192,103,174,20,240,45,153,188,242,180,194,175,113,125,241,119,253,226,207,26,77,70,174,37,24,204,23,95,123,68,212,235,0,149,171,97,90,157,70,217,4,177,24,171,228,210,1,181,236,74,193,33,45,188,78,167,141,32,124,157,146,234,133, +213,124,139,170,249,11,106,37,252,176,117,128,139,144,98,86,8,50,89,76,194,223,155,240,235,15,7,81,124,200,198,37,80,74,169,42,175,115,208,69,48,8,244,186,144,32,148,104,95,199,62,63,124,158,79,254,219,141,247,199,127,138,165,175,127,133,244,115,16,254, +197,78,81,5,64,176,52,75,90,239,169,240,98,249,212,213,120,161,247,255,97,202,3,179,112,104,231,17,152,77,102,54,233,213,5,202,190,72,175,108,217,146,3,62,85,180,79,194,119,150,185,49,99,220,28,44,153,178,234,156,52,95,82,148,1,192,193,154,206,128,159, +191,251,5,175,223,55,3,239,61,49,31,246,66,39,126,92,181,27,175,229,189,141,109,171,118,176,85,32,159,91,93,176,193,27,34,153,204,194,23,27,116,92,146,11,47,124,151,16,254,92,124,57,125,29,178,234,167,195,148,100,228,60,95,210,121,6,64,240,0,196,230, +252,109,120,41,111,26,254,181,240,123,164,100,36,33,163,126,42,114,46,203,196,225,157,71,49,105,208,59,200,127,99,53,52,1,45,11,83,145,108,77,151,16,128,166,70,46,110,37,225,151,146,240,231,97,213,12,33,252,6,25,28,91,68,210,124,13,87,239,252,240,159, +69,186,41,1,112,78,8,80,254,247,235,182,131,34,157,58,33,210,171,76,165,240,226,85,4,148,149,155,1,175,195,139,119,199,125,44,120,30,202,142,87,176,171,32,65,85,7,1,80,115,99,199,65,154,255,151,185,66,248,223,10,225,167,43,215,142,32,124,114,67,110,17, +35,84,148,56,120,51,71,14,163,136,99,16,72,169,89,138,217,170,238,128,5,66,66,36,109,76,203,73,69,82,170,21,203,166,126,141,201,195,102,224,224,142,2,222,47,160,86,173,72,77,28,39,205,126,80,243,211,97,16,194,15,167,249,188,9,37,132,111,59,94,14,151, +195,141,59,31,189,25,45,187,52,133,163,212,33,239,101,20,207,44,32,80,201,42,84,110,176,160,146,176,57,197,132,108,97,13,190,255,98,7,38,12,120,11,91,150,253,0,163,193,200,231,230,34,251,252,121,170,230,103,68,20,62,119,248,136,247,20,30,44,134,49,73, +143,161,175,222,131,188,231,123,9,192,153,225,44,119,75,43,16,239,52,48,168,145,126,33,148,138,18,187,112,5,62,214,78,18,30,105,124,189,203,178,112,116,111,33,38,15,157,137,133,175,125,129,128,71,241,243,80,3,194,160,240,103,86,17,190,94,233,227,11,103, +242,157,94,28,255,181,8,141,174,186,4,99,102,13,71,247,17,93,121,167,207,94,230,228,122,132,164,243,0,0,202,213,27,182,170,143,118,61,218,160,236,68,5,255,206,13,25,170,107,200,202,77,231,83,182,179,159,92,128,233,127,158,11,219,177,50,33,120,43,3,193, +81,234,100,205,95,41,132,159,25,210,252,64,88,147,95,97,179,163,248,152,13,157,7,94,143,113,115,71,162,109,183,86,112,121,92,108,113,164,230,159,154,98,90,251,116,150,187,96,73,49,99,216,164,254,72,206,76,194,50,42,218,136,172,192,34,242,118,10,224,2, +66,160,41,89,73,172,217,43,222,254,6,71,247,28,199,176,137,3,144,113,105,26,102,253,117,62,86,189,187,158,133,111,12,99,246,57,120,20,84,92,96,131,214,160,197,128,167,238,66,207,177,221,133,249,55,160,164,216,6,131,57,88,97,148,190,255,188,0,64,163,250, +101,187,205,9,189,89,143,33,47,245,133,86,175,101,16,144,48,147,210,44,74,35,166,96,179,213,136,156,220,76,236,88,179,7,211,70,204,18,0,72,199,15,171,118,34,179,126,90,88,225,147,214,251,220,62,20,29,42,70,78,147,108,228,189,208,11,55,14,104,7,151,219, +141,210,162,50,254,227,82,243,19,192,2,132,92,129,195,5,107,182,69,128,160,15,55,104,124,246,210,231,188,77,76,117,2,5,4,1,6,71,102,195,116,28,222,125,12,7,126,42,96,203,64,85,195,42,194,215,40,29,71,100,89,74,142,151,162,77,183,150,24,242,114,95,52, +185,182,17,42,236,118,17,7,120,66,193,160,164,4,2,0,153,107,167,219,201,254,126,192,83,119,195,42,180,127,206,83,139,96,59,81,142,84,33,104,2,64,48,46,72,206,176,40,70,155,166,138,250,3,85,252,61,109,7,151,137,20,143,154,74,238,252,211,205,124,173,212, +156,100,148,218,74,249,181,90,173,212,250,132,4,64,16,4,142,50,7,87,248,122,140,185,157,99,131,89,127,251,4,229,69,118,33,244,164,80,199,108,88,229,213,40,123,244,182,163,165,34,141,52,226,222,23,123,162,251,200,174,116,200,7,182,226,82,222,48,146,38, +63,145,1,16,8,230,234,90,225,14,200,18,248,113,251,240,46,66,251,147,241,129,200,0,74,143,149,115,125,32,98,188,38,180,155,210,185,43,59,53,193,128,103,239,66,171,206,77,97,23,215,113,151,185,67,193,160,164,4,76,3,195,225,128,52,53,120,28,170,113,155, +92,36,101,88,185,111,79,19,169,96,175,81,138,66,94,183,23,245,155,102,227,138,182,151,241,147,30,151,91,74,239,66,114,1,12,0,161,249,116,120,51,37,37,25,187,55,236,195,59,99,230,162,96,215,49,164,100,90,35,7,110,1,37,234,79,22,177,194,186,57,155,112, +108,223,113,12,121,165,47,174,184,70,4,126,21,118,1,4,79,28,172,64,124,26,70,120,87,52,206,105,107,124,0,160,150,132,105,191,63,89,8,127,219,202,29,120,235,209,143,112,108,111,33,111,18,177,143,15,46,48,187,251,154,77,32,220,103,144,108,198,15,95,237, +198,132,255,122,11,131,158,239,141,206,3,174,135,71,92,211,94,238,224,55,198,34,12,8,142,134,163,51,4,241,0,1,109,149,211,84,117,101,84,124,236,255,158,54,62,154,31,224,94,126,18,254,134,5,91,49,101,216,123,56,190,191,8,57,141,50,161,209,105,148,12,64, +163,104,58,85,11,203,138,42,170,20,123,130,215,208,153,116,252,158,146,195,165,120,99,212,251,156,73,120,237,62,164,101,164,170,24,10,196,0,187,154,170,129,76,140,45,13,85,47,171,7,196,177,4,158,62,30,194,39,13,210,105,116,248,250,253,245,220,36,226, +42,243,112,55,110,149,147,184,130,75,11,203,69,70,96,69,78,227,76,20,252,124,28,214,84,11,116,122,205,201,93,69,21,40,153,13,210,120,127,225,211,151,243,113,96,103,1,6,191,216,7,151,54,175,143,178,242,114,238,251,143,70,17,203,175,246,44,82,143,195,138, +21,43,48,127,254,124,110,107,83,90,215,98,183,94,116,116,157,14,177,30,56,112,128,59,172,99,61,70,46,166,0,160,82,175,57,213,4,115,146,88,196,233,223,176,240,169,13,55,227,146,180,144,240,105,145,73,192,39,14,22,33,189,65,10,134,77,236,143,70,87,231, +98,234,136,247,176,125,245,30,212,107,156,197,155,57,161,154,64,0,92,60,178,166,91,121,127,224,95,11,254,141,35,123,68,92,240,114,31,92,123,71,107,56,221,46,78,55,163,162,253,106,119,243,111,191,253,134,252,207,243,145,150,154,6,163,209,16,83,141,12, +94,154,102,9,208,86,121,172,111,178,165,143,157,49,3,151,128,201,140,47,254,231,151,88,252,234,74,104,3,90,164,228,36,135,170,123,36,88,138,238,105,11,151,14,100,12,123,173,63,90,223,218,130,255,237,193,105,131,4,8,102,97,215,250,95,24,4,84,215,175,124, +186,150,174,65,1,101,206,101,89,28,72,78,30,50,19,125,255,122,7,254,240,232,173,72,201,72,86,6,54,4,130,250,124,110,68,130,200,206,202,22,193,107,10,187,178,120,85,26,227,113,154,56,166,49,0,85,252,126,253,247,97,44,124,229,75,104,105,64,82,246,73,225, +147,64,157,118,23,10,15,21,243,110,225,184,143,70,176,240,93,110,39,15,83,104,216,234,18,60,58,227,62,180,190,237,74,20,254,86,196,219,201,213,163,253,128,122,158,32,51,55,157,91,191,102,63,185,80,4,151,31,194,118,184,12,86,179,133,231,3,5,252,129,168, +89,130,68,224,11,46,6,240,186,188,124,66,151,14,93,144,240,149,163,227,26,14,244,28,118,39,254,240,200,205,24,248,76,47,36,139,84,144,134,41,4,5,70,143,115,91,52,192,99,2,4,255,255,208,7,216,178,124,59,7,128,122,131,182,74,137,152,83,39,225,106,168,168, +100,180,184,241,213,140,245,56,180,253,8,134,254,227,30,180,188,177,25,55,141,134,235,33,56,91,77,164,227,108,193,227,109,241,222,107,8,54,211,40,55,222,10,92,56,0,224,78,95,163,86,25,224,160,106,43,113,81,129,77,60,175,67,158,72,229,238,30,211,13,58, +131,6,118,135,189,74,73,151,94,79,199,201,115,26,101,225,225,183,134,96,154,136,250,183,46,255,145,127,39,211,95,125,135,144,226,2,147,136,9,178,47,203,196,158,141,191,226,245,161,51,145,247,114,239,208,192,7,62,149,86,75,5,162,211,78,37,37,37,12,132, +120,186,128,234,0,160,27,111,146,117,76,104,0,144,96,170,68,174,234,32,46,62,99,47,132,122,252,64,17,178,26,166,99,232,43,247,160,115,255,235,225,243,123,133,37,168,121,100,60,56,230,141,190,112,150,200,24,254,244,246,16,188,245,200,71,216,180,104,27, +191,223,96,170,217,29,196,27,66,66,224,217,194,82,84,20,217,49,115,244,60,238,67,160,195,160,181,5,48,45,252,53,215,92,131,199,31,127,156,51,130,224,173,220,226,77,244,89,232,232,61,13,166,138,166,37,136,58,0,188,98,193,74,157,34,157,115,37,241,129,13, +214,124,45,149,110,189,40,58,92,140,230,29,174,224,166,143,43,197,79,143,215,195,195,25,34,250,54,13,84,16,216,185,96,244,200,244,161,120,103,244,28,172,253,104,35,131,194,96,170,121,23,210,224,194,144,208,221,118,55,42,138,237,194,53,156,93,17,39,88, +178,166,247,144,246,211,77,158,232,46,31,137,64,244,153,162,57,90,46,122,199,195,233,160,101,192,135,118,127,108,131,221,235,247,97,235,178,237,220,153,155,150,157,194,189,125,37,39,74,121,32,195,253,255,232,39,242,252,44,56,93,206,80,76,112,218,164, +28,138,139,72,21,65,228,200,41,247,242,83,107,8,4,185,225,187,133,130,35,223,140,234,153,196,115,209,150,224,222,69,162,236,54,38,116,12,224,114,186,209,248,170,75,241,248,187,15,224,171,247,214,97,217,180,175,113,112,119,1,207,4,232,49,186,27,6,60,173, +244,2,4,253,216,217,44,170,70,5,1,5,139,35,166,230,65,163,215,98,205,7,27,144,113,73,122,196,3,34,209,90,172,186,124,175,227,218,2,32,226,202,58,28,78,152,82,140,248,227,99,183,161,69,231,166,248,108,82,62,174,184,186,17,122,143,253,61,247,238,57,236, +142,90,167,230,4,2,186,126,82,134,5,163,166,228,113,79,193,231,111,174,65,70,131,52,110,43,147,71,196,226,7,0,122,95,114,164,127,116,58,92,156,231,55,189,190,17,70,79,31,46,162,124,45,207,224,113,217,163,115,207,96,2,145,37,213,140,251,38,244,227,235, +45,127,99,53,31,65,163,138,227,69,124,72,212,20,79,0,80,20,178,158,98,45,193,77,170,131,65,73,91,252,60,19,136,78,249,250,252,62,30,4,17,70,248,54,193,251,42,123,251,106,86,134,166,40,95,42,56,183,250,245,169,134,64,167,144,238,19,249,62,189,51,255,205, +213,72,71,42,44,73,166,104,91,2,250,12,123,213,207,106,66,226,181,25,107,84,57,22,198,19,0,135,5,247,16,76,227,186,186,9,30,35,248,134,112,105,156,219,229,137,84,197,218,47,248,41,193,249,234,151,8,151,95,209,24,206,214,130,39,134,187,190,83,5,1,5,150, +148,113,44,154,180,130,131,81,107,138,249,140,65,16,252,108,60,33,52,124,213,144,22,118,156,224,181,130,45,9,10,0,90,187,162,120,2,128,182,220,78,168,143,63,16,188,78,240,163,130,233,78,138,105,53,128,80,147,54,10,254,11,5,243,103,240,183,104,225,71, +8,126,71,112,187,176,32,176,152,249,24,24,117,22,127,54,225,115,22,17,185,136,136,39,135,53,202,24,121,218,117,163,134,18,106,37,167,113,178,129,240,21,67,178,0,37,170,5,176,213,53,191,17,173,170,198,47,130,159,16,156,39,248,171,211,104,201,167,234,235, +214,156,197,245,183,9,30,46,120,67,56,13,230,169,94,58,96,224,211,61,208,247,137,59,80,90,90,14,187,205,17,186,55,64,229,215,242,206,162,16,180,189,212,129,146,2,27,202,75,236,104,212,166,33,250,141,191,11,77,174,107,196,133,169,106,159,158,134,21,152, +81,71,73,83,155,84,233,52,197,136,44,213,26,140,172,230,187,169,137,111,154,224,231,84,141,170,13,209,86,225,27,130,111,13,247,153,76,102,19,111,55,47,152,144,143,143,95,92,14,179,217,136,228,116,171,58,132,10,92,140,170,16,130,247,186,124,220,139,216, +170,107,83,180,187,251,106,180,185,173,21,215,20,60,62,143,146,243,87,13,71,10,4,15,17,188,50,145,5,73,99,249,104,192,70,34,0,32,72,93,4,255,89,112,95,213,116,146,224,167,170,64,56,23,106,38,248,77,53,246,8,11,2,106,62,89,48,241,11,204,121,118,17,143, +165,161,145,116,101,197,229,220,204,113,73,243,122,124,118,240,250,187,174,70,243,142,87,240,70,85,128,166,132,10,193,251,189,97,93,198,17,21,0,95,214,69,0,196,114,51,136,124,247,14,245,231,81,193,31,70,233,186,123,4,63,164,90,130,219,171,155,120,151, +211,197,99,226,123,143,237,206,207,205,126,238,51,152,253,38,214,242,14,125,219,162,245,45,45,209,160,105,142,226,220,133,185,119,58,29,17,199,212,169,148,44,93,64,237,44,64,172,233,114,193,147,5,247,140,236,14,68,160,49,111,3,7,137,109,110,109,137,164, +116,43,135,39,110,143,155,39,151,156,65,187,21,105,255,23,130,159,85,227,28,233,2,18,8,0,68,13,5,191,46,184,79,184,207,200,115,255,245,70,37,109,9,208,84,112,175,210,111,16,192,169,170,145,228,7,190,87,131,217,79,4,111,86,211,81,212,69,0,92,232,163,49, +15,10,126,76,125,220,167,186,59,160,3,39,62,175,51,4,136,42,153,115,77,162,56,101,149,224,37,170,240,127,193,69,64,117,97,54,234,33,193,143,8,182,11,30,20,206,18,156,130,60,106,65,138,132,190,72,240,214,186,152,235,215,117,0,4,83,181,199,85,129,222,127, +6,175,167,170,217,22,181,38,177,92,240,1,181,184,117,209,81,93,154,142,76,37,219,255,86,11,55,67,34,188,134,246,29,86,8,94,172,22,162,202,112,145,147,166,182,123,230,212,42,149,160,212,64,112,39,40,27,55,190,74,94,223,171,2,224,39,213,82,212,41,10,222, +158,54,110,0,144,84,71,128,35,151,64,2,64,146,4,128,36,9,0,73,18,0,146,36,0,36,73,0,72,146,0,144,36,1,32,73,2,64,210,69,64,255,17,96,0,83,68,210,44,174,238,131,143,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* projectIconVisualStudio13_png = (const char*) temp_binary_data_33; + +//================== projectIconXcode.png ================== +static const unsigned char temp_binary_data_34[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,40,105,84,88,116,88,77,76,58, +99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60,120, +58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53,54, +55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58,48,50,32,32,32,32,32,32,32,32,34,62,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57, +57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112, +58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,32,120, +109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,32,120,109,112,58,67,114,101,97,116,111, +114,84,111,111,108,61,34,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97,99,105,110,116,111,115,104,41,34,32,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,49,51, +54,56,69,69,54,70,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,77,77,58,68,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,49,51,54,56,69,69,55,48,52,67,55,57,49,49,69,52,57,54,50,67,65, +49,51,66,54,69,53,52,48,69,51,54,34,62,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,49,51,54,56,69,69,54,68,52,67,55,57,49,49,69, +52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,49,51,54,56,69,69,54,69,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34, +47,62,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,32,60,47,114,100,102,58,82,68,70,62,32,60,47,120,58,120,109,112,109,101,116,97,62,32,60,63,120,112,97,99,107,101,116,32,101,110,100,61,34,114,34,63,62,9,144,57,89,0,0,67,215,73, +68,65,84,120,218,236,125,9,188,93,85,117,247,218,251,156,59,189,41,19,153,19,2,97,8,132,36,24,32,8,40,115,65,171,88,81,180,22,1,91,43,159,210,138,165,98,171,182,180,95,173,126,85,106,21,75,213,90,252,172,84,40,173,56,97,157,80,64,20,48,130,65,166,144, +64,18,8,153,200,60,190,228,13,119,56,103,239,111,173,181,199,115,19,126,95,127,242,46,190,103,121,249,221,220,247,238,61,247,156,115,247,94,123,13,255,245,95,107,11,173,53,252,170,63,141,70,3,86,175,94,13,47,230,28,47,255,188,248,159,217,179,103,195, +196,137,19,127,165,207,166,47,230,194,27,54,108,128,87,189,234,85,160,148,58,212,219,226,55,104,140,71,181,132,223,116,211,77,112,249,229,151,191,244,2,64,19,63,48,48,208,62,233,194,14,152,104,19,4,49,74,38,82,31,66,80,197,11,76,180,136,94,211,109,191, +143,154,159,86,171,245,43,127,54,125,177,23,151,82,58,13,224,6,50,1,33,74,160,5,62,131,164,67,94,80,0,200,116,8,241,146,205,189,144,169,72,123,166,84,240,154,194,93,63,27,216,89,215,42,211,209,61,169,82,42,242,84,66,150,183,84,179,169,33,63,196,120,169, +23,16,166,95,203,143,120,17,99,152,142,212,61,216,137,78,232,118,230,94,254,149,47,214,166,29,119,170,86,13,161,113,168,116,174,133,202,64,39,85,193,35,38,5,189,6,198,119,144,230,211,244,37,120,52,115,109,212,7,30,100,92,11,51,198,90,217,103,252,156, +72,131,60,209,235,244,253,249,125,43,130,42,83,32,18,17,132,12,236,181,146,84,166,221,147,43,218,45,108,252,76,171,127,123,67,235,76,9,105,142,81,90,231,147,106,98,168,170,242,65,53,184,125,143,104,110,219,156,236,125,118,85,115,199,211,143,175,95,253, +196,242,157,251,6,247,225,135,75,145,32,168,177,96,38,94,42,1,192,129,209,165,218,228,185,199,244,204,94,116,76,222,24,118,211,7,57,78,92,95,77,66,119,69,192,214,3,185,153,119,97,39,217,9,2,29,173,89,26,104,33,134,73,70,161,160,69,42,203,2,114,92,146, +210,222,53,31,34,33,18,16,205,231,210,237,250,70,91,1,16,248,94,150,249,223,89,131,85,250,252,177,218,126,126,0,207,181,159,180,90,247,60,212,112,0,229,57,25,76,174,12,235,215,92,180,254,201,236,217,59,111,125,224,135,95,191,101,243,246,61,187,240,35, +101,124,100,145,70,248,31,41,0,65,245,155,1,233,214,89,93,233,172,129,191,54,121,69,243,82,193,129,157,214,155,194,148,158,4,54,236,172,67,53,21,160,98,11,155,153,185,103,85,205,2,96,221,8,97,4,128,231,38,51,218,67,229,224,87,189,80,58,152,106,17,107, +4,59,165,36,16,185,153,92,153,136,200,218,43,43,52,25,107,2,62,78,27,13,36,18,141,95,134,254,206,65,55,50,24,198,11,174,221,215,16,107,178,137,139,102,77,191,226,31,46,185,246,188,119,172,184,243,115,31,186,247,167,15,220,21,9,1,140,38,179,240,223,54, +225,35,168,1,156,0,116,105,165,82,158,64,154,12,28,116,122,224,194,131,41,221,40,0,189,137,147,9,176,243,13,164,126,5,10,4,253,147,206,158,217,213,45,98,127,193,41,139,48,223,65,189,211,229,26,202,42,100,97,236,162,54,231,17,180,218,149,213,18,116,79, +246,120,17,9,32,153,28,115,31,218,8,129,213,80,2,157,1,242,115,74,137,196,47,167,224,249,29,253,240,245,167,202,11,143,186,232,47,238,184,252,237,151,190,207,158,161,108,23,147,24,107,209,143,28,193,115,9,59,8,85,28,240,68,90,27,44,34,251,61,165,79,66, +34,205,228,248,1,79,160,56,81,198,2,152,99,236,164,145,0,201,146,61,159,123,143,151,187,21,26,43,100,194,10,140,247,137,180,123,15,39,49,53,239,187,243,179,20,230,164,21,140,0,122,85,198,147,46,88,235,240,217,181,61,119,154,224,61,36,80,174,36,144,202, +28,190,185,108,103,165,247,148,119,124,230,79,174,254,227,15,218,111,80,26,139,66,48,210,62,128,245,3,104,33,11,72,74,18,109,191,134,38,218,239,33,180,221,199,76,73,97,211,222,156,127,23,96,85,62,249,102,218,168,221,102,110,78,80,78,141,67,152,181,140, +239,128,46,164,17,24,60,62,207,140,253,166,143,86,75,230,184,225,58,250,8,40,40,101,252,27,231,9,234,45,197,102,66,209,36,39,177,150,64,213,46,141,80,101,185,50,215,86,198,60,209,235,37,60,111,78,145,1,125,30,125,128,28,143,83,116,83,120,125,214,58,74, +66,43,67,227,160,36,223,248,205,119,61,11,215,189,245,205,127,123,237,53,66,222,112,227,231,63,25,57,135,217,88,113,12,211,14,104,20,153,55,112,16,235,56,178,82,3,250,124,112,194,225,21,168,225,208,28,117,88,10,179,198,37,176,165,191,6,83,251,18,232, +197,55,251,135,52,172,221,221,130,129,97,5,167,29,89,129,221,67,10,150,111,105,242,128,79,69,159,97,106,175,132,190,138,132,129,166,98,193,153,61,62,129,33,20,140,253,168,238,151,173,111,66,29,159,47,57,177,10,164,112,158,217,213,98,1,91,56,189,4,21, +252,102,221,168,152,43,40,132,93,120,237,6,10,195,126,60,247,30,188,78,130,234,102,114,183,228,201,222,61,152,243,103,183,236,203,96,195,158,22,244,97,164,50,185,75,64,23,222,91,111,89,3,90,45,20,134,28,246,14,181,96,168,158,194,97,120,226,198,144,128, +125,253,120,190,189,25,220,189,108,53,124,244,157,87,254,141,76,202,181,79,221,240,153,143,89,33,32,113,105,141,5,33,72,71,216,4,88,108,0,204,234,39,167,13,87,243,27,23,85,225,228,217,101,152,128,81,64,29,87,240,239,157,36,96,23,14,252,238,65,141,147, +163,241,181,4,154,221,9,156,115,76,5,246,13,107,56,128,194,67,171,253,154,115,122,1,23,35,12,83,48,142,171,113,0,159,55,236,201,97,2,78,92,95,93,194,115,61,25,100,53,1,151,44,238,194,243,41,104,225,235,107,118,100,112,24,10,205,235,78,168,65,25,87,255, +96,131,62,75,43,154,110,208,204,197,0,10,205,174,129,156,5,96,209,204,18,236,27,34,161,73,225,151,155,48,66,217,147,193,101,75,186,96,206,196,20,14,52,114,212,94,10,26,168,5,178,172,4,131,40,0,27,118,40,216,39,74,208,151,148,97,155,170,64,179,113,0,110, +185,235,41,248,219,63,253,147,15,182,114,149,220,120,227,141,31,137,198,117,212,71,8,105,7,206,41,36,174,188,4,7,95,227,26,160,9,255,248,93,7,80,189,107,184,238,194,62,246,206,175,251,94,63,212,40,164,35,207,27,255,166,21,88,66,245,253,253,39,135,57, +50,72,173,255,240,224,186,221,208,200,204,228,187,233,107,41,243,25,58,162,140,199,165,168,101,46,189,121,23,191,78,90,163,132,175,221,246,240,32,220,254,232,144,1,122,200,20,144,199,79,102,70,27,225,36,179,148,185,176,209,134,126,244,76,2,67,170,255, +253,223,106,224,121,208,36,177,41,81,108,94,240,83,24,138,182,160,213,172,227,247,26,130,188,62,4,186,94,199,231,28,106,155,214,195,229,231,31,7,215,190,255,154,15,160,195,88,254,204,103,62,243,215,209,120,140,106,33,232,132,0,160,4,72,10,230,2,232,131, +191,80,20,48,136,43,120,106,143,228,137,171,165,1,53,118,185,164,164,34,204,43,218,56,99,45,114,210,200,78,59,80,71,144,135,41,89,0,180,67,17,53,77,58,62,232,66,82,179,243,86,43,73,27,18,226,23,100,128,199,92,139,222,211,40,5,252,54,159,71,217,89,113, +192,16,254,141,231,84,12,8,1,251,19,244,5,248,122,116,12,122,140,101,124,104,124,100,58,197,195,49,162,81,41,236,219,219,15,63,125,98,19,204,63,98,50,188,247,189,239,125,95,146,36,229,79,127,250,211,127,17,37,201,70,173,16,200,142,156,84,154,137,55,33, +93,8,201,232,98,93,37,225,61,111,243,160,137,48,19,156,112,144,111,67,60,156,40,154,120,233,163,6,105,206,35,76,228,96,162,1,19,243,179,183,46,69,120,22,102,85,155,247,180,189,142,245,230,181,240,231,113,152,1,223,166,138,66,195,22,73,172,118,32,165, +193,38,116,136,44,232,11,72,84,113,66,38,44,72,101,148,192,7,158,220,8,185,29,206,171,174,186,234,61,31,249,200,71,110,68,65,168,218,240,184,4,16,157,238,55,93,0,220,162,226,129,183,3,156,224,138,175,183,180,1,250,32,196,224,57,58,119,82,154,129,165, +215,100,73,50,210,199,147,110,198,58,76,36,189,230,66,70,25,194,61,23,198,105,59,233,86,36,204,231,100,152,112,97,143,101,161,2,135,23,132,123,117,211,99,238,193,197,163,225,59,240,195,134,158,60,116,36,148,146,4,160,4,207,110,220,13,219,247,14,67,95, +79,55,223,199,219,223,254,246,43,62,113,253,245,55,85,170,213,190,56,58,26,109,66,208,57,1,208,17,200,99,7,153,6,158,212,63,105,6,103,199,19,210,8,41,240,67,59,100,61,23,222,44,104,103,166,85,49,173,72,43,207,96,1,225,98,82,138,98,60,15,17,24,100,79, +196,202,200,2,65,124,188,50,90,193,92,91,91,173,96,145,71,165,15,194,247,24,176,114,90,137,84,17,10,0,174,116,216,55,88,135,231,182,238,133,222,158,46,168,86,171,124,141,55,93,124,241,37,159,250,135,79,221,220,221,221,61,201,222,86,217,106,4,249,27,45, +0,20,6,170,40,18,230,201,195,175,223,196,1,37,8,88,186,85,232,84,60,136,34,170,7,118,114,242,224,163,9,7,27,90,161,242,19,66,194,148,25,211,161,99,191,206,171,116,17,180,130,23,144,88,67,132,172,38,88,129,97,252,192,33,153,78,104,148,176,96,149,53,107, +214,36,57,80,43,71,103,241,153,77,187,161,90,171,177,0,212,240,153,190,203,107,95,251,154,215,222,112,195,13,183,77,156,56,113,150,253,138,177,38,16,191,145,2,64,171,154,84,62,163,129,90,216,149,6,176,31,67,188,82,74,94,191,8,240,189,140,16,58,105,162, +7,143,204,225,115,138,234,56,113,171,78,10,171,154,193,128,65,214,31,208,46,37,234,132,37,137,84,186,93,237,14,58,166,137,230,76,161,140,51,145,96,205,79,36,144,140,254,133,41,162,251,242,215,182,121,9,35,25,210,251,57,27,183,237,101,85,86,169,84,10, +66,112,238,185,231,158,249,185,207,125,238,246,89,179,102,29,29,65,199,201,11,166,201,199,186,0,176,157,77,35,184,151,38,46,145,60,94,45,155,6,22,22,127,167,9,202,155,22,182,149,198,94,120,219,158,24,83,160,242,0,23,187,8,65,68,99,151,148,141,176,145, +105,73,24,234,179,16,112,148,106,54,230,65,24,21,175,193,107,29,17,57,122,44,36,137,17,50,201,247,129,247,172,132,123,43,228,31,200,100,128,100,186,131,72,140,38,144,120,236,238,254,33,179,196,209,39,136,133,128,126,78,62,249,228,197,40,4,223,152,59, +119,238,43,192,232,182,81,145,63,232,144,45,50,203,68,72,109,87,179,89,154,4,235,166,9,248,201,96,79,221,66,188,2,66,214,207,227,250,110,177,43,237,39,83,145,121,105,1,68,110,156,11,38,253,106,118,154,135,237,59,59,31,70,99,168,150,246,194,197,54,95, +219,227,164,21,42,167,121,68,208,30,108,14,84,236,112,26,1,73,203,238,59,24,213,149,224,23,219,143,126,0,135,165,105,10,105,90,212,4,116,254,121,243,230,29,251,217,207,126,246,235,11,22,44,56,211,134,134,37,171,9,126,109,66,32,59,53,253,70,37,139,16, +62,57,205,32,130,87,110,38,192,56,128,206,4,152,84,189,153,56,74,227,210,235,73,85,178,208,144,130,72,43,194,58,114,16,209,49,204,241,76,236,17,177,7,106,87,107,102,38,92,70,166,196,152,15,235,229,107,27,126,170,144,112,242,201,36,252,12,105,24,103,239, +157,95,225,179,213,50,246,96,204,135,73,219,165,135,16,2,114,22,143,60,242,200,89,40,4,95,59,243,204,51,223,96,133,160,252,235,20,2,217,65,5,96,86,153,85,215,110,210,8,214,85,22,181,115,206,28,171,208,68,68,118,220,120,227,206,145,11,156,27,97,7,216, +126,46,129,16,222,217,228,147,191,174,117,36,201,142,179,121,160,140,96,4,40,113,120,105,49,139,24,39,144,78,112,193,250,18,113,88,235,4,219,29,99,36,58,8,135,59,189,48,41,228,67,9,1,253,61,121,242,228,9,215,95,127,253,45,23,92,112,193,229,191,110,33, +72,59,229,3,184,137,160,65,215,81,172,78,88,128,178,118,157,157,42,165,189,93,215,214,227,118,206,92,98,209,66,86,195,222,150,147,0,9,99,94,132,9,203,98,143,63,208,81,3,198,199,166,35,58,7,56,191,66,182,221,51,203,152,13,9,117,49,138,177,20,166,144,250, +68,129,210,210,106,56,113,40,48,204,156,144,38,252,80,63,125,125,125,93,31,251,216,199,110,234,233,233,25,127,199,29,119,124,193,10,65,235,165,206,36,118,68,0,28,153,131,198,128,236,58,79,180,214,252,119,201,250,0,137,5,120,84,136,255,12,46,128,2,67, +137,27,86,231,188,50,77,206,222,76,74,64,235,116,108,171,61,75,72,251,149,74,51,170,61,243,68,120,68,208,133,154,4,246,232,76,27,152,56,49,172,33,127,31,210,42,199,220,248,14,116,125,130,135,181,53,23,218,57,183,209,13,196,56,133,11,79,255,127,66,128, +247,145,94,119,221,117,159,158,48,97,66,239,151,191,252,229,79,253,58,210,201,29,17,0,237,66,174,136,152,201,104,43,133,130,13,109,57,127,80,96,245,120,175,63,55,147,78,78,150,178,92,192,164,44,89,149,43,55,161,58,120,240,42,15,240,179,75,60,120,202, +159,136,236,145,163,17,57,201,241,142,165,243,242,181,191,7,86,237,148,23,72,77,30,129,35,7,27,234,177,117,81,218,71,43,206,159,96,33,111,215,132,255,61,33,128,171,175,190,250,35,104,30,122,63,255,249,207,127,52,50,162,47,73,254,160,35,2,96,66,48,233, +109,177,155,236,225,150,182,57,2,167,138,181,119,14,188,214,22,80,72,8,5,187,26,224,99,17,59,140,96,133,73,26,184,88,171,96,78,252,103,109,92,143,226,100,222,199,255,92,50,80,88,19,37,19,105,9,165,138,63,171,33,124,214,11,172,104,203,75,196,78,143,14, +106,191,93,8,200,249,163,7,133,135,36,225,213,114,9,127,199,215,236,241,67,67,67,112,229,149,87,126,0,133,164,251,198,27,111,252,240,75,153,73,236,140,9,208,6,122,13,115,108,84,254,129,186,102,82,168,201,198,133,213,168,163,133,42,180,243,17,76,136,72, +160,146,182,7,72,179,48,205,10,148,129,24,42,173,48,40,239,237,59,239,60,100,26,249,82,76,239,2,131,28,234,72,64,68,48,21,38,198,119,78,157,100,98,40,77,131,19,74,103,119,140,70,8,9,42,18,160,193,225,6,60,180,252,57,24,170,55,96,184,222,140,3,3,78,51, +87,112,226,107,149,18,244,118,149,161,187,90,134,158,90,10,19,198,247,225,223,21,232,63,48,0,239,124,231,31,92,85,198,159,27,110,184,225,131,121,158,215,33,16,75,58,38,4,29,115,2,121,242,210,128,233,211,133,118,13,105,142,2,82,74,177,58,6,176,100,198, +149,135,105,153,244,105,85,56,209,191,148,229,3,58,56,87,74,75,37,19,33,215,224,22,97,146,186,72,129,249,253,62,2,241,181,5,78,179,224,57,77,32,97,77,134,137,5,3,243,152,57,129,206,124,73,227,159,147,32,228,224,145,77,37,2,200,68,255,104,85,175,222,184, +3,46,186,230,179,144,181,154,40,192,89,160,188,187,36,19,227,5,18,74,105,2,189,181,42,76,28,215,13,179,167,77,132,227,143,156,10,139,143,153,14,115,167,245,193,187,175,124,231,31,214,106,213,210,71,63,250,177,107,236,228,235,78,106,130,206,8,128,69,220, +148,178,20,111,101,84,60,153,112,28,39,118,244,50,75,236,96,158,30,81,196,173,157,181,35,101,1,23,163,138,181,93,241,78,83,8,135,247,131,161,143,83,173,0,199,234,150,204,233,76,131,211,64,230,115,22,208,177,102,2,172,41,210,110,38,249,56,229,209,73,54, +13,153,209,66,102,182,37,115,9,2,124,104,76,129,179,77,198,44,152,201,77,165,225,135,122,1,240,154,78,187,122,20,216,55,48,12,187,246,15,194,211,235,183,195,157,15,62,133,154,161,2,71,207,154,12,23,158,122,20,188,254,245,111,188,162,89,31,26,188,254, +147,159,254,112,20,99,116,132,98,150,118,202,182,240,148,43,90,189,54,140,183,254,64,133,86,116,100,223,217,223,178,30,191,81,251,1,136,225,115,228,218,39,147,124,136,103,39,128,163,77,10,9,203,118,112,85,28,171,107,143,116,176,231,238,136,235,20,97, +228,202,99,8,32,130,31,97,160,93,171,17,172,32,230,13,197,14,168,118,60,2,86,65,210,57,50,172,41,248,115,84,9,135,15,137,246,199,132,146,138,77,139,142,194,68,9,81,72,169,205,224,235,8,35,89,243,252,46,88,177,126,23,252,112,217,90,248,163,55,93,120,213, +213,127,52,176,251,115,95,184,233,122,27,34,58,77,48,162,2,208,177,180,164,180,194,111,194,51,163,186,137,218,69,92,139,180,28,212,191,180,158,52,13,100,214,52,112,173,3,2,248,119,95,54,230,146,75,14,1,212,81,133,143,246,116,241,66,173,97,244,167,67, +23,217,52,85,101,1,130,134,216,79,16,96,75,26,237,177,101,233,51,138,44,108,96,4,128,159,21,9,12,78,60,218,30,122,200,180,4,162,84,65,161,47,227,163,130,130,83,197,123,198,191,211,10,63,11,122,46,133,223,5,14,132,76,202,120,157,18,62,151,0,205,63,140, +235,169,194,17,189,13,248,248,45,247,67,101,238,217,127,241,250,223,190,240,109,81,238,96,196,249,4,157,9,3,89,253,83,38,79,4,162,134,197,255,93,228,37,236,202,116,121,124,118,148,50,59,201,202,132,101,236,224,165,194,66,197,214,148,200,112,78,114,250, +164,203,210,197,252,1,79,244,208,62,18,241,224,148,22,62,139,72,166,195,107,29,105,28,68,83,10,170,141,214,128,128,248,105,79,74,49,56,6,213,190,74,156,244,180,82,70,115,86,9,230,58,179,160,133,214,150,136,10,177,20,70,101,106,246,57,55,78,143,171,114, +34,19,121,194,172,110,120,118,239,16,124,233,71,171,229,91,78,123,243,223,31,179,102,205,202,103,214,174,95,97,113,2,61,146,254,64,199,194,64,118,0,51,231,157,227,202,199,241,73,251,12,75,151,126,231,201,119,3,97,49,252,82,69,120,147,73,33,149,78,149, +79,192,4,228,71,251,9,54,170,217,240,0,77,49,169,17,38,158,84,31,93,152,236,159,182,254,136,51,13,236,108,166,210,168,105,17,21,152,70,174,187,240,180,38,11,70,89,170,153,214,134,14,38,75,41,126,55,92,193,9,174,116,190,241,132,87,56,115,13,149,85,175, +113,249,155,136,56,15,174,86,81,217,115,162,170,164,115,180,136,193,140,231,155,58,65,192,134,254,58,220,245,244,192,164,211,126,235,178,255,179,105,227,245,151,213,91,28,25,228,48,130,37,104,29,17,0,162,131,115,17,135,173,207,163,80,78,224,164,84,108, +193,71,174,131,142,38,225,112,28,63,151,227,19,62,89,40,162,156,66,228,0,138,224,13,50,25,163,165,125,138,89,75,221,22,142,26,164,79,104,233,41,99,206,46,27,184,217,56,101,30,150,148,161,154,41,111,69,0,79,102,52,129,210,218,230,29,72,250,80,133,167, +25,11,145,194,149,79,106,221,73,189,71,18,116,49,81,228,82,145,70,83,41,35,44,172,49,204,239,173,44,135,180,218,5,125,189,37,188,70,2,141,186,130,181,106,206,249,11,151,156,249,198,135,127,254,211,175,90,83,48,98,229,233,157,203,5,56,96,206,229,236,75, +70,32,168,58,184,148,82,20,96,110,63,177,89,57,199,194,17,73,80,231,62,190,207,139,231,245,56,191,93,98,169,211,28,150,228,9,73,96,4,185,101,232,4,140,94,34,138,122,119,89,242,204,19,83,185,108,193,32,123,195,94,221,27,36,51,32,132,84,17,100,32,229,132, +225,34,137,54,60,173,145,25,193,201,111,161,29,231,50,166,188,128,44,130,141,84,156,22,51,69,168,246,187,74,83,64,67,192,148,44,147,38,203,81,232,20,84,123,106,232,45,227,185,187,75,80,193,24,121,251,1,128,163,231,93,112,85,247,163,75,127,52,88,111,237, +143,176,129,23,29,21,116,68,0,18,107,111,149,50,54,218,140,173,128,129,97,227,21,151,241,170,92,60,172,3,247,206,171,121,187,218,157,58,246,4,78,25,105,13,207,221,11,30,180,112,145,133,108,163,144,5,228,151,39,165,11,39,126,225,180,18,60,185,181,9,215, +156,211,7,55,255,252,0,108,223,159,65,149,132,40,10,89,153,235,39,9,49,52,30,189,49,109,36,28,146,233,224,124,189,212,114,19,209,73,145,232,200,249,149,236,253,216,8,218,116,17,129,142,240,114,202,115,148,140,138,99,243,130,146,222,76,114,56,160,107, +48,125,114,13,146,205,3,24,82,162,128,100,25,236,42,31,181,184,103,250,188,211,6,215,173,184,219,206,91,238,60,150,209,23,6,58,86,79,20,3,209,252,214,81,59,82,229,15,199,222,100,87,69,88,29,206,44,178,182,109,153,76,160,112,1,191,5,116,140,41,176,159, +139,112,1,7,8,185,44,158,165,163,152,56,221,106,74,119,59,131,24,214,253,206,162,30,174,83,188,224,184,42,44,153,93,134,247,124,117,55,236,29,206,185,134,128,24,62,60,145,22,239,7,198,2,164,41,34,212,46,213,107,169,12,54,221,45,73,50,80,27,144,29,119, +61,6,60,6,16,117,159,209,81,166,210,84,79,211,12,68,13,48,72,19,224,156,14,0,250,0,147,169,119,1,1,71,248,26,122,187,77,140,28,242,169,167,156,15,235,86,252,196,46,147,17,65,8,59,19,6,218,213,152,150,101,112,128,169,226,7,205,192,222,97,109,28,95,17, +216,181,224,18,44,118,197,167,190,1,132,240,126,1,43,7,21,160,93,38,136,68,36,13,173,130,106,45,228,14,92,166,206,46,68,170,20,186,117,217,32,124,224,188,94,120,110,87,198,16,245,71,47,26,207,43,61,48,153,165,103,255,250,254,87,202,214,190,178,208,10, +227,240,73,19,2,82,52,128,241,31,30,95,1,42,5,224,208,143,194,187,196,134,125,20,22,82,8,72,97,95,90,14,97,97,153,222,171,154,71,153,30,93,144,84,186,249,185,171,187,23,195,85,243,72,171,125,104,230,186,161,107,246,226,147,40,147,220,198,36,26,133,140, +32,155,46,213,49,247,14,255,174,161,51,72,5,155,74,7,245,77,142,86,214,176,37,224,73,196,195,119,144,178,19,20,176,252,0,101,5,33,10,10,92,242,201,225,0,133,60,13,211,186,66,116,66,142,232,234,29,25,44,219,208,52,101,107,247,236,135,211,142,168,192,69, +11,106,140,81,184,18,115,71,23,43,85,13,145,68,250,123,177,92,64,233,84,63,97,0,104,255,211,148,31,70,32,74,102,162,147,146,41,30,73,12,239,221,189,103,142,71,39,47,49,241,63,189,71,127,211,103,74,149,10,236,207,203,176,109,16,223,47,163,25,40,147,64, +116,163,96,212,160,122,216,220,89,73,165,247,48,8,212,242,23,77,32,145,29,178,0,161,26,40,21,30,3,160,151,40,23,192,245,122,84,243,199,169,94,91,27,32,69,129,66,158,164,161,126,192,211,187,173,61,77,164,40,104,22,136,210,207,158,20,2,129,191,87,170,24, +225,32,220,128,34,20,250,252,237,143,13,195,171,142,172,48,73,245,150,135,73,35,140,131,233,227,82,31,254,25,219,30,120,127,34,9,204,31,10,31,77,101,144,52,19,44,13,32,100,4,32,225,94,2,36,73,50,53,88,1,135,140,73,252,25,247,57,35,20,137,21,28,122,173, +140,207,143,108,86,240,147,231,114,232,170,149,13,88,132,26,130,180,75,218,59,181,47,233,26,127,24,248,126,76,163,85,3,88,155,159,166,194,23,96,176,70,192,119,182,13,24,168,149,38,152,169,214,156,41,20,30,144,145,182,110,207,165,125,35,184,61,112,240, +146,182,112,209,230,29,152,0,162,116,84,121,36,124,24,22,4,5,189,126,60,199,210,231,154,240,196,230,22,92,177,164,27,254,253,145,33,232,71,111,252,207,207,31,199,247,108,194,82,237,23,153,65,32,101,160,161,218,92,133,249,82,38,79,32,64,134,116,49,72, +203,130,14,140,97,35,80,50,112,18,45,61,221,31,207,69,38,166,238,240,189,103,141,131,5,51,171,208,66,103,51,73,131,118,72,43,93,53,252,92,79,155,6,24,157,38,32,20,237,216,170,29,252,127,63,14,242,79,214,182,160,98,87,188,214,34,100,4,163,246,61,206,214, +7,226,101,168,5,76,236,228,211,192,103,22,124,35,97,74,219,8,25,210,179,124,3,107,135,72,38,105,197,56,113,84,120,250,181,199,135,225,156,163,42,48,185,55,129,143,222,181,31,78,71,141,240,219,243,107,172,21,204,106,215,158,32,226,39,77,68,154,64,90,109, +32,12,44,108,114,4,137,77,102,201,144,36,114,43,158,171,153,18,198,36,226,46,39,78,202,25,196,194,145,58,97,122,5,142,159,130,78,31,24,161,48,166,35,97,51,144,118,79,234,30,245,38,192,1,32,190,170,214,170,104,10,147,183,247,135,36,137,147,126,1,224,203, +186,60,93,76,134,194,146,144,255,21,33,214,135,160,29,192,37,115,36,4,150,15,4,190,191,141,206,88,224,200,215,164,82,244,46,20,134,7,214,54,96,115,127,14,151,157,212,5,43,183,103,240,221,149,195,240,167,103,247,193,172,9,41,155,41,176,89,96,111,22,164, +97,248,248,186,4,75,82,229,22,52,37,179,234,205,106,79,252,138,15,170,43,82,103,96,11,75,165,49,23,194,214,32,208,50,33,186,217,126,12,145,135,115,147,62,102,205,99,147,38,236,60,86,122,202,5,169,30,141,26,192,169,100,233,104,224,182,92,156,50,129,147, +123,165,143,176,56,127,239,226,99,136,34,2,16,62,42,48,38,93,251,122,62,23,50,154,170,161,192,242,117,147,99,30,142,26,166,11,62,4,245,26,184,120,81,13,142,152,148,194,129,33,205,149,74,183,62,60,4,191,125,124,21,142,198,215,110,198,232,96,235,254,28, +254,4,133,128,24,198,108,158,210,152,123,232,106,8,164,215,6,50,18,14,183,218,157,250,151,110,146,165,51,7,214,87,40,5,19,226,207,149,152,123,87,185,128,29,3,10,170,196,89,20,238,92,194,155,152,194,106,24,173,217,64,199,232,245,166,128,178,128,40,209, +199,79,79,225,164,89,41,78,132,48,89,64,221,230,241,203,80,78,110,86,191,246,116,49,55,233,177,179,232,35,134,168,28,32,20,112,72,203,68,50,172,34,210,208,51,199,167,112,218,156,18,76,236,146,240,230,83,186,224,168,41,41,124,251,201,6,108,220,155,195, +57,71,87,96,31,10,197,77,15,14,194,217,104,22,206,61,182,10,25,184,137,179,14,166,211,66,46,169,228,38,86,10,175,193,184,55,145,178,20,51,136,83,197,210,23,180,10,123,94,233,254,22,214,44,48,149,92,194,166,125,26,54,236,83,76,160,141,5,43,114,112,71, +44,35,216,49,62,64,112,188,140,141,167,129,57,237,240,20,118,13,90,251,110,33,82,231,164,185,100,13,153,80,10,13,181,11,239,82,59,249,153,9,231,210,82,244,245,85,72,16,8,151,109,115,180,18,247,159,205,75,15,214,53,188,239,213,85,152,135,147,190,104,122, +137,19,47,151,44,236,131,135,214,55,225,123,43,234,112,249,146,26,220,243,76,3,30,69,199,240,174,213,117,184,246,236,94,88,142,191,239,29,204,3,77,92,152,130,48,37,131,243,41,124,255,3,83,85,44,101,59,84,109,89,200,82,114,212,195,29,81,108,78,79,115, +158,201,28,164,108,249,59,117,78,249,206,202,6,167,206,107,101,105,252,36,233,213,28,20,147,221,163,84,3,184,16,206,241,239,93,28,62,185,71,194,164,158,80,171,47,69,168,208,117,199,123,154,151,8,182,215,81,182,211,52,208,175,165,101,249,10,219,136,194, +225,125,113,235,122,167,13,90,40,40,103,205,69,199,106,106,10,159,248,241,32,220,242,200,48,220,246,68,29,174,191,247,0,44,156,81,226,65,167,14,35,23,47,168,242,133,191,188,108,152,63,247,251,75,186,124,93,99,12,60,9,31,42,10,240,44,87,187,82,57,125, +45,165,175,64,230,242,52,171,37,18,219,115,16,108,89,185,193,19,140,26,75,236,10,111,161,9,88,56,189,140,90,42,69,43,104,35,133,168,143,65,161,40,114,180,10,128,47,202,53,237,121,109,129,7,192,129,134,134,241,85,81,76,236,136,98,223,64,22,160,196,76, +182,11,195,185,60,43,17,133,116,179,20,49,115,72,251,9,50,78,90,48,45,84,136,114,206,220,18,156,130,218,231,225,77,25,28,104,82,46,66,66,21,87,215,62,212,10,255,241,216,16,92,116,66,5,6,240,222,206,71,51,48,169,59,129,126,252,253,147,63,25,128,55,47, +234,98,1,105,217,116,51,200,56,212,179,68,151,184,17,133,141,108,28,12,45,18,7,34,5,129,33,130,137,140,177,6,215,231,192,254,77,207,39,160,134,234,174,26,191,73,104,17,133,147,133,46,136,163,156,17,36,163,178,43,27,226,80,77,64,119,89,88,46,158,246,37, +90,206,111,112,72,94,30,165,56,60,13,79,182,215,231,133,234,98,239,60,70,77,38,233,15,162,25,28,214,45,225,29,75,170,176,118,87,14,63,88,213,128,11,143,45,195,165,39,85,185,77,28,213,114,78,193,9,39,166,242,63,255,124,144,147,88,167,163,143,64,131,242, +228,214,12,190,247,84,29,174,126,117,47,116,87,100,212,156,34,80,195,101,91,191,1,25,119,63,113,213,197,73,226,7,194,125,7,173,33,162,150,7,27,79,218,190,138,227,115,204,228,212,39,145,124,118,84,201,23,213,21,252,37,22,128,8,168,137,90,188,82,207,69, +234,17,68,72,156,182,12,95,136,18,56,238,33,165,8,43,45,194,7,92,134,143,208,60,149,135,46,161,238,61,25,5,17,116,189,22,30,119,197,41,85,78,67,47,70,231,243,98,92,233,119,63,219,132,181,187,115,120,219,43,106,112,241,194,42,171,253,199,209,214,255,215, +147,117,248,241,51,77,35,0,212,32,26,231,237,63,31,31,134,217,19,18,120,195,130,46,162,139,66,34,99,92,66,248,22,49,161,54,80,88,141,39,11,42,91,68,52,115,136,194,195,80,168,106,5,3,167,163,134,23,158,53,161,100,250,37,137,8,133,148,35,105,249,95,130, +40,64,123,111,87,120,231,136,234,2,74,9,132,149,162,163,50,112,25,72,63,254,125,159,213,11,221,195,56,89,68,97,84,98,66,205,60,202,137,233,72,144,40,231,63,111,106,2,23,206,43,195,99,207,103,208,143,33,223,9,211,82,120,255,171,107,176,16,159,191,177, +188,14,75,14,47,193,124,252,253,17,124,159,60,242,175,61,58,12,139,103,150,225,60,52,5,196,190,236,199,251,189,121,217,16,188,251,244,46,152,57,33,69,193,139,48,9,17,248,140,126,66,45,54,19,23,149,136,184,51,137,51,29,50,216,254,184,67,133,19,4,106,140, +233,28,64,111,206,100,220,23,97,148,11,128,171,186,117,158,184,202,139,233,94,167,194,149,141,2,124,120,19,37,110,60,53,76,68,108,205,66,56,46,108,134,81,248,34,82,207,72,178,231,184,242,149,53,158,120,226,31,80,87,210,13,24,238,237,67,181,127,238,81, +101,248,223,191,213,13,199,162,170,253,171,239,13,192,211,168,238,39,161,73,88,191,87,193,143,86,55,224,210,197,53,198,44,168,157,205,61,207,54,88,99,92,253,234,110,40,227,164,84,202,214,121,107,155,10,33,226,213,236,112,127,17,18,86,82,20,89,79,174, +207,177,12,62,133,180,108,169,28,12,80,229,206,69,99,148,183,160,35,165,33,157,137,2,146,160,178,181,229,231,57,178,70,221,50,125,13,226,23,76,133,249,59,56,112,206,116,186,202,98,159,24,142,28,70,55,168,142,0,226,146,65,148,229,187,100,81,5,213,121, +10,159,91,58,12,219,7,20,28,49,49,225,9,39,129,122,22,39,116,74,175,132,109,7,20,172,217,147,195,210,141,166,136,131,162,129,127,195,8,160,15,29,176,197,232,252,53,149,17,180,207,254,108,0,78,157,93,130,11,230,85,216,140,37,73,148,21,108,23,133,168,27, +137,176,42,223,99,2,182,168,36,86,251,206,63,114,62,69,102,169,8,189,21,233,122,79,216,197,97,16,199,49,33,0,42,98,190,152,126,65,134,250,197,245,129,100,191,195,14,13,197,86,111,186,45,243,87,172,195,224,210,240,16,101,20,125,4,247,76,43,104,230,248, +4,222,115,122,13,190,255,116,19,142,64,27,62,136,66,119,235,163,13,216,188,95,193,113,83,18,56,122,146,100,98,202,223,221,51,8,91,251,53,244,148,141,62,167,46,163,207,239,83,240,99,212,2,255,235,180,46,126,157,108,241,38,124,237,43,24,58,94,117,70,23, +140,175,25,56,217,11,36,155,177,196,132,119,58,152,42,23,162,122,99,16,23,145,68,53,17,197,160,222,56,192,36,4,105,18,204,13,113,3,203,93,73,212,212,102,148,11,128,35,123,184,200,73,218,28,201,158,97,195,191,43,69,33,96,92,235,1,194,49,129,156,32,25, +79,190,48,144,142,78,173,124,201,79,168,66,182,97,223,59,78,169,112,191,225,79,220,51,204,190,192,226,153,37,56,227,136,20,126,182,174,5,255,250,112,157,87,248,173,191,172,195,186,221,138,87,125,96,36,9,168,225,202,251,183,95,14,179,250,63,227,240,50, +195,199,20,5,220,189,166,9,195,168,134,207,63,182,18,229,28,34,202,154,69,6,25,221,81,1,53,148,145,231,222,82,46,111,33,124,87,50,79,138,113,81,1,62,103,248,126,165,148,120,31,193,85,73,11,57,102,162,0,240,28,124,98,245,208,35,197,47,179,181,95,113,215, +240,90,41,146,228,56,215,11,161,4,156,158,166,244,8,56,231,200,18,80,157,101,158,71,172,112,199,234,245,221,155,140,208,145,202,62,250,48,116,252,142,45,193,39,127,58,12,115,38,74,152,62,78,194,39,239,27,102,40,250,236,185,37,56,27,207,247,20,39,126, +26,208,149,22,123,255,208,4,16,32,244,60,106,133,31,174,106,194,91,78,172,50,137,149,14,161,202,230,155,31,30,98,255,128,178,135,190,253,156,4,219,75,216,230,62,40,51,89,178,121,0,95,87,32,120,69,207,159,94,182,197,173,206,167,9,9,61,215,178,198,129, +142,61,101,23,41,133,246,55,162,160,85,70,179,19,24,131,52,142,162,133,95,132,237,167,0,31,78,57,2,105,92,69,236,104,88,180,199,0,169,235,19,166,75,254,156,230,14,99,130,87,81,211,170,73,202,216,13,103,154,87,57,77,16,201,213,7,207,173,193,79,159,203, +96,217,166,28,174,56,185,2,223,126,178,9,175,193,216,127,251,128,70,53,222,128,249,24,25,220,138,207,67,45,65,253,40,89,99,208,249,72,192,104,181,155,18,118,1,183,63,222,96,199,113,193,52,244,5,240,64,234,63,252,224,250,22,59,132,239,70,243,192,117,90, +74,176,96,145,150,34,225,163,207,183,50,67,120,161,246,244,117,46,44,22,48,128,2,124,220,148,18,10,84,141,209,235,36,21,145,249,51,131,197,125,21,109,93,35,251,73,145,178,103,82,141,160,202,169,145,159,171,180,83,2,32,227,86,174,194,72,189,100,7,205, +214,11,40,219,227,199,190,79,131,70,136,91,217,86,20,147,140,76,239,53,43,114,114,159,128,73,93,18,122,203,130,53,8,13,118,255,160,226,158,254,83,186,205,202,39,36,239,136,9,18,230,162,179,247,225,31,12,193,155,22,148,97,35,218,110,114,216,142,57,76, +194,255,93,214,128,15,157,83,131,95,160,195,183,106,71,14,199,77,53,251,21,84,113,4,168,13,61,237,65,48,13,29,67,250,123,24,7,122,0,255,190,107,117,19,222,188,160,10,203,183,14,178,0,150,48,190,191,13,67,197,27,223,216,135,161,101,5,238,127,174,9,227, +170,9,127,134,0,46,194,239,41,212,37,129,156,142,90,130,204,203,222,97,197,66,242,154,227,42,220,130,190,142,161,100,102,199,167,146,250,64,55,128,93,182,60,190,29,85,33,86,147,246,21,178,163,92,0,60,19,80,135,60,63,105,2,34,130,164,142,167,31,37,77, +104,226,79,158,149,192,5,199,148,216,71,32,167,141,42,136,142,64,21,62,174,42,224,134,139,186,112,64,165,47,54,161,202,226,6,10,18,77,26,197,234,100,46,104,18,142,69,245,255,197,95,212,25,196,89,60,35,129,207,254,188,1,87,157,94,129,187,158,105,113,236, +63,163,79,194,51,59,51,184,245,237,189,208,93,50,142,24,77,26,157,147,234,3,8,170,38,141,66,239,81,210,138,206,127,60,10,202,235,142,47,195,143,214,180,120,215,179,221,120,12,129,73,239,63,187,27,46,59,169,6,19,186,4,151,187,243,121,172,107,66,247,78, +27,92,144,102,161,239,187,3,163,141,105,120,237,241,232,123,92,119,65,47,244,160,224,145,134,163,161,33,146,204,55,158,168,195,206,1,179,43,9,119,71,151,194,251,22,2,2,40,146,36,35,238,3,118,70,0,50,234,199,111,54,227,66,181,108,28,189,52,209,76,116, +32,13,64,254,77,110,203,184,92,247,150,205,251,113,96,159,201,96,207,144,230,150,178,207,161,131,246,103,103,85,97,229,246,28,238,125,54,131,113,232,125,247,211,106,178,97,18,153,18,154,176,221,67,38,239,127,213,105,85,118,210,254,227,209,38,252,229, +249,53,248,33,78,250,34,20,2,154,132,173,120,238,79,189,190,6,255,244,179,97,206,7,156,56,61,195,207,42,158,224,76,25,210,7,97,18,253,77,211,199,144,118,13,33,83,64,231,163,213,252,246,87,84,97,35,250,5,235,247,229,92,87,112,231,234,22,99,9,59,135,20, +250,26,117,222,128,98,160,110,247,28,192,85,205,27,82,12,26,7,147,38,122,199,126,52,71,167,118,193,7,207,233,129,245,187,51,212,76,57,107,133,157,120,76,131,132,29,191,148,51,139,84,88,196,194,77,37,239,137,140,28,63,209,145,40,160,99,77,162,184,237, +171,20,33,36,180,68,254,3,77,179,82,28,248,145,101,198,177,217,57,8,176,165,223,32,56,36,32,175,152,158,192,172,241,168,254,51,9,27,246,74,94,165,147,186,18,219,47,0,24,212,153,130,171,239,149,179,83,152,136,207,111,59,177,12,31,248,222,16,156,127,76, +153,5,131,108,245,159,157,85,131,127,126,168,1,239,90,66,59,145,224,138,196,129,125,245,156,18,219,151,113,181,196,236,11,160,92,91,96,205,19,70,197,33,91,48,92,148,120,252,89,71,166,40,60,138,53,202,162,105,9,172,219,147,115,42,151,38,254,54,244,17, +46,123,69,133,253,148,181,123,0,182,13,100,144,104,194,241,19,60,119,201,132,164,182,15,209,94,156,232,25,118,183,52,34,123,44,223,146,177,0,36,73,200,138,66,212,254,70,138,208,76,211,107,0,29,154,109,140,122,1,224,184,63,238,137,45,108,107,23,124,94, +191,199,172,58,25,181,145,167,193,103,18,105,57,236,19,72,153,186,141,123,53,204,161,34,73,180,229,100,46,217,89,211,198,1,108,224,239,53,50,23,40,80,215,162,166,248,38,58,123,207,237,81,112,237,153,101,248,151,95,224,228,44,174,194,253,235,51,152,51, +94,194,146,217,9,124,232,251,67,140,8,42,138,22,90,134,160,146,89,65,109,178,227,134,39,182,29,76,114,219,222,110,39,254,189,106,167,130,233,125,45,56,239,168,18,44,221,208,226,80,150,60,244,123,215,54,225,204,35,74,240,174,83,107,240,109,140,40,166, +118,75,184,7,67,69,34,189,146,176,209,108,146,182,35,19,64,154,166,156,42,254,158,116,223,137,44,230,56,32,204,63,47,24,250,92,189,21,252,40,199,141,148,82,140,120,20,208,65,31,32,36,101,226,68,13,77,146,82,34,202,24,154,10,25,87,7,232,96,223,231,80, +80,14,176,115,38,224,89,52,7,213,196,36,99,204,150,47,198,127,216,129,239,159,62,167,204,234,242,11,184,210,175,56,169,12,43,208,100,80,248,56,9,181,194,215,150,231,240,15,175,171,193,151,208,1,92,181,51,103,167,139,122,245,20,174,5,33,165,156,171,224, +176,118,85,52,172,217,105,132,245,219,43,155,236,159,156,126,120,10,223,69,245,79,110,27,249,33,79,161,63,113,212,196,50,131,77,95,69,141,64,175,175,65,7,83,233,176,191,1,77,58,201,86,87,197,68,51,20,141,80,84,81,73,53,40,40,134,181,238,135,142,235,173, +70,57,5,89,204,179,140,137,48,208,209,163,220,239,180,167,35,169,212,203,22,151,76,97,72,148,43,144,110,27,152,136,33,76,168,220,44,140,225,155,153,249,189,92,178,217,56,59,94,52,49,39,76,149,240,251,39,151,217,217,163,173,104,200,9,252,57,122,249,111, +58,161,4,119,224,164,93,178,160,132,166,69,195,157,79,183,208,177,147,12,64,85,74,102,85,146,15,65,59,139,133,228,148,193,42,18,219,208,138,236,48,133,116,244,153,77,253,10,110,127,162,1,191,115,124,5,205,142,228,207,254,225,41,85,216,51,64,185,131,38, +28,137,206,234,132,46,201,247,78,247,74,219,217,149,233,122,137,241,244,19,75,74,109,100,218,11,190,182,57,126,33,139,137,32,122,108,71,167,113,114,79,98,57,131,129,38,39,58,160,1,58,135,4,10,139,153,131,1,130,40,175,95,207,73,125,130,165,133,7,226,72, +230,242,5,92,194,109,85,83,2,124,236,80,203,52,115,148,224,132,197,76,30,9,192,187,78,173,192,51,148,231,199,9,126,15,254,254,147,117,25,78,70,194,42,148,38,227,252,163,75,112,19,154,3,154,80,198,27,32,130,87,165,223,18,0,116,155,42,118,169,93,90,137, +20,147,87,240,243,223,121,186,201,78,219,229,139,43,112,229,41,21,120,4,157,201,71,54,231,158,77,228,154,98,248,60,8,132,126,201,244,218,14,252,44,221,215,140,190,196,147,98,157,141,151,82,20,118,45,33,31,166,86,114,168,167,163,207,119,32,23,220,49,36, +80,4,70,47,57,66,110,219,23,42,200,216,51,4,188,170,29,89,196,77,132,3,83,154,45,51,240,228,133,147,74,166,247,9,84,161,240,108,152,67,63,147,166,61,121,86,138,234,55,129,127,92,218,128,55,47,44,115,108,189,98,187,226,213,255,195,53,25,78,82,21,190,179, +162,9,171,182,102,166,47,129,227,85,40,83,29,148,101,130,169,98,116,45,138,44,72,77,83,56,106,0,29,243,160,152,125,0,35,151,93,196,210,197,207,239,69,159,96,238,4,180,245,207,182,56,42,249,203,115,107,76,44,161,72,228,45,39,86,184,194,152,170,206,201, +177,165,115,209,138,39,155,223,210,130,163,27,242,87,8,153,228,132,143,50,33,109,43,119,253,18,66,68,164,116,48,153,110,255,37,1,113,157,195,104,247,1,162,118,174,82,134,213,64,14,84,238,188,94,91,31,72,95,182,175,91,192,52,28,200,241,53,231,44,26,188, +128,18,47,36,0,23,29,151,242,138,160,243,141,199,21,183,27,207,115,233,43,74,240,61,92,249,253,117,128,55,204,47,193,223,223,95,135,183,160,202,95,177,45,71,83,32,249,179,119,60,157,113,10,151,38,185,100,213,77,220,7,128,194,61,98,8,167,86,8,89,179,104, +179,171,9,1,59,21,219,214,246,112,156,180,243,143,78,225,9,60,55,85,16,189,231,149,85,6,145,8,82,38,135,243,68,140,88,174,56,169,2,255,133,2,183,175,65,155,98,104,142,80,232,252,148,248,34,44,99,10,131,76,130,73,42,132,29,80,186,151,128,45,18,206,61, +24,85,144,16,185,144,47,87,209,122,143,247,43,2,49,54,112,0,15,98,216,58,62,55,230,42,218,209,67,89,181,78,216,127,13,39,235,117,199,37,108,63,9,68,217,143,43,124,11,198,238,132,238,209,224,30,137,171,142,86,38,173,34,202,217,95,138,126,196,14,116,166, +110,125,172,9,127,126,118,5,99,254,12,38,214,36,28,55,89,194,77,203,154,240,55,231,85,97,37,58,99,127,124,122,153,7,141,38,115,114,183,137,201,99,53,223,91,49,171,175,219,214,23,144,144,145,198,34,243,99,0,39,243,160,149,187,229,128,169,251,39,128,136, +142,126,108,115,6,55,254,108,24,239,187,12,139,103,166,44,212,127,253,91,93,140,42,146,86,112,63,180,107,169,11,255,40,156,252,93,12,29,47,152,87,102,13,71,223,103,8,191,216,138,109,25,236,220,144,153,98,63,187,111,98,195,22,164,72,81,4,255,70,218,8, +116,172,87,48,136,224,11,184,110,158,228,213,63,176,62,247,181,131,108,22,202,198,44,220,184,180,101,58,132,90,202,23,225,232,199,78,145,24,1,100,240,239,143,183,120,117,18,166,126,244,36,1,23,30,147,194,231,31,106,194,41,104,6,200,219,95,138,131,247, +151,231,84,224,235,43,50,120,203,194,18,135,141,255,180,212,56,134,52,1,180,18,201,236,12,56,219,42,141,223,65,130,70,128,77,217,98,243,21,27,146,130,101,20,145,230,104,102,218,135,159,202,180,8,64,143,191,201,161,231,245,175,235,230,144,240,190,117, +45,142,50,222,56,191,12,15,63,159,193,202,109,45,248,254,170,38,155,1,186,30,33,155,27,119,231,112,205,153,93,40,216,57,124,7,29,212,196,246,75,160,99,72,224,202,73,24,63,210,20,137,12,62,64,204,119,28,51,185,128,152,191,202,197,160,2,120,162,135,45, +234,229,108,191,147,234,212,150,132,49,224,81,66,53,140,131,190,26,99,240,149,219,13,150,222,208,198,107,191,26,87,245,131,27,114,120,20,29,176,79,189,190,10,55,63,218,132,11,81,61,179,10,197,143,207,70,117,253,241,123,27,184,178,4,172,219,163,60,63, +193,161,135,14,72,114,80,52,11,86,67,219,64,80,248,176,53,226,153,122,230,183,243,152,8,40,162,112,150,252,144,175,252,178,1,95,197,8,129,224,98,250,153,136,218,236,111,239,174,251,210,50,101,171,147,232,220,68,84,121,26,195,84,242,13,72,232,168,205, +80,218,182,196,201,208,145,227,59,99,156,233,118,46,74,157,115,0,59,136,3,224,68,55,140,221,141,251,63,144,93,158,84,51,212,172,36,122,207,109,0,17,84,136,225,12,220,191,46,231,137,162,85,62,190,10,112,202,236,132,243,3,127,121,215,48,92,246,138,50,172, +221,77,144,43,192,123,150,160,70,120,176,9,87,189,178,12,223,90,209,130,245,56,57,61,149,216,123,214,133,206,44,96,187,137,184,29,67,18,123,125,87,109,20,135,175,133,14,31,214,191,161,48,239,107,79,52,249,59,205,30,47,225,189,103,212,120,114,111,95,222, +132,183,45,42,195,155,23,148,57,227,88,182,244,117,210,237,21,188,151,255,196,215,8,2,161,207,199,187,161,197,125,164,18,105,28,70,130,147,57,138,138,27,100,142,88,111,176,142,227,0,24,11,87,44,47,48,248,133,92,19,64,206,147,210,80,192,181,11,50,30,119, +20,161,20,50,122,226,39,205,76,224,109,39,150,224,77,243,83,248,215,95,182,216,121,58,101,150,68,149,223,130,75,23,17,66,151,115,154,151,212,49,105,7,195,167,139,57,151,34,20,161,56,138,89,18,202,202,28,248,36,146,98,223,1,33,139,108,21,23,178,209,225, +251,208,25,36,223,224,156,163,74,60,249,55,63,210,68,181,223,130,181,40,124,239,56,185,10,11,166,165,188,210,93,9,28,117,61,105,218,104,199,51,153,68,208,48,177,246,36,144,137,34,157,112,195,225,123,140,29,66,8,132,22,47,142,219,71,94,190,243,184,99, +14,191,20,194,195,158,82,28,156,82,38,59,126,250,225,9,19,53,190,251,84,11,254,224,228,20,238,69,237,64,91,203,83,202,248,209,45,10,237,111,10,95,126,164,133,170,63,236,87,92,88,191,174,0,85,138,130,138,63,168,190,208,246,46,104,167,154,185,19,145,57, +154,137,190,197,7,207,169,241,10,39,8,122,90,175,73,57,19,124,253,45,140,4,136,131,248,254,179,106,48,17,157,193,86,94,228,62,200,136,217,234,38,52,110,133,111,198,41,116,58,113,91,221,134,250,201,49,130,4,166,73,188,237,171,81,121,83,186,165,217,55, +48,45,238,12,170,33,80,168,93,236,235,32,209,211,102,75,56,123,110,194,241,255,167,30,104,193,169,179,83,86,161,247,161,51,249,214,5,41,220,137,17,192,197,56,249,196,219,251,25,190,70,239,201,168,166,0,34,90,53,68,92,190,152,204,25,239,43,33,10,96,182, +240,5,172,126,27,27,43,148,183,163,99,250,47,15,25,158,33,169,236,139,142,43,177,160,62,137,161,226,210,245,25,227,8,215,188,186,102,242,13,162,77,179,104,40,144,97,227,58,10,186,119,114,78,183,246,231,193,239,136,37,112,172,64,193,14,107,247,245,13, +64,248,188,33,78,208,63,183,101,12,20,233,125,126,122,200,227,166,126,66,148,38,62,26,237,62,169,68,202,250,17,252,123,203,227,25,156,54,43,225,213,78,175,191,106,78,2,183,225,107,105,27,9,197,147,75,161,232,148,198,197,29,174,174,208,67,216,177,233, +136,150,167,235,91,64,2,176,5,67,193,205,232,205,83,116,241,228,214,156,191,219,214,3,26,206,58,178,196,128,21,1,69,95,248,69,157,57,14,175,63,222,132,124,113,31,227,120,197,199,85,47,116,12,69,34,132,101,44,223,106,114,23,133,141,52,198,138,9,16,174, +234,199,174,112,101,27,59,81,216,83,41,104,5,17,154,50,89,148,206,103,15,241,63,98,247,144,186,167,216,122,205,46,5,127,255,218,178,1,87,240,156,71,161,80,252,199,242,12,222,120,124,9,238,192,240,239,137,45,57,71,9,46,121,82,44,39,8,166,40,236,22,94, +132,174,61,28,91,164,40,122,96,211,149,123,209,57,19,109,252,19,18,184,141,251,76,244,241,12,134,129,4,21,83,8,71,218,138,34,5,98,33,17,92,125,88,143,240,232,159,239,131,32,14,50,241,222,4,82,253,226,254,58,248,220,71,39,183,18,235,216,182,113,113,173, +159,3,128,250,168,75,104,18,77,180,245,248,147,168,188,203,193,181,244,251,243,253,10,87,124,194,30,253,194,105,84,184,161,217,230,127,228,188,50,39,104,142,154,36,97,92,197,204,229,107,231,149,56,244,138,87,185,108,219,249,59,54,52,34,108,21,28,118, +5,21,109,142,105,155,48,184,29,71,125,193,167,69,23,73,237,159,122,120,10,191,124,222,168,109,210,20,68,38,93,186,49,103,92,224,242,147,42,28,218,77,236,22,108,26,221,247,110,247,1,220,46,246,19,80,200,187,92,20,163,138,161,245,152,40,13,115,3,236,74, +181,74,182,186,119,216,230,199,253,106,143,119,254,0,183,207,176,245,152,113,50,95,127,92,2,221,104,87,127,138,14,223,221,207,230,112,24,14,32,217,89,138,193,127,23,237,255,213,167,149,216,164,204,234,19,156,7,72,108,133,176,235,49,236,119,45,111,203, +189,251,38,20,34,218,75,74,67,180,145,85,216,68,66,20,2,65,104,203,227,11,46,230,36,237,67,248,195,225,19,36,196,95,171,134,223,227,182,199,155,76,71,163,36,210,37,11,202,94,43,6,83,21,101,2,165,137,0,22,78,79,216,17,212,174,56,244,224,242,147,209,45, +0,142,212,25,135,129,4,111,146,106,172,36,34,84,14,67,216,44,218,23,209,82,113,4,70,15,51,112,82,23,224,234,39,72,246,153,221,26,190,177,50,135,127,94,214,98,52,144,212,46,9,83,217,146,45,110,121,44,99,32,40,9,251,60,132,213,172,3,209,66,171,162,143, +160,189,105,16,81,206,34,216,127,87,182,85,104,241,19,103,13,45,127,143,114,28,228,132,158,55,55,101,138,151,115,112,73,133,147,217,35,200,154,76,193,137,211,211,66,116,114,176,73,55,23,39,254,99,201,22,206,198,218,106,12,153,0,17,86,75,228,188,42,11, +183,178,19,104,7,189,176,223,158,8,118,144,6,238,118,180,241,244,188,1,195,63,74,160,60,177,77,195,87,112,178,95,115,108,2,51,208,20,252,24,181,194,223,220,211,226,99,136,237,19,51,144,98,170,185,47,178,148,69,190,130,219,84,68,41,167,146,227,148,112, +196,100,242,234,58,50,15,50,0,74,20,14,254,96,85,6,139,112,130,123,184,174,191,72,222,32,184,153,82,188,228,163,176,153,146,193,5,105,159,87,242,45,136,64,90,16,188,88,32,199,132,19,40,98,96,179,40,12,206,83,215,2,66,46,220,142,132,107,50,173,237,234, +57,101,166,100,6,13,37,134,40,101,123,220,100,1,31,58,179,196,54,242,31,151,182,96,61,106,2,242,3,136,108,154,128,40,182,230,141,66,38,199,177,75,162,36,85,232,76,98,174,197,144,173,46,86,251,21,232,237,58,168,108,191,25,149,125,141,132,143,0,32,226, +15,206,159,156,216,52,179,161,192,159,59,151,72,48,101,120,104,83,198,32,216,164,30,9,245,150,201,66,182,59,158,116,186,46,180,18,68,132,17,237,9,0,209,25,37,208,209,30,65,70,162,129,85,58,49,119,91,121,100,71,117,176,207,42,108,31,234,109,44,77,202, +201,51,77,238,156,114,239,139,209,9,124,235,252,132,195,173,229,219,20,220,183,94,177,154,164,80,145,38,128,87,136,22,190,199,32,97,16,142,156,145,235,104,219,183,176,107,131,95,2,82,135,182,246,241,94,131,174,47,144,142,118,149,243,88,129,115,224,18, +237,203,209,239,93,155,113,65,42,113,17,201,124,189,105,190,9,11,191,248,112,19,38,163,6,59,117,22,250,45,103,84,152,241,188,245,128,66,13,150,153,108,169,243,66,173,111,192,77,52,92,47,2,29,76,21,140,149,100,144,91,85,153,219,17,197,198,220,76,19,79, +138,199,170,104,115,73,7,152,36,130,56,250,38,123,72,42,241,99,231,149,160,7,157,191,235,239,207,96,106,15,177,114,3,98,72,126,69,34,3,7,1,146,98,129,166,167,96,41,240,59,138,24,39,92,248,157,68,180,136,242,17,186,136,77,11,223,21,76,23,177,152,168,43, +57,21,171,92,124,66,137,11,78,169,80,229,10,92,241,196,34,254,225,154,22,252,98,83,206,254,202,73,51,36,223,51,53,200,160,227,127,176,170,101,32,235,130,99,106,190,75,79,197,148,166,115,201,89,42,138,224,148,24,3,132,16,13,80,64,244,160,205,4,164,182, +227,69,110,219,195,130,46,218,109,42,185,154,217,107,136,24,244,243,236,30,141,225,84,14,155,113,213,44,223,102,124,137,106,42,34,80,76,135,208,179,112,46,151,221,211,126,247,176,130,75,15,17,184,18,117,151,240,253,254,35,115,38,163,45,104,252,70,20, +246,56,114,76,215,162,163,122,198,156,132,193,170,183,206,40,193,87,30,109,194,234,93,102,135,210,185,19,4,92,186,168,204,224,206,39,239,171,115,129,72,119,57,160,131,89,22,239,146,98,55,218,140,157,82,29,37,140,198,66,101,144,176,118,95,218,189,242, +180,10,142,93,89,66,148,9,51,161,152,178,91,190,185,137,163,227,78,158,33,56,71,190,116,163,130,47,61,146,51,60,74,33,160,140,237,178,138,125,13,59,58,50,236,88,22,11,2,191,38,116,129,127,175,33,102,217,70,37,235,160,195,169,227,234,100,29,64,98,162, +125,185,38,146,4,12,17,63,144,132,148,38,238,202,37,37,248,61,156,240,183,44,208,108,178,166,246,8,206,92,18,85,141,252,3,106,66,21,171,126,79,255,6,67,139,35,106,58,245,7,112,249,0,223,181,184,3,136,80,199,52,128,86,81,79,67,219,231,55,203,225,160,186, +120,143,28,38,230,147,20,255,159,63,87,192,219,22,37,240,175,56,241,63,88,163,216,123,238,46,57,103,210,109,176,0,197,125,134,35,187,76,19,109,183,228,9,222,188,221,163,64,71,250,91,68,176,117,28,155,107,87,231,223,182,187,117,204,209,79,236,238,102, +238,126,136,109,108,10,59,77,244,66,0,22,105,131,39,112,213,19,64,244,212,246,220,39,182,32,152,124,147,124,74,220,86,50,230,117,202,151,84,146,32,108,29,164,3,116,74,3,152,1,39,254,126,26,65,191,74,155,108,154,107,33,163,245,33,136,35,76,2,21,240,216, +22,197,170,223,81,184,221,132,145,195,200,133,27,82,123,130,71,156,241,115,43,94,56,234,153,173,180,116,4,20,99,114,132,223,78,206,101,102,164,8,8,36,88,45,19,170,113,180,3,239,66,71,82,87,167,105,175,229,38,144,28,86,10,83,201,214,127,225,193,38,59, +134,36,192,229,164,40,64,49,196,172,93,46,0,204,121,154,89,104,136,21,51,130,59,145,11,232,24,35,168,90,54,180,174,184,91,22,141,121,57,177,197,143,194,168,89,173,61,71,211,116,2,149,164,78,53,172,216,97,106,254,202,9,20,120,113,50,41,218,110,215,110, +14,116,177,75,24,8,240,59,137,135,230,212,81,154,56,218,131,72,184,46,160,242,96,71,166,208,140,58,218,246,37,78,210,248,141,169,1,152,103,72,72,229,135,126,88,231,216,159,4,66,68,142,163,223,50,6,218,145,208,176,185,141,115,150,253,70,165,109,76,171, +49,161,1,180,223,216,33,212,223,185,9,98,74,116,28,142,153,173,249,124,232,67,234,148,251,237,218,12,156,178,198,218,169,251,36,41,94,77,218,102,17,34,222,20,188,96,47,163,77,164,197,193,106,95,251,30,204,214,38,183,229,8,130,169,113,93,78,139,231,113, +31,167,251,39,134,210,182,253,218,231,254,197,33,198,166,176,145,84,196,0,150,16,136,179,149,212,54,138,4,56,168,114,104,76,104,0,55,161,185,18,22,205,50,3,75,108,215,70,203,240,251,12,103,32,232,195,68,132,176,80,138,182,61,23,69,49,94,118,19,44,147, +192,242,117,30,191,136,106,17,221,184,229,182,99,137,49,61,186,184,202,33,218,152,26,138,152,68,12,25,20,246,33,210,197,200,193,161,138,137,48,219,215,59,155,161,227,238,206,81,24,25,218,202,128,239,132,238,180,9,71,57,174,129,166,8,173,117,199,20,16, +228,230,202,177,115,136,6,222,178,246,155,86,48,109,145,90,88,65,174,247,158,101,236,202,200,190,203,40,119,46,139,46,121,65,173,135,140,158,117,206,162,144,73,70,88,129,179,171,228,35,184,54,51,162,221,68,68,64,80,156,225,164,144,77,90,193,83,186,168, +89,188,121,208,109,2,165,163,13,236,69,177,149,110,172,17,132,173,91,160,66,24,21,169,124,237,251,229,141,124,109,96,199,162,0,186,223,136,13,229,155,31,180,148,235,237,223,22,79,219,15,58,213,47,226,73,134,104,155,54,8,228,8,165,28,216,108,95,179,230, +66,64,0,149,28,50,24,231,2,10,96,160,22,126,79,130,66,186,213,155,137,112,48,179,151,147,112,175,129,243,32,124,248,232,170,207,132,138,226,122,9,49,227,197,239,114,202,251,16,70,68,79,109,177,6,135,152,22,160,117,93,100,22,141,234,92,128,140,188,21, +29,227,216,194,132,55,198,35,54,85,51,237,85,15,162,144,199,143,153,189,197,228,146,95,213,246,197,56,157,91,224,36,68,61,254,115,21,175,186,54,14,98,16,165,2,46,4,5,8,57,36,149,28,233,68,229,174,99,104,200,64,138,200,68,21,168,104,113,10,24,196,193, +230,197,46,148,146,171,101,20,162,208,65,109,108,249,0,86,93,43,237,32,88,179,122,8,186,85,58,2,131,100,224,141,23,188,222,130,221,141,226,242,67,168,65,215,95,199,247,231,131,184,166,30,236,86,115,118,149,70,189,6,85,180,159,160,246,118,60,96,9,78,115, +105,221,230,221,66,240,228,147,164,232,76,138,8,62,244,145,131,40,250,26,225,52,145,79,210,102,231,185,84,61,10,55,164,56,120,1,140,106,31,160,221,129,35,141,72,144,41,225,226,220,47,47,115,201,128,226,38,24,194,218,111,95,185,91,72,196,184,190,130,218, +227,230,45,21,200,154,89,30,146,58,194,122,216,34,210,42,166,179,152,221,203,72,216,182,180,34,56,111,34,236,84,83,248,6,137,253,60,197,231,132,109,112,163,9,123,47,220,222,54,210,20,206,55,116,197,39,110,99,44,25,33,122,174,80,165,8,133,153,66,90,178, +255,180,72,220,66,137,70,101,140,85,6,217,65,35,239,155,138,58,102,99,124,76,137,156,185,19,5,156,60,195,148,126,75,97,160,97,105,118,104,101,219,71,95,156,24,181,132,152,141,171,154,247,232,117,130,135,221,68,236,107,8,230,9,238,29,2,56,98,60,112,82, +229,121,12,189,38,213,240,51,21,19,22,238,26,50,208,49,13,34,37,105,182,15,106,152,61,78,112,238,62,181,89,196,84,218,142,28,220,108,202,148,175,143,167,68,76,9,56,25,69,19,78,200,36,237,118,186,183,174,97,201,44,227,196,174,219,171,97,98,205,117,243, +4,139,85,104,190,15,7,78,165,118,222,92,71,19,170,121,204,181,233,72,70,8,33,245,40,116,120,63,193,191,116,143,68,150,161,251,57,12,223,167,38,23,68,55,175,103,218,131,103,157,176,3,29,235,16,162,162,237,119,41,251,117,252,97,0,11,167,0,204,236,5,184, +98,145,33,73,58,53,237,26,39,56,76,159,212,53,173,132,221,195,118,187,87,101,124,7,154,176,61,56,81,83,169,158,14,117,39,77,250,107,143,150,240,244,78,83,122,253,150,249,102,68,155,185,89,83,187,135,12,248,68,19,252,179,141,38,54,63,247,72,193,19,208, +202,227,240,48,20,175,210,158,6,156,97,180,176,237,222,186,81,209,148,147,56,227,240,132,191,203,55,87,102,208,87,54,181,0,115,198,11,230,39,72,203,254,73,133,105,128,165,180,235,12,106,206,229,198,130,132,138,190,15,17,72,57,85,110,191,122,45,53,130, +73,130,75,61,7,22,78,77,120,12,239,91,159,113,65,170,28,75,124,0,215,236,89,89,111,126,235,128,134,245,253,0,143,108,5,184,124,33,192,77,143,152,186,121,167,114,115,229,236,92,112,195,92,101,110,28,82,106,27,38,73,155,237,161,149,247,240,230,220,167, +132,87,218,246,44,185,14,154,195,69,36,174,169,196,99,91,205,117,114,21,32,107,119,17,186,103,42,214,204,84,112,218,232,92,196,59,160,201,161,114,240,92,25,95,166,133,179,243,243,77,10,22,76,149,92,169,236,218,213,57,187,231,118,43,215,16,21,157,136, +32,208,153,138,240,8,208,222,95,162,206,100,127,117,158,128,7,112,226,151,174,87,172,41,211,14,237,21,208,113,31,192,154,120,254,114,4,108,152,150,41,38,60,116,106,173,156,154,166,82,220,82,30,66,92,78,19,70,239,233,98,212,239,193,30,167,61,104,66,232, +188,52,73,196,194,105,240,214,176,218,191,206,126,130,189,22,245,18,108,229,96,241,8,115,70,122,45,142,68,41,205,204,43,57,49,164,78,18,22,90,181,195,182,189,93,26,119,246,194,159,107,78,79,225,91,79,229,240,253,213,57,171,117,37,98,175,63,14,228,131, +127,64,223,171,12,193,161,116,206,168,243,65,73,96,103,244,74,188,150,235,103,36,138,137,161,81,143,3,232,54,127,0,140,141,215,218,242,1,162,228,139,11,183,146,196,149,95,11,191,151,64,33,7,110,125,132,68,22,17,146,139,230,73,84,199,0,119,172,50,219, +172,189,245,4,9,71,79,50,43,233,171,79,42,216,124,64,195,25,179,105,203,90,128,85,104,42,166,245,80,67,73,1,199,29,102,26,71,124,111,181,226,234,96,233,55,152,2,56,21,109,253,155,230,39,92,203,72,130,66,171,245,75,191,204,80,195,152,228,148,243,15,201, +87,32,142,227,225,227,12,129,195,237,94,86,8,22,28,74,9,224,55,189,212,174,41,86,180,249,53,143,153,213,132,68,112,165,156,130,217,244,82,20,106,3,197,88,32,132,20,90,196,58,147,96,195,187,220,82,156,104,37,41,155,182,21,81,38,207,173,198,68,4,47,219, +13,64,10,80,64,8,7,51,227,107,76,233,70,191,160,91,192,187,78,18,156,54,190,111,189,153,244,249,147,5,172,223,7,248,44,209,1,212,232,131,80,7,112,193,44,99,42,227,38,71,240,91,43,131,64,113,27,55,92,233,167,206,164,182,180,0,95,88,150,113,73,251,153, +71,72,184,224,232,4,150,163,9,40,69,223,137,142,37,7,113,83,191,225,44,86,29,27,73,132,253,139,93,218,218,224,22,246,230,19,93,40,248,245,225,38,185,48,153,233,82,74,20,248,208,22,230,96,178,205,152,72,7,183,237,226,238,179,127,126,83,8,27,187,75,27, +235,58,127,32,46,148,136,83,111,28,115,71,182,155,22,221,172,62,116,46,167,154,118,44,107,112,98,111,91,158,195,150,253,192,205,33,136,136,49,161,166,225,152,73,134,185,251,253,53,26,254,238,126,197,228,146,171,150,72,184,125,133,105,232,92,182,177,124, +142,75,242,221,248,58,57,137,31,190,43,99,178,41,93,103,220,118,197,93,198,226,118,245,14,157,163,251,37,199,77,66,12,109,71,249,4,89,100,42,233,182,12,100,1,149,180,191,83,83,137,106,42,10,215,235,20,45,160,163,148,48,165,219,38,220,62,68,140,228,65, +128,83,217,211,77,244,65,38,196,21,143,122,251,31,49,117,72,237,111,57,0,112,221,143,21,59,131,139,80,24,174,62,213,52,145,254,47,180,203,164,230,191,182,82,115,45,193,115,123,169,164,76,192,181,231,74,120,240,121,205,225,92,197,66,187,100,227,95,131, +17,197,60,52,15,159,184,159,120,124,52,9,102,162,201,204,124,107,165,242,29,66,92,226,9,236,189,164,50,84,124,250,4,146,138,167,75,31,52,115,142,21,237,56,0,30,238,181,77,177,148,142,43,148,139,40,229,152,241,1,220,228,43,21,160,83,170,123,203,20,28, +148,186,13,57,30,225,119,10,215,186,152,182,117,197,28,198,103,48,145,196,166,126,154,84,96,149,127,44,174,244,87,206,20,240,115,156,220,47,62,170,208,15,32,42,152,134,109,7,140,118,57,115,142,128,223,69,31,225,199,235,20,220,185,198,109,97,103,106,22, +79,64,243,112,246,17,102,242,7,154,198,81,163,46,35,239,58,217,148,164,173,222,69,20,116,211,61,52,87,97,98,18,25,109,113,15,109,124,3,93,212,8,46,101,29,231,255,189,143,160,194,251,121,244,123,188,16,164,28,51,56,192,193,25,56,14,159,164,89,177,49,171, +54,102,201,20,49,239,40,77,44,205,231,101,52,192,50,218,137,139,156,184,75,142,23,176,31,39,238,134,7,21,172,221,27,162,8,106,245,118,56,198,234,111,61,65,160,159,0,236,31,252,232,217,104,247,50,155,96,57,13,29,191,239,162,67,216,223,48,145,193,32,158, +235,242,19,165,233,56,186,66,177,90,190,246,85,9,220,250,120,14,203,158,215,140,7,144,80,53,50,155,242,246,221,81,131,199,175,116,123,5,80,68,5,106,203,62,130,173,138,18,185,113,44,101,167,116,254,75,233,4,198,3,225,251,244,88,228,79,29,226,120,125,136, +191,67,137,132,134,2,117,95,7,231,242,169,93,2,109,191,1,86,52,24,224,137,219,201,250,162,84,128,135,112,210,86,108,7,56,107,14,192,95,159,45,225,254,13,26,126,138,194,64,220,75,138,34,158,223,79,199,4,28,254,117,199,72,152,143,90,225,147,15,228,133, +154,198,75,78,72,24,111,32,192,200,212,3,0,119,55,247,85,69,17,92,29,247,65,138,211,196,34,34,177,22,82,208,161,154,13,6,91,112,16,25,100,76,241,1,68,187,195,7,134,12,34,45,50,214,178,89,180,66,189,67,59,21,219,130,38,137,12,121,126,41,66,66,136,86,234, +145,227,9,104,162,73,16,140,49,56,30,64,154,20,7,141,158,31,223,166,97,229,78,179,218,201,20,28,142,145,193,82,20,132,33,140,81,47,56,74,114,219,246,153,24,127,47,152,106,52,192,103,31,50,221,61,73,160,136,236,249,237,167,21,58,143,9,124,252,130,4,158, +218,105,64,35,242,25,68,236,179,68,169,95,29,243,18,116,155,75,224,106,19,219,55,152,210,6,127,232,42,71,93,66,196,161,179,161,163,86,0,148,237,188,153,200,208,245,82,139,34,186,231,83,177,162,152,72,241,27,68,138,80,34,118,144,105,208,38,212,162,129, +58,124,156,17,128,99,38,154,149,187,125,80,248,213,170,109,79,98,202,23,80,149,49,65,187,164,250,31,222,66,14,33,65,199,2,150,160,207,240,205,167,52,252,4,253,130,11,142,18,176,17,125,138,59,159,209,92,135,216,178,17,2,229,43,114,124,190,31,53,70,63, +74,49,249,11,4,255,206,193,248,159,144,197,237,131,1,32,42,164,182,221,54,243,142,254,165,161,141,107,216,174,231,205,253,146,51,75,205,52,124,91,24,8,96,208,152,208,0,50,74,4,57,27,72,130,64,136,26,217,88,128,98,91,22,104,235,38,70,100,10,157,188,64, +131,68,175,29,4,59,148,247,174,55,43,113,207,112,128,124,195,249,77,183,207,239,174,54,222,122,57,117,184,59,112,136,247,197,71,12,13,141,176,247,187,215,105,184,119,157,137,231,133,77,82,49,18,137,3,95,207,77,181,18,253,77,130,65,147,238,64,45,247,125, +211,56,29,221,214,217,141,125,160,60,56,183,208,150,93,22,158,161,102,34,33,82,255,32,224,16,219,230,142,149,40,0,14,102,176,58,65,24,110,5,252,61,142,22,226,205,18,226,98,204,118,240,35,166,146,147,9,248,209,90,71,57,119,27,81,68,225,163,133,148,247, +212,133,157,176,208,46,206,249,34,238,167,108,255,72,109,24,26,53,15,243,223,64,90,232,24,32,28,19,227,30,16,225,22,34,226,249,199,196,144,66,17,75,251,152,89,97,162,76,228,222,225,182,250,137,177,214,40,50,6,55,180,181,255,101,155,15,24,104,69,27,69, +199,155,62,199,181,252,16,146,48,78,30,28,72,148,202,162,57,73,109,131,73,247,190,178,57,250,196,35,143,118,75,214,220,109,59,175,3,141,60,234,81,148,235,40,204,180,36,85,16,224,51,151,46,151,159,41,115,12,245,252,111,230,65,104,93,164,66,188,132,82, +18,42,127,169,233,131,107,84,233,252,33,179,231,128,209,94,78,115,105,139,46,186,42,42,170,34,174,37,197,60,193,216,114,2,237,128,81,248,69,233,224,201,93,230,249,125,75,66,122,215,37,114,220,100,186,238,221,52,0,142,51,224,200,30,77,43,68,148,63,223, +107,83,197,79,239,38,155,14,112,88,13,224,202,197,230,156,131,56,112,247,109,0,120,20,85,245,226,105,6,39,152,80,17,92,122,93,225,235,153,201,241,8,160,178,37,89,173,48,161,132,28,186,247,135,178,64,58,33,218,55,9,10,149,166,63,180,9,224,13,243,4,188, +114,150,225,1,56,243,70,152,193,119,87,41,254,78,139,103,160,159,49,67,50,48,85,181,123,21,184,212,51,105,195,125,195,166,52,142,28,77,250,62,196,75,152,217,103,146,90,148,226,94,246,188,178,66,49,134,146,65,74,199,182,218,124,201,85,187,240,245,137, +38,191,78,213,189,228,232,48,195,198,18,38,90,42,80,193,105,160,105,112,104,176,27,150,87,64,152,66,201,106,131,129,38,248,76,222,160,205,221,211,196,253,98,179,37,112,212,9,158,53,131,70,222,58,145,65,142,28,175,57,28,108,229,38,107,152,217,32,189,110, +181,145,203,28,210,15,13,248,142,65,109,1,25,211,213,164,156,152,110,36,84,6,78,0,82,211,166,154,105,191,32,234,48,62,216,48,215,230,142,232,246,126,9,205,165,4,18,77,234,220,9,230,125,66,249,92,250,155,206,75,215,37,97,39,252,159,62,71,190,199,130,169, +70,155,81,111,4,231,68,139,168,109,252,232,119,2,163,80,135,51,108,218,192,181,68,240,160,213,244,179,141,70,109,171,54,130,102,59,56,34,69,177,239,176,138,184,247,142,61,91,178,125,135,41,86,191,103,93,40,59,115,236,33,26,235,109,3,130,227,124,215,8, +218,215,225,181,133,86,204,32,142,248,3,142,150,38,162,164,149,243,55,192,10,205,170,221,26,86,236,140,170,146,173,149,119,81,1,29,74,144,51,229,41,138,102,95,251,251,8,147,107,132,207,165,158,151,111,211,156,176,138,125,34,61,194,13,99,71,82,0,10,157, +81,10,217,46,235,49,147,132,63,177,205,168,118,120,1,71,47,238,152,217,158,19,72,100,97,32,66,189,157,157,52,10,243,218,9,165,46,133,156,200,16,66,130,173,86,58,40,186,108,171,193,246,141,172,218,170,137,147,40,118,45,91,150,179,46,248,117,193,209,243, +41,112,155,70,86,170,152,228,210,81,197,19,251,61,168,165,54,237,55,254,7,117,20,209,177,183,92,116,172,245,136,45,214,17,22,2,93,104,200,24,197,246,90,5,10,148,251,201,219,154,38,197,43,211,161,135,113,157,124,124,94,25,61,199,4,210,104,3,14,207,251, +139,67,79,13,194,87,10,123,169,85,49,108,43,60,47,161,208,109,52,186,166,214,1,186,19,1,1,46,134,173,81,18,71,68,59,128,20,90,207,129,40,180,141,245,187,134,196,209,83,177,48,84,143,70,19,16,19,119,242,82,181,183,82,65,199,175,149,20,165,190,189,39,46, +143,97,110,202,161,29,4,75,15,19,127,155,155,115,161,225,161,42,98,148,45,36,73,147,67,39,164,220,245,148,58,24,158,54,161,155,240,25,56,95,189,163,99,115,19,232,221,90,31,164,138,219,206,117,80,239,137,67,212,22,192,65,125,140,116,187,22,212,47,16,250, +218,106,36,153,114,125,121,62,26,77,128,178,55,150,173,249,201,173,119,111,95,117,196,166,172,149,83,85,127,154,229,198,137,117,164,16,1,135,224,246,139,118,53,218,86,78,173,219,38,49,154,48,41,95,88,0,218,127,47,12,124,97,53,191,240,218,10,247,170,15, +50,109,193,124,196,26,76,31,114,137,28,98,135,184,131,175,81,104,88,194,229,225,44,231,82,138,166,72,74,195,3,59,55,108,115,202,115,36,180,193,72,106,0,199,246,111,61,122,251,199,111,197,103,244,123,97,28,1,111,54,36,239,104,103,242,223,224,31,154,104, +10,48,7,240,177,219,62,231,246,161,94,172,16,164,35,52,249,218,222,16,5,104,131,246,188,37,123,131,131,86,0,196,203,115,249,43,143,45,129,195,24,67,65,221,142,103,221,46,182,81,165,1,98,1,80,246,38,43,246,26,226,101,1,120,81,166,85,217,177,173,71,130, +144,65,49,171,62,42,124,128,150,21,134,204,222,164,235,223,249,242,228,191,120,45,144,217,69,214,178,143,28,70,0,19,24,233,40,32,111,211,6,241,202,127,89,8,126,245,113,133,200,222,143,136,237,31,17,1,160,141,152,149,82,135,18,130,67,181,194,125,89,0, +94,156,0,232,23,120,134,102,179,249,235,17,128,9,19,38,192,59,223,249,206,152,182,172,169,75,67,169,119,178,110,237,223,246,242,196,143,188,48,28,50,88,157,63,127,254,175,124,82,161,71,186,231,200,203,63,99,234,231,229,216,252,127,248,207,255,19,96,0, +221,83,18,25,240,8,112,38,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* projectIconXcode_png = (const char*) temp_binary_data_34; + +//================== projectIconXcodeIOS.png ================== +static const unsigned char temp_binary_data_35[] = +{ 137,80,78,71,13,10,26,10,0,0,0,13,73,72,68,82,0,0,0,128,0,0,0,128,8,6,0,0,0,195,62,97,203,0,0,0,25,116,69,88,116,83,111,102,116,119,97,114,101,0,65,100,111,98,101,32,73,109,97,103,101,82,101,97,100,121,113,201,101,60,0,0,3,134,105,84,88,116,88,77,76, +58,99,111,109,46,97,100,111,98,101,46,120,109,112,0,0,0,0,0,60,63,120,112,97,99,107,101,116,32,98,101,103,105,110,61,34,239,187,191,34,32,105,100,61,34,87,53,77,48,77,112,67,101,104,105,72,122,114,101,83,122,78,84,99,122,107,99,57,100,34,63,62,32,60, +120,58,120,109,112,109,101,116,97,32,120,109,108,110,115,58,120,61,34,97,100,111,98,101,58,110,115,58,109,101,116,97,47,34,32,120,58,120,109,112,116,107,61,34,65,100,111,98,101,32,88,77,80,32,67,111,114,101,32,53,46,54,45,99,48,49,52,32,55,57,46,49,53, +54,55,57,55,44,32,50,48,49,52,47,48,56,47,50,48,45,48,57,58,53,51,58,48,50,32,32,32,32,32,32,32,32,34,62,32,60,114,100,102,58,82,68,70,32,120,109,108,110,115,58,114,100,102,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57, +57,57,47,48,50,47,50,50,45,114,100,102,45,115,121,110,116,97,120,45,110,115,35,34,62,32,60,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,32,114,100,102,58,97,98,111,117,116,61,34,34,32,120,109,108,110,115,58,120,109,112,77,77,61,34,104,116, +116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,109,109,47,34,32,120,109,108,110,115,58,115,116,82,101,102,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47, +115,84,121,112,101,47,82,101,115,111,117,114,99,101,82,101,102,35,34,32,120,109,108,110,115,58,120,109,112,61,34,104,116,116,112,58,47,47,110,115,46,97,100,111,98,101,46,99,111,109,47,120,97,112,47,49,46,48,47,34,32,120,109,112,77,77,58,79,114,105,103, +105,110,97,108,68,111,99,117,109,101,110,116,73,68,61,34,120,109,112,46,100,105,100,58,51,51,101,53,51,101,51,102,45,98,98,100,52,45,52,48,99,99,45,98,54,100,55,45,53,100,52,100,102,52,50,56,99,56,52,54,34,32,120,109,112,77,77,58,68,111,99,117,109,101, +110,116,73,68,61,34,120,109,112,46,100,105,100,58,49,51,54,56,69,69,55,52,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,77,77,58,73,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,49,51, +54,56,69,69,55,51,52,67,55,57,49,49,69,52,57,54,50,67,65,49,51,66,54,69,53,52,48,69,51,54,34,32,120,109,112,58,67,114,101,97,116,111,114,84,111,111,108,61,34,65,100,111,98,101,32,80,104,111,116,111,115,104,111,112,32,67,67,32,50,48,49,52,32,40,77,97, +99,105,110,116,111,115,104,41,34,62,32,60,120,109,112,77,77,58,68,101,114,105,118,101,100,70,114,111,109,32,115,116,82,101,102,58,105,110,115,116,97,110,99,101,73,68,61,34,120,109,112,46,105,105,100,58,97,101,56,50,49,51,51,49,45,49,102,97,102,45,52, +54,50,98,45,98,55,53,49,45,100,52,97,48,53,100,55,52,102,56,54,100,34,32,115,116,82,101,102,58,100,111,99,117,109,101,110,116,73,68,61,34,97,100,111,98,101,58,100,111,99,105,100,58,112,104,111,116,111,115,104,111,112,58,55,51,55,51,98,57,100,51,45,57, +52,100,100,45,49,49,55,55,45,97,53,100,98,45,56,53,99,49,100,48,98,53,54,97,53,50,34,47,62,32,60,47,114,100,102,58,68,101,115,99,114,105,112,116,105,111,110,62,32,60,47,114,100,102,58,82,68,70,62,32,60,47,120,58,120,109,112,109,101,116,97,62,32,60,63, +120,112,97,99,107,101,116,32,101,110,100,61,34,114,34,63,62,236,65,16,56,0,0,66,207,73,68,65,84,120,218,236,125,7,124,28,213,157,255,247,189,153,45,146,44,201,189,247,130,113,5,108,156,64,232,112,148,4,114,144,0,151,127,192,164,28,185,75,15,23,184,75, +46,151,92,146,203,125,46,201,229,18,72,114,185,112,164,83,19,122,66,9,189,184,226,130,141,193,54,238,189,219,146,37,89,109,87,187,51,239,255,126,175,204,188,93,175,100,201,182,44,147,67,254,140,87,154,157,157,153,157,95,251,254,234,99,66,8,28,237,79, +54,155,197,186,117,235,112,44,231,120,247,231,216,127,70,140,24,129,190,125,251,30,213,103,253,99,185,240,182,109,219,112,206,57,231,32,12,195,82,111,179,191,160,103,124,82,115,248,93,119,221,133,217,179,103,159,120,6,32,194,55,53,53,21,19,157,153,7, +198,138,24,129,157,36,132,20,37,24,149,181,67,104,230,236,19,69,191,159,52,63,185,92,238,168,63,235,31,235,197,57,231,86,3,216,7,233,129,177,4,4,147,175,224,116,72,187,12,64,166,131,177,19,70,123,198,125,230,247,26,152,146,215,100,246,250,249,166,3,25, +17,230,133,115,79,97,194,103,129,207,145,15,114,97,91,155,64,80,226,121,133,237,48,83,143,252,176,99,120,134,254,241,186,7,67,104,143,110,103,236,236,187,127,81,54,248,212,247,136,48,203,132,124,84,34,16,44,204,67,120,105,166,158,24,103,180,15,26,59, +112,253,105,250,18,234,105,6,66,171,15,121,144,134,22,250,25,139,208,188,202,207,49,63,230,39,218,79,223,95,189,111,88,48,204,135,96,30,139,153,12,230,90,158,207,253,138,1,41,97,5,91,126,38,215,176,47,43,68,62,100,92,31,19,10,17,244,43,99,45,233,48,104, +14,155,247,29,100,109,123,119,121,117,27,215,182,237,95,179,98,235,186,55,223,58,80,223,92,47,63,156,112,24,33,124,39,152,137,19,197,0,242,193,136,68,217,128,177,19,122,141,152,62,33,200,182,90,242,33,144,132,171,42,227,168,72,49,236,105,12,52,221,153, +33,178,101,4,58,90,40,110,32,65,140,137,44,153,130,132,148,39,25,2,41,146,220,220,181,58,132,195,97,16,161,206,37,138,245,141,48,12,192,228,123,249,124,244,187,210,96,169,170,232,88,97,62,223,36,207,117,136,180,90,197,68,169,225,128,228,168,60,6,164, +90,197,229,87,109,93,153,223,248,204,189,243,158,125,248,158,93,251,14,214,200,143,36,229,150,119,52,194,255,73,6,136,85,191,126,32,21,34,159,9,69,62,43,127,109,83,18,173,68,69,62,216,193,149,62,6,246,242,176,237,64,6,105,159,33,116,45,108,94,211,94, +169,106,197,0,6,70,48,205,0,138,54,121,173,61,194,0,145,212,179,80,196,166,154,185,26,193,144,148,24,34,208,196,229,30,115,172,125,104,152,38,175,52,129,58,78,104,13,196,60,33,191,12,253,29,64,100,243,104,149,23,220,84,159,101,235,243,125,167,15,31,114, +211,127,93,123,235,197,31,91,245,204,207,190,250,242,171,243,158,119,152,0,39,147,89,232,180,9,63,142,26,192,50,64,185,8,67,95,17,144,136,33,31,58,109,82,240,48,176,66,50,64,165,103,121,2,134,222,32,245,203,36,67,208,63,110,237,153,145,110,230,226,5, +171,44,98,122,199,234,157,46,151,13,141,66,102,218,46,10,125,30,70,210,30,26,45,65,247,100,142,103,14,3,146,201,209,247,33,52,19,24,13,197,36,24,32,156,147,240,184,252,114,33,118,238,111,192,195,111,39,167,141,187,234,107,143,207,190,225,163,95,52,103, +72,26,97,98,239,52,239,135,31,199,115,49,243,16,210,242,129,123,220,216,96,230,216,239,129,85,28,30,215,196,137,30,184,135,66,66,105,11,160,143,49,68,35,6,226,9,115,62,251,158,18,119,195,52,134,201,152,97,152,8,19,9,251,158,36,162,175,223,183,231,87, +92,24,144,86,208,12,24,169,50,69,116,166,180,142,58,187,48,231,246,61,121,15,30,146,41,15,62,15,240,232,146,3,169,202,51,63,118,199,151,190,240,185,175,152,111,144,120,39,50,193,241,198,0,6,7,144,32,51,120,9,46,109,191,64,155,180,223,45,210,118,79,24, +232,99,71,93,160,126,103,48,42,159,176,153,208,106,183,45,208,39,72,250,26,16,230,115,26,59,72,8,169,25,70,30,31,228,181,253,166,143,166,19,250,184,214,140,196,8,146,81,146,242,111,73,39,100,114,161,50,19,33,17,217,115,181,132,84,237,92,51,85,62,8,245, +181,67,109,158,104,127,66,158,55,32,207,128,62,47,49,64,32,143,11,233,166,228,245,149,214,9,57,114,121,105,28,66,174,110,252,183,207,111,196,215,175,255,240,191,221,122,11,227,183,255,228,127,126,224,128,195,252,59,5,24,250,221,160,81,120,144,149,15, +49,35,159,44,23,144,152,15,83,70,166,80,38,31,205,184,254,62,134,87,123,216,221,80,134,65,85,30,42,229,155,13,45,2,155,106,115,104,106,13,113,214,152,20,106,91,66,188,181,187,77,61,240,65,18,51,12,170,228,168,74,113,52,181,133,138,113,70,244,246,208, +34,25,227,144,84,247,75,182,182,33,35,95,175,61,45,13,82,56,27,106,114,138,193,166,13,73,32,37,191,89,133,84,204,41,201,132,229,242,218,89,201,12,135,228,185,15,202,235,120,82,221,12,168,224,138,216,181,205,129,250,236,238,250,60,182,29,204,161,74,122, +42,3,202,25,202,229,189,85,38,5,164,213,146,204,16,160,174,37,135,150,140,143,254,242,196,217,22,134,250,6,121,190,186,60,94,88,178,14,223,249,228,167,190,197,189,100,217,15,111,191,227,223,13,19,16,187,228,222,9,76,224,31,103,19,96,98,3,208,210,79,160, +77,74,243,213,211,211,152,57,34,137,62,210,11,200,72,9,254,127,51,24,106,228,131,175,109,22,146,56,66,238,243,208,86,225,225,194,9,41,212,183,10,52,74,230,33,105,191,229,194,74,72,97,68,43,57,227,82,26,155,228,235,182,131,1,250,72,194,85,101,56,54,247, +202,35,95,198,112,237,25,229,242,124,33,114,114,255,250,253,121,244,151,76,243,129,41,101,72,74,233,111,206,210,103,73,162,233,6,53,45,154,36,211,212,52,5,138,1,166,15,75,160,190,133,152,198,199,235,59,164,135,114,48,143,27,103,149,99,84,95,31,141,217, +64,106,175,16,89,169,5,242,249,4,154,37,3,108,219,31,162,158,37,80,229,37,177,55,76,161,45,219,136,123,158,127,27,255,246,15,95,250,74,46,8,189,159,252,228,39,223,118,158,235,73,239,33,248,221,112,78,198,165,228,121,242,225,11,41,3,68,240,239,62,223, +40,213,187,192,215,47,171,82,232,252,235,79,53,160,140,92,58,66,222,242,111,146,192,132,84,223,79,175,108,85,158,129,111,240,195,107,91,106,145,205,107,226,91,242,229,66,253,25,58,34,41,143,243,165,150,249,232,111,107,212,126,210,26,9,185,239,254,165, +205,120,112,121,139,14,244,144,41,32,196,79,102,70,104,230,36,179,148,183,110,163,113,253,232,149,24,134,84,255,151,31,203,202,243,72,147,164,76,73,168,204,139,252,148,116,69,115,200,181,101,228,247,106,65,144,105,129,200,100,228,107,128,178,29,91,49, +251,146,83,113,235,151,111,185,77,2,198,228,29,119,220,241,175,206,243,56,169,153,160,59,24,64,114,0,39,103,46,14,250,200,95,200,11,104,150,18,60,168,23,87,132,43,243,227,168,177,205,37,121,41,166,247,8,13,198,114,4,210,200,78,219,160,14,35,132,201,21, +3,8,27,69,20,68,116,185,209,133,184,80,224,173,44,193,141,75,40,191,160,10,240,232,107,209,123,66,114,129,122,91,157,39,52,84,177,129,33,249,183,60,103,168,2,66,80,120,130,190,128,186,30,29,35,17,99,82,110,66,110,121,225,203,195,165,71,19,250,168,175, +107,192,171,111,238,192,228,209,3,240,249,207,127,254,139,158,231,37,127,244,163,31,125,205,73,146,157,180,76,192,187,229,164,92,19,94,187,116,177,75,70,23,43,79,176,8,121,235,141,8,161,9,236,41,39,223,184,120,146,80,68,120,30,121,13,92,159,135,105,207, +65,123,3,218,231,87,104,157,179,248,149,105,169,214,239,9,115,29,131,230,5,139,206,99,99,6,234,54,67,199,53,204,17,199,10,27,164,212,177,9,17,123,22,244,5,184,84,113,140,123,138,145,146,146,3,231,173,220,142,192,60,206,207,124,230,51,159,254,246,183, +191,253,19,201,8,105,227,30,39,0,231,116,127,233,12,96,133,74,61,120,243,128,61,41,241,153,156,208,129,62,196,62,120,32,193,29,231,250,193,210,62,158,224,42,210,167,136,174,159,117,76,72,218,103,93,70,30,187,123,214,141,19,134,232,134,37,244,231,120, +76,112,102,142,85,76,5,27,47,136,239,213,146,71,223,131,245,71,227,239,160,54,227,122,170,71,71,76,201,137,1,18,216,184,189,22,251,234,90,81,213,171,66,221,199,13,55,220,112,211,247,190,255,253,187,82,233,116,149,235,29,157,108,76,208,125,12,32,156,32, +143,121,200,244,224,73,253,147,102,176,118,220,35,141,224,67,109,194,70,214,3,22,153,5,97,205,116,88,152,86,36,201,211,177,128,248,98,156,179,66,127,30,78,48,200,156,72,41,35,19,8,82,199,135,90,43,232,107,11,163,21,76,228,49,20,135,197,247,84,192,202, +106,37,82,69,146,1,164,164,163,190,57,131,205,123,234,80,217,171,28,233,116,90,93,227,67,215,92,115,237,15,255,235,135,191,173,168,168,232,103,110,43,105,52,2,255,139,102,0,114,3,67,199,19,86,196,147,95,191,77,62,80,10,1,115,43,133,86,197,131,21,70,245, +96,136,19,196,24,141,217,176,161,97,170,136,32,196,76,121,109,58,132,139,235,34,149,206,98,173,16,49,136,171,33,226,172,38,12,195,168,248,129,141,100,90,166,9,153,9,86,25,179,102,76,146,13,106,5,18,44,110,216,81,139,116,89,153,98,128,50,249,74,223,229, +138,43,46,191,226,246,219,111,191,191,111,223,190,195,205,87,116,53,1,251,139,100,0,146,106,82,249,42,26,40,152,145,52,224,144,116,241,18,62,161,126,22,135,239,185,19,161,227,218,123,136,34,115,242,213,151,234,216,179,82,199,153,81,205,208,193,32,131, +7,132,77,137,90,102,241,28,149,110,164,221,134,142,137,208,42,83,200,221,76,36,140,249,113,24,82,69,255,98,18,209,125,69,215,54,121,9,205,25,60,194,57,219,247,214,41,85,150,74,165,10,152,224,162,139,46,58,239,103,63,251,217,131,195,135,15,31,239,132, +142,189,118,211,228,93,252,105,167,32,167,39,189,0,253,176,148,212,8,109,187,185,199,213,243,202,153,52,176,146,121,227,34,4,57,104,109,224,49,99,199,13,54,247,180,41,176,201,31,37,229,204,18,59,78,2,121,73,141,13,116,118,80,159,131,176,131,16,214,101, +100,176,31,177,192,175,176,214,195,102,2,205,125,48,173,145,66,226,144,64,187,144,214,210,48,3,4,9,34,82,185,3,243,180,38,224,242,75,215,54,52,171,243,86,86,86,66,170,125,85,50,151,145,174,34,21,205,204,154,53,235,12,201,4,143,220,122,235,173,31,223, +188,121,243,27,134,9,114,208,122,14,163,71,143,22,201,100,18,109,109,109,71,204,239,7,65,16,21,129,208,177,246,90,180,63,33,241,8,49,132,122,6,148,195,144,127,119,116,62,191,123,20,139,126,184,140,91,233,211,162,73,97,93,223,51,234,29,134,57,12,106,103, +38,237,171,81,62,43,192,18,148,241,99,38,23,16,102,69,204,44,70,157,107,242,57,121,4,206,34,60,161,222,229,90,5,132,197,169,228,8,245,81,86,145,233,116,113,232,228,18,40,20,28,88,198,48,218,197,104,33,63,73,9,46,102,56,146,43,6,63,212,162,137,242,230, +138,21,88,248,218,107,216,179,103,15,202,203,203,113,202,41,167,96,242,228,201,152,49,99,198,41,119,222,121,231,195,183,221,118,219,39,87,173,90,53,215,9,29,7,253,251,247,199,79,127,250,83,65,175,173,173,173,237,18,205,247,125,117,94,42,199,35,236,65, +4,62,237,180,211,176,110,237,90,28,60,120,16,35,71,141,82,159,39,70,34,45,52,102,204,24,245,122,98,53,64,164,146,153,2,95,194,213,12,44,70,229,42,234,35,12,0,52,118,62,84,17,100,253,62,61,124,101,22,210,60,2,123,44,197,148,70,16,110,226,213,160,250,32, +31,42,109,16,3,4,125,13,197,88,70,43,69,230,37,20,198,199,23,6,4,198,26,37,82,48,66,19,59,74,47,91,240,106,235,24,12,179,209,47,94,34,137,129,189,24,110,249,210,23,112,223,253,191,87,196,176,63,100,18,102,206,156,137,171,175,190,154,204,193,240,223,252, +230,55,15,125,237,107,95,251,187,151,94,122,233,73,203,4,175,191,254,122,32,221,71,252,238,119,191,19,189,123,247,70,75,75,75,73,38,32,162,211,70,210,205,13,0,141,10,156,142,194,20,248,221,168,0,244,195,226,154,9,236,67,165,176,46,69,214,148,137,224, +136,129,154,5,118,66,68,40,93,171,107,22,87,24,26,198,224,158,208,102,193,115,188,3,147,124,130,136,3,75,164,105,72,250,121,16,155,27,29,64,130,49,17,49,222,176,231,38,77,64,166,75,129,63,207,42,232,168,52,65,51,129,101,110,242,68,228,121,37,223,225, +125,19,251,97,199,107,15,226,158,87,95,61,236,113,144,122,94,184,112,161,218,198,141,27,135,15,126,240,131,125,62,247,185,207,221,83,93,93,125,203,19,79,60,113,95,62,79,241,74,240,183,222,122,43,148,251,241,163,31,253,72,12,25,50,4,205,205,205,37,237, +189,85,241,170,130,201,252,30,165,74,79,6,16,104,137,105,165,5,44,70,224,20,11,8,173,93,55,25,62,173,189,227,116,175,253,172,2,127,70,234,172,202,214,96,157,69,238,101,4,204,28,215,47,70,254,113,204,65,69,1,45,179,145,196,7,135,223,51,99,177,148,171, +247,77,80,42,58,214,137,39,40,76,67,196,207,11,12,27,80,133,244,129,165,120,165,4,241,139,127,54,109,218,132,31,255,248,199,248,236,103,63,91,46,255,252,229,53,215,92,243,208,229,151,95,126,153,244,18,136,221,194,69,139,22,137,235,174,187,142,45,93,186, +84,97,137,119,102,28,32,140,226,36,234,193,43,155,111,226,240,9,131,1,20,170,102,142,51,36,52,14,160,232,159,34,122,16,71,4,85,48,8,49,162,143,136,235,32,120,197,32,194,197,1,60,246,223,13,168,227,60,118,39,41,216,67,140,160,204,16,115,98,16,194,68,14, +61,3,242,24,51,140,104,181,128,214,38,154,97,164,251,39,193,252,41,125,242,120,93,21,7,117,254,103,255,254,253,120,236,177,199,240,252,243,207,127,80,218,235,103,174,191,254,250,23,102,207,158,253,137,137,19,39,246,150,54,94,220,116,211,77,120,77,226, +136,170,170,170,119,30,3,8,235,114,121,214,21,212,196,37,19,117,40,43,76,205,31,139,142,139,2,60,158,245,177,161,64,22,17,133,106,0,21,202,246,221,114,174,200,147,143,24,69,17,215,115,36,95,56,197,35,145,173,142,25,34,138,38,250,110,20,194,122,35,92, +135,178,125,253,190,5,155,113,181,146,62,121,78,222,199,153,163,164,203,87,179,20,219,118,238,61,170,103,117,232,208,33,188,242,202,43,248,213,175,126,117,158,52,1,191,61,247,220,115,151,222,124,243,205,223,146,192,110,220,45,183,220,130,151,95,126,89, +1,201,119,86,46,192,99,38,198,175,37,43,52,68,106,205,9,147,35,128,99,219,227,232,157,181,245,204,85,233,140,21,72,187,213,0,156,91,70,51,72,220,134,119,141,219,103,189,2,91,113,108,85,182,214,6,194,184,132,214,244,24,162,115,30,49,67,4,92,109,46,195, +220,88,156,151,128,42,34,185,104,124,2,43,151,47,138,98,17,71,91,162,77,46,156,100,0,220,119,223,125,227,37,104,252,182,100,132,55,36,86,248,221,115,207,61,119,30,153,13,138,41,188,115,76,128,64,4,252,44,33,73,181,55,102,132,42,10,213,217,184,184,238, +46,162,186,249,156,102,26,77,64,10,42,217,50,95,110,8,8,83,2,174,131,61,177,137,160,232,99,24,88,155,206,34,149,239,170,111,197,156,96,5,173,43,81,82,137,199,196,182,132,6,119,253,127,68,39,11,37,120,31,232,31,194,134,165,207,99,213,219,27,10,241,196, +49,48,2,197,2,38,76,152,64,113,129,202,1,3,6,124,92,2,197,185,210,76,204,221,188,121,243,199,36,99,84,146,71,161,163,150,39,117,58,88,63,76,178,157,22,160,210,133,106,90,132,242,2,124,66,231,182,2,152,171,138,171,72,69,171,162,79,83,181,77,229,95,161, +169,7,180,193,27,37,249,78,255,17,115,218,78,60,223,162,121,85,223,31,217,254,168,183,192,154,39,121,78,93,138,104,60,3,232,207,68,149,199,170,38,208,154,12,174,99,118,100,107,2,68,145,77,226,207,81,213,1,214,47,88,133,108,59,193,27,119,95,103,251,39, +233,51,228,195,147,237,31,59,118,172,10,248,72,76,112,222,239,127,255,251,243,250,244,233,243,205,179,207,62,251,62,249,222,147,210,255,127,11,113,213,209,73,198,0,208,126,117,104,220,56,229,206,65,215,97,38,19,26,232,229,77,97,135,170,211,163,18,241, +80,196,182,56,10,251,234,24,130,242,209,121,164,8,116,70,80,104,2,210,131,37,156,160,162,129,166,152,211,154,134,40,250,103,65,129,169,10,178,45,7,220,198,248,141,70,144,119,172,25,81,232,96,147,200,235,64,149,174,95,231,170,150,192,154,149,68,194,71, +185,124,122,43,222,124,171,211,132,165,243,86,86,247,65,42,93,142,134,186,3,138,208,165,142,163,239,36,93,67,69,124,250,123,248,240,225,170,1,180,166,166,102,220,75,47,189,244,173,214,214,214,111,13,26,52,232,205,145,35,71,254,90,190,62,156,76,36,246, +230,74,156,171,231,226,0,86,186,66,146,94,83,169,109,98,20,41,146,104,129,56,69,203,161,154,62,136,192,54,240,195,152,115,142,192,137,206,9,199,107,96,186,239,76,249,236,73,99,243,67,39,8,101,19,248,92,167,112,133,45,92,87,230,37,212,62,190,99,26,52, +211,112,85,156,42,28,70,12,178,161,202,9,8,91,71,192,169,208,149,99,104,31,31,245,111,189,132,218,250,166,46,212,73,48,36,123,15,130,72,244,66,101,144,69,109,77,77,187,12,96,253,123,171,17,232,71,106,0,72,179,160,130,68,59,119,238,60,109,241,226,197, +63,149,38,226,235,101,233,244,195,146,73,126,157,72,38,87,116,213,60,116,27,3,112,35,241,214,223,231,92,151,118,81,173,133,159,148,186,171,77,152,200,32,21,219,234,232,94,190,45,84,238,161,151,50,5,58,57,91,252,97,170,139,60,68,161,89,21,182,117,77,129, +219,94,38,68,65,240,70,55,2,177,232,198,40,178,168,202,190,173,218,119,178,190,186,231,128,71,218,192,75,114,221,165,68,102,37,208,193,159,16,73,140,74,236,193,220,215,94,42,32,90,177,218,63,12,232,201,239,223,90,187,11,101,149,213,104,168,175,87,251, +250,245,235,135,94,189,122,97,239,222,189,42,96,100,51,147,54,224,195,109,33,12,116,19,40,105,6,10,7,83,120,153,76,132,252,220,160,199,30,127,252,11,190,231,125,122,198,204,153,191,28,50,100,200,29,18,71,108,108,235,164,70,232,22,6,208,234,159,50,121, +44,46,212,48,78,63,183,136,158,91,162,8,83,245,67,154,192,184,141,161,137,238,155,136,161,138,223,91,83,194,227,115,18,232,227,54,75,231,214,15,68,133,30,70,221,187,193,41,83,120,66,140,69,166,35,210,58,42,61,109,35,127,38,60,140,56,226,39,76,81,10,157, +174,119,101,10,193,182,185,216,178,125,143,10,197,146,100,82,210,135,98,240,132,230,219,99,4,218,215,220,212,168,54,251,67,4,149,170,28,147,38,77,130,4,122,104,104,104,80,175,68,96,174,180,77,16,167,157,205,70,223,157,174,71,191,15,29,58,20,195,134,13, +163,208,115,98,197,138,21,159,123,227,141,55,110,184,242,202,43,191,51,126,252,248,59,58,131,59,186,205,13,140,130,39,208,42,62,215,42,84,34,136,170,116,41,145,165,136,111,187,125,242,90,12,19,41,29,3,16,70,10,20,97,13,162,143,138,60,172,91,103,64,38, +108,18,201,48,69,84,20,18,67,255,168,57,37,170,1,48,226,206,125,74,53,115,211,84,194,226,54,79,227,119,234,235,113,181,41,55,82,186,47,82,205,226,194,222,27,177,114,254,147,234,112,202,196,17,114,167,168,29,37,114,164,74,86,127,219,80,109,41,38,112,55, +34,248,188,121,243,176,100,201,18,149,180,153,62,125,58,36,17,241,200,35,143,96,203,150,45,145,139,72,155,213,10,238,70,146,78,154,131,174,75,249,134,49,99,198,244,150,159,189,125,213,170,85,223,164,123,58,18,19,116,79,65,72,62,78,236,208,13,144,43,71, +132,77,153,160,74,32,98,184,168,10,71,120,236,57,16,243,248,190,174,27,180,46,155,46,202,140,85,186,27,224,81,89,65,235,54,134,69,104,219,168,126,93,184,195,11,195,229,70,105,144,231,192,173,6,48,69,35,220,179,26,201,4,138,76,45,161,4,27,232,143,90,148, +237,91,140,183,223,94,171,206,105,115,254,214,94,83,208,134,166,117,208,102,125,247,246,152,193,101,8,74,30,81,28,96,249,242,229,138,169,136,49,136,17,44,30,176,76,208,30,51,144,121,32,13,68,222,195,140,25,51,240,226,139,47,254,219,161,67,135,206,37, +13,213,35,110,160,193,80,17,160,242,18,42,181,174,186,131,19,190,78,160,168,206,28,147,254,181,85,56,42,26,24,37,115,16,213,3,184,231,181,7,232,191,37,195,164,88,97,174,223,139,43,130,192,29,147,96,42,149,169,68,189,34,201,85,60,129,42,149,147,38,181, +108,110,56,82,247,186,189,45,174,77,8,67,142,65,126,61,230,191,244,50,178,185,188,34,20,61,96,75,124,215,221,35,127,157,54,82,241,68,152,206,152,7,251,217,179,206,58,11,117,117,117,74,170,173,45,183,239,187,102,160,88,155,168,74,106,201,8,116,93,98,192, +133,11,23,222,54,101,202,148,249,39,190,34,200,216,219,48,116,170,109,228,127,77,173,218,69,75,250,142,83,110,9,199,11,213,176,173,199,211,121,3,166,107,7,77,152,22,70,43,184,1,26,85,243,31,37,157,204,3,49,24,209,208,85,225,138,114,73,248,51,135,167, +84,191,192,231,47,168,194,128,10,15,153,54,17,39,130,204,185,40,8,164,43,145,226,234,173,132,188,113,105,254,165,235,183,82,221,91,169,232,156,27,4,34,34,17,96,43,54,15,71,138,11,144,102,33,187,78,218,132,8,90,74,250,59,210,8,100,18,8,92,110,219,182, +237,125,242,247,222,61,144,14,182,89,190,56,220,70,68,200,72,149,74,157,63,194,20,95,112,203,201,102,24,132,125,38,249,156,205,4,138,8,226,51,91,196,97,63,231,196,5,108,64,200,101,10,1,75,60,97,29,74,117,254,102,233,214,253,245,244,94,170,79,241,210, +83,211,152,53,34,137,79,255,161,22,117,173,129,234,33,160,36,144,66,253,38,222,15,21,11,144,96,76,94,119,72,149,143,218,215,254,136,3,117,141,145,132,119,68,72,151,17,172,121,32,166,33,169,38,141,64,64,174,148,247,64,90,195,130,60,218,92,111,128,94,75, +73,127,241,62,210,76,146,121,250,73,151,113,160,188,207,250,19,31,10,102,84,53,195,11,50,119,190,52,3,117,173,66,97,0,43,173,204,77,176,24,137,247,163,170,29,230,212,252,64,5,139,220,92,127,84,92,98,180,136,112,184,40,10,1,131,69,113,4,250,147,36,255, +222,37,205,184,237,226,74,108,174,201,43,183,243,59,87,245,150,151,103,78,37,51,143,170,127,109,141,69,200,210,24,201,118,97,249,188,63,171,191,73,253,119,54,244,235,18,201,154,7,42,250,32,173,64,46,32,105,9,151,17,172,84,19,35,20,75,186,187,207,149, +250,98,109,64,199,73,38,104,148,12,211,208,3,245,0,6,205,219,136,156,177,215,101,82,141,83,195,102,40,226,134,12,170,7,204,59,101,94,136,203,241,163,148,171,245,2,20,234,15,13,35,56,181,3,54,249,20,213,30,176,194,212,164,197,16,116,28,1,209,117,251,243, +88,178,173,77,183,173,189,120,8,103,141,78,225,170,169,101,42,70,97,91,204,21,16,144,91,130,170,145,164,86,232,159,110,67,126,253,211,216,180,101,151,34,88,169,50,43,87,2,59,98,132,98,243,64,234,154,24,194,50,2,17,207,18,186,248,181,61,102,40,222,168, +152,68,158,115,161,188,212,190,19,207,0,78,182,143,251,174,93,214,21,65,170,95,143,122,254,242,20,194,53,189,1,22,128,133,113,35,137,237,31,136,170,134,140,27,224,113,86,160,89,224,164,159,163,44,35,226,250,189,68,74,51,7,161,122,242,80,232,243,15,190, +209,138,115,198,164,84,145,234,61,75,73,35,84,99,72,181,111,204,77,92,237,163,157,71,31,31,24,184,17,111,205,121,52,114,253,44,186,238,12,177,59,99,30,200,52,80,60,129,54,235,255,219,192,143,187,21,19,190,148,70,160,31,98,128,81,163,70,253,134,222,63, +241,12,96,108,190,239,179,168,1,67,251,247,12,123,155,116,168,149,8,172,139,66,52,200,179,1,25,110,250,246,220,180,111,65,70,207,182,120,197,137,185,40,239,160,226,1,161,112,58,143,152,157,59,227,48,138,68,253,242,28,11,54,183,225,205,93,57,220,52,171, +2,247,45,107,65,67,38,196,63,93,82,173,238,89,71,31,133,137,255,39,209,59,216,133,218,213,47,98,229,234,245,138,56,100,203,93,219,223,145,228,119,197,60,208,70,204,69,204,64,102,130,52,130,85,231,29,49,65,49,51,16,190,144,231,216,48,116,232,208,167,123, +134,1,56,67,220,180,99,186,118,168,248,65,62,228,87,54,73,55,197,72,188,16,44,206,8,58,245,30,214,214,199,133,151,113,47,160,103,136,79,132,37,176,168,92,73,95,199,14,10,190,152,173,51,140,147,7,170,200,196,79,113,197,84,212,120,250,208,138,86,92,56, +46,133,1,149,30,190,243,252,33,156,45,53,194,251,39,151,41,173,160,9,35,84,30,104,72,191,10,188,177,108,41,90,36,48,35,226,251,6,164,116,133,224,157,49,15,244,67,231,183,146,108,77,141,245,28,74,105,133,82,90,128,98,8,99,199,142,253,149,212,82,153,158, +169,7,48,4,138,186,106,141,138,38,55,120,95,67,168,30,108,84,159,167,234,235,17,69,240,108,185,152,13,200,196,82,108,58,124,195,184,206,32,46,241,98,81,129,39,227,69,69,38,38,251,167,59,138,153,194,154,212,138,94,46,153,97,222,166,44,118,53,4,184,113, +70,57,86,239,203,227,201,213,173,248,7,233,26,14,239,227,43,51,165,25,201,67,159,240,0,150,189,190,52,170,193,239,12,97,59,139,5,14,175,166,18,135,17,152,142,181,140,64,166,199,18,189,148,102,32,15,67,30,211,32,25,224,94,218,119,164,186,132,238,41,9, +51,42,153,219,50,112,211,46,78,153,192,1,149,60,242,176,84,254,158,9,39,126,239,132,233,194,24,205,11,196,149,194,214,101,212,93,67,113,229,167,78,56,113,179,197,21,192,46,134,160,89,3,215,76,47,195,232,126,62,26,91,132,234,84,186,119,105,11,222,63,41, +141,241,114,223,111,165,119,176,231,80,128,47,73,38,160,10,99,106,12,25,214,55,129,218,229,143,96,95,109,67,228,250,117,69,250,143,198,60,20,171,116,75,96,58,150,250,0,136,25,138,1,163,61,150,74,204,164,237,127,88,50,234,158,30,173,9,180,237,92,214,70, +147,90,157,52,196,199,140,225,190,36,4,211,101,97,162,8,241,59,65,28,91,75,104,235,9,45,209,93,176,24,121,12,110,64,40,234,24,230,81,37,18,129,76,26,235,51,172,183,143,179,70,37,208,183,156,227,195,103,150,99,220,64,31,127,92,153,197,246,186,0,23,142, +79,161,94,50,197,93,175,53,227,2,105,22,46,58,37,141,28,101,253,248,46,188,254,202,19,234,156,132,216,93,130,117,85,250,59,99,30,58,242,2,236,102,205,3,49,163,237,252,177,199,200,247,194,73,147,38,221,213,25,233,239,214,116,112,12,188,180,141,39,87,236, +172,145,62,106,154,141,125,55,197,28,22,164,217,30,0,202,1,144,107,40,172,123,103,155,70,242,218,157,243,19,78,21,169,45,230,48,229,101,186,6,192,96,4,251,31,215,247,208,156,17,248,226,185,105,76,148,68,159,62,36,1,46,247,93,59,173,10,139,182,182,225, +169,85,25,204,158,85,134,23,55,100,177,92,2,195,231,215,101,240,229,243,43,177,181,161,13,109,171,158,193,250,77,219,34,201,43,21,246,45,70,245,71,170,8,42,117,172,187,223,18,221,106,52,27,8,42,126,181,1,31,122,165,26,1,138,0,142,30,61,122,174,116,43, +95,167,64,82,143,105,0,235,194,193,196,241,173,31,62,160,23,71,191,94,78,109,61,139,59,116,237,241,81,153,151,129,242,81,229,47,180,87,97,27,65,56,143,187,120,184,169,3,136,152,202,101,64,202,163,75,70,57,127,108,10,147,6,249,248,222,75,205,184,103,89, +43,238,127,51,131,239,191,220,136,105,67,19,106,92,13,77,24,185,102,106,90,93,248,55,75,90,145,151,143,230,182,179,115,88,244,220,131,42,112,69,210,111,193,95,103,84,254,209,154,7,85,225,84,132,236,59,138,11,216,92,131,173,32,154,58,117,234,157,150,73, +221,90,130,19,238,6,90,20,239,249,60,74,219,54,102,5,122,167,89,97,98,135,21,206,13,84,12,228,105,98,219,190,1,238,179,120,76,140,241,247,57,115,43,135,68,20,25,228,166,98,215,154,22,106,68,185,112,108,2,103,74,237,179,116,71,30,141,109,148,139,224,72, +39,57,234,165,86,120,224,141,22,92,53,37,133,38,121,111,151,72,51,208,175,194,67,131,252,253,206,197,1,246,174,154,139,149,43,150,41,41,179,174,95,41,162,117,197,246,119,134,65,138,137,94,10,244,217,125,54,11,72,219,192,129,3,55,15,31,62,252,73,171,254, +59,99,2,186,205,11,224,214,167,231,113,254,158,122,2,42,146,204,212,226,197,45,90,22,55,216,72,94,224,116,237,68,101,120,220,121,160,34,110,2,133,163,146,221,33,147,244,7,149,25,244,175,224,248,216,172,52,54,213,4,248,243,218,44,46,59,37,137,143,206, +72,171,49,113,205,25,154,94,234,169,74,229,159,47,108,86,73,172,179,37,70,160,176,112,125,115,22,119,253,230,110,228,164,59,96,115,254,71,146,234,174,16,189,35,112,88,74,3,180,183,143,84,61,49,1,189,78,159,62,253,215,82,75,181,30,169,50,233,4,96,128, +56,80,99,103,254,210,11,205,92,164,25,65,30,215,42,219,43,74,224,48,167,118,46,234,197,51,109,219,194,57,159,26,63,199,109,205,64,220,88,26,37,111,77,167,79,78,30,119,211,57,105,149,134,62,67,130,207,113,253,61,188,176,177,13,67,164,39,242,145,211,203, +176,122,79,14,127,53,33,137,21,210,238,255,105,101,70,205,23,36,6,120,126,51,67,159,198,85,120,104,238,11,234,65,82,188,190,35,187,222,85,76,208,158,237,47,54,1,197,233,95,215,246,219,191,41,226,71,12,80,93,93,221,120,202,41,167,220,77,191,219,132,81, +143,153,0,11,242,108,107,149,106,239,146,87,162,190,128,132,105,9,211,21,91,113,143,159,173,4,98,204,121,63,202,234,197,211,195,84,178,136,10,76,60,237,106,18,96,140,122,248,28,70,162,156,255,196,65,30,46,155,152,196,27,59,243,104,144,46,223,148,193, +62,190,124,110,25,166,201,215,71,222,202,96,214,200,4,38,203,223,151,201,247,169,191,255,161,229,173,18,32,38,49,91,122,8,155,23,60,130,61,53,245,42,42,231,130,191,142,84,127,71,230,161,51,154,194,22,173,180,23,242,45,54,1,4,250,104,35,0,56,109,218,180, +71,165,166,218,229,50,101,143,121,1,182,15,47,52,225,216,48,64,60,141,27,49,208,11,133,112,202,183,53,5,195,144,69,133,32,206,12,9,43,254,17,184,39,230,9,37,99,249,166,103,32,12,227,66,17,107,66,62,245,222,50,69,120,170,63,40,147,39,218,38,221,189,65, +149,30,46,26,151,196,251,164,164,211,72,218,111,60,213,164,146,66,253,164,73,216,90,23,74,13,17,226,202,161,7,241,141,103,31,141,92,63,27,155,111,79,146,143,69,3,20,239,179,26,128,164,187,56,205,235,166,130,233,213,34,127,201,164,226,244,211,79,255,95, +98,12,123,76,41,237,114,194,24,192,86,33,233,178,42,17,119,235,114,13,202,236,192,168,184,239,62,182,219,65,32,162,182,43,29,22,54,128,49,140,107,194,172,123,201,5,115,240,131,197,4,84,119,16,226,250,211,83,82,157,251,248,234,211,205,24,221,135,227,125, +163,53,193,9,136,110,172,13,48,83,154,132,181,251,3,172,63,24,96,71,125,136,94,9,61,123,248,143,107,4,182,207,253,147,42,204,36,63,219,5,127,71,82,253,199,106,30,236,126,203,0,197,185,127,187,143,54,139,254,201,246,207,156,57,115,126,255,254,253,23,219, +193,18,150,65,58,83,34,222,45,38,32,116,134,55,232,121,65,186,244,75,245,7,82,251,86,188,66,67,225,168,55,81,148,249,19,5,109,0,170,180,60,246,50,226,54,240,168,78,208,212,27,14,235,237,225,211,103,151,225,233,53,109,146,248,30,154,37,211,221,187,60, +139,93,135,66,156,58,208,195,248,126,92,21,166,252,199,139,205,216,211,32,208,43,105,84,141,4,20,85,188,25,143,254,225,190,72,250,75,197,253,187,162,230,143,198,20,116,166,30,192,74,63,197,39,206,62,251,236,59,173,198,136,123,41,89,167,204,64,247,84, +5,27,183,142,179,216,27,32,176,118,176,85,215,223,37,28,23,208,237,245,0,67,97,53,177,208,72,62,254,14,142,185,8,69,220,51,232,184,136,164,97,62,118,102,74,205,27,254,222,139,173,10,11,156,49,44,33,53,128,143,249,91,114,248,245,210,12,170,210,28,247, +190,158,193,150,218,80,197,0,236,72,153,84,170,28,125,235,151,98,249,210,133,138,240,46,248,235,136,168,199,122,76,113,86,176,189,210,47,155,36,34,38,32,6,160,184,127,239,222,189,183,213,212,212,60,97,167,134,184,254,127,143,186,129,182,6,95,152,137, +27,190,188,153,61,13,161,154,26,94,150,112,48,191,155,235,133,169,238,53,146,76,35,87,46,28,147,64,166,77,219,245,168,59,72,216,170,94,17,23,144,82,7,141,36,226,120,137,244,47,59,37,129,31,188,218,138,81,125,57,134,84,115,252,96,78,171,10,69,95,48,54, +129,11,228,249,222,86,137,159,172,106,237,178,207,72,122,206,24,63,128,99,253,171,15,160,161,185,77,17,223,150,119,31,139,116,119,85,3,184,24,160,148,244,211,126,43,253,4,78,37,19,252,118,253,250,245,205,214,77,45,46,21,235,17,6,96,110,144,198,218,66, +41,101,228,6,122,214,190,179,184,128,212,246,240,217,128,16,217,125,90,99,128,212,245,148,33,92,125,78,168,9,99,76,77,15,167,191,169,170,152,50,118,173,121,161,164,156,90,207,137,175,190,114,81,25,94,221,156,199,146,29,1,110,154,153,194,31,87,182,225, +114,233,251,239,107,18,184,123,89,22,147,165,103,112,175,124,109,201,49,154,71,169,52,134,58,63,79,98,120,126,3,230,189,240,164,186,15,59,157,163,35,130,29,43,225,139,53,128,181,217,237,85,249,88,166,32,215,143,24,96,224,192,129,205,203,151,47,191,219, +13,27,119,213,4,248,221,197,0,156,23,78,242,32,16,71,82,74,133,161,129,157,224,229,128,69,34,38,229,232,147,166,163,152,30,197,144,74,29,162,29,80,197,208,175,156,163,82,170,107,210,32,36,233,13,205,161,154,233,63,176,66,75,62,69,242,8,236,141,237,235, +225,159,255,220,130,15,77,77,98,123,125,168,34,136,19,250,115,252,114,73,22,95,189,176,12,139,183,231,21,248,59,117,144,94,175,32,237,67,173,61,80,81,89,134,3,115,30,197,182,221,7,148,244,219,122,255,206,2,185,163,241,12,74,29,99,53,64,49,250,183,199, +218,130,82,51,33,236,79,91,229,15,73,127,113,66,169,24,184,246,64,32,40,174,6,178,95,140,10,65,124,91,167,207,99,183,141,8,63,115,184,135,75,39,36,20,70,32,208,70,29,68,163,165,10,175,78,51,220,126,85,185,10,222,168,26,66,146,124,105,255,179,146,145, +104,225,136,134,140,46,50,37,66,158,34,213,255,47,22,103,212,216,247,51,134,122,248,239,133,89,124,230,236,20,158,223,144,83,190,255,208,42,142,13,7,242,184,247,134,74,84,36,52,106,84,253,138,33,181,108,53,225,242,219,126,175,238,135,154,43,156,245,16, +143,11,35,116,180,207,149,90,203,0,197,184,192,30,67,51,7,9,249,143,25,51,70,108,218,180,233,87,170,241,198,36,132,218,235,29,56,225,12,144,167,121,252,122,49,46,169,150,53,208,243,61,90,229,67,151,134,83,48,40,16,206,236,32,249,178,235,144,192,11,27, +242,56,216,34,212,72,217,205,18,160,253,227,249,105,172,222,23,224,229,141,121,84,151,49,233,211,135,202,4,132,166,161,132,92,186,218,22,205,237,159,57,43,45,205,0,240,192,242,54,252,203,37,101,120,86,18,125,186,100,2,82,239,123,228,185,127,120,101,25, +126,58,191,85,229,3,78,27,146,151,159,13,21,3,209,251,213,149,189,48,102,231,147,88,179,102,181,178,171,164,1,58,202,234,117,133,168,93,101,160,226,206,96,87,3,16,6,32,6,160,247,251,244,233,179,116,206,156,57,11,172,83,228,2,191,158,215,0,198,119,167, +144,111,188,46,131,14,245,53,182,105,137,181,141,27,249,188,246,251,15,52,3,187,27,52,231,19,131,156,62,196,195,240,222,82,253,231,57,182,213,113,37,249,253,202,61,51,47,0,42,168,51,176,156,225,189,35,124,244,149,175,31,57,45,137,219,158,106,193,37,19, +146,138,49,54,73,95,255,31,207,47,195,207,23,101,113,243,44,90,137,36,148,184,2,56,119,84,66,217,151,234,50,221,209,147,149,64,96,100,159,60,30,253,249,221,10,40,246,233,87,165,60,0,91,137,211,89,223,255,120,152,7,55,14,80,172,1,136,192,68,124,178,253, +131,7,15,70,109,109,237,239,234,235,235,219,52,254,213,189,240,197,154,164,51,205,161,221,19,8,242,77,48,200,153,222,17,154,128,207,214,131,66,1,56,238,140,145,167,136,160,42,34,77,198,235,4,82,166,110,123,157,192,168,62,12,219,164,45,167,132,34,73,43, +49,15,125,62,43,127,47,35,115,33,25,234,86,169,41,30,149,96,111,243,193,16,183,158,151,196,255,46,206,226,198,51,210,152,187,53,143,81,189,57,102,141,240,240,213,167,91,84,68,48,36,111,33,167,11,84,200,148,248,233,50,240,221,11,177,120,254,156,168,76, +187,84,206,255,88,84,125,103,181,132,27,227,119,143,183,230,136,24,128,180,192,144,33,67,246,204,159,63,159,26,20,168,58,34,40,198,9,93,73,7,119,107,50,8,44,142,210,217,33,93,68,164,48,100,78,198,80,55,117,70,225,95,19,246,221,44,25,133,180,5,161,245, +141,210,28,164,169,178,135,219,37,95,52,126,216,47,223,63,123,84,82,45,38,117,167,148,244,155,102,36,177,74,154,12,114,31,251,73,173,240,208,91,1,254,235,3,101,248,149,4,128,107,15,4,170,39,64,71,211,244,181,136,9,38,14,101,152,243,196,221,18,84,102, +84,63,29,153,128,174,132,125,143,87,132,208,61,166,216,4,168,248,134,180,251,180,81,123,89,46,151,123,124,231,206,157,84,239,31,53,180,187,94,68,103,165,191,91,221,64,237,211,199,191,211,154,142,231,143,241,165,100,38,116,14,128,199,209,31,110,151,129, +113,42,132,105,237,159,225,210,135,111,203,235,223,147,9,22,133,135,213,146,114,242,248,41,131,56,62,62,51,169,192,30,45,69,67,32,112,161,68,249,31,154,146,192,227,171,219,112,237,212,132,52,45,2,207,172,201,73,208,199,85,0,42,149,208,203,200,16,134, +72,167,83,24,17,108,192,130,23,158,80,15,144,30,238,241,116,239,142,38,80,100,203,187,138,187,127,169,214,143,212,255,176,97,195,178,107,214,172,249,147,60,52,229,38,145,138,221,211,98,183,240,196,71,2,153,25,250,8,51,122,149,98,244,1,133,93,97,202,194, +227,194,145,124,96,87,3,225,241,80,41,201,219,116,44,1,53,10,40,153,230,110,165,73,136,120,196,0,55,191,39,133,13,148,231,151,4,254,180,252,253,149,45,121,140,145,110,32,1,77,98,164,75,198,39,112,151,52,7,106,234,8,119,70,202,153,156,194,160,234,36,246, +45,121,4,91,165,48,185,174,223,241,38,124,103,63,99,99,255,46,225,233,111,114,251,40,248,147,76,38,80,94,150,158,191,97,195,134,141,208,211,198,81,204,4,197,177,128,158,137,4,178,184,162,151,220,44,187,236,11,53,100,28,108,129,146,106,91,44,226,25,117, +76,33,95,242,231,219,114,58,96,68,129,29,2,126,244,62,173,249,71,1,159,86,229,250,65,185,126,148,204,25,39,137,253,227,5,89,124,120,90,18,52,184,123,213,190,80,73,255,179,235,243,248,212,153,105,60,177,170,13,107,247,228,245,92,2,187,120,72,168,187,131, +50,121,31,163,18,181,88,240,231,223,171,253,212,154,229,246,210,31,47,105,238,234,49,197,12,64,91,99,99,163,82,255,67,135,143,196,246,125,117,47,74,19,32,74,213,19,184,94,67,103,195,193,221,131,1,226,5,189,34,73,87,67,16,168,49,20,182,254,79,68,35,255, +170,42,24,6,87,112,244,46,179,96,81,199,11,122,151,105,181,127,213,169,190,10,31,43,66,73,160,88,43,207,243,209,211,19,120,74,74,126,67,6,248,224,228,4,254,115,110,6,215,73,149,191,106,111,32,77,1,87,159,125,124,77,94,74,141,142,36,38,140,186,209,14, +137,196,8,189,202,144,219,240,56,222,92,185,74,73,190,117,253,78,180,205,47,246,4,44,3,184,129,31,98,0,90,140,123,228,25,151,98,238,130,69,13,136,23,155,40,208,30,165,64,96,143,120,1,156,199,21,65,30,143,219,195,67,103,69,143,208,168,117,138,253,151, +73,98,125,224,84,79,217,122,10,0,29,146,18,190,91,250,238,20,221,59,77,186,131,99,250,112,165,29,40,70,64,57,251,143,74,28,177,191,73,224,222,55,218,240,79,23,164,164,207,159,71,223,50,142,83,7,112,220,181,164,13,223,186,56,141,213,251,3,124,238,236, +164,82,251,84,134,54,128,34,134,249,120,197,233,164,31,226,115,55,220,163,122,5,6,247,175,86,89,181,206,128,191,227,77,248,226,207,184,27,105,36,235,250,13,234,223,23,189,166,125,24,205,47,45,228,165,113,215,225,245,2,61,86,18,22,23,115,176,104,153,119, +85,17,36,209,250,188,173,65,212,59,168,204,66,82,155,133,159,44,200,233,41,226,208,37,95,25,73,139,83,6,114,233,1,228,113,223,138,156,178,251,77,210,235,29,223,143,225,178,9,62,254,103,81,27,206,148,102,128,208,254,130,109,121,252,203,133,41,60,188,42, +143,235,166,37,148,219,248,211,5,26,24,210,178,177,180,28,44,153,29,98,40,10,37,251,169,50,140,108,152,135,197,11,230,42,194,19,248,59,154,114,239,238,136,16,186,26,128,202,187,8,252,229,178,45,152,120,230,135,112,168,122,18,173,152,209,110,109,98,169, +10,163,30,203,5,184,171,120,171,102,80,6,69,232,214,92,168,212,186,181,253,54,191,239,155,150,48,213,82,150,16,72,75,6,88,119,32,196,106,105,215,201,93,163,25,211,180,30,240,23,164,84,191,182,45,192,242,93,1,126,120,101,26,191,93,222,134,203,198,251, +42,34,72,231,25,33,61,135,239,190,156,149,174,33,195,150,131,97,84,159,96,163,135,20,73,28,51,64,96,253,227,247,160,161,169,85,181,102,147,235,231,174,187,211,217,26,255,238,208,18,110,237,31,1,63,53,247,167,34,141,161,103,125,20,155,90,57,60,214,190, +244,151,194,40,61,150,14,110,205,198,4,182,68,32,187,60,180,146,171,196,143,91,200,201,189,184,2,72,63,9,157,4,154,187,37,192,65,105,14,72,202,39,72,201,191,110,154,175,242,3,63,156,223,134,27,79,79,98,83,109,136,154,102,224,194,177,190,196,3,121,220, +112,90,2,143,173,202,97,171,36,60,49,11,229,21,104,163,60,1,73,62,5,130,82,169,36,134,181,173,197,146,87,158,82,15,141,192,95,87,64,92,119,164,131,219,99,50,106,242,204,180,74,233,159,254,30,100,6,191,15,249,108,166,228,218,163,46,232,115,193,95,15,102, +3,229,67,79,233,185,187,238,16,70,234,9,160,12,92,232,44,16,17,141,111,1,10,150,148,87,19,69,36,19,16,242,159,49,198,195,172,225,28,211,7,115,252,250,245,156,202,10,158,41,255,254,143,87,179,152,45,25,97,129,212,8,148,230,165,202,30,210,14,212,248,201, +220,233,240,230,106,20,249,27,88,157,192,129,133,143,96,203,142,189,168,146,170,159,74,190,219,171,210,61,30,53,126,93,61,134,164,159,108,63,73,62,165,125,83,82,56,38,92,112,3,118,181,149,195,103,153,118,74,240,60,85,187,96,23,140,42,88,69,164,199,10, +66,16,143,120,177,107,55,16,202,247,157,130,207,104,230,31,139,39,123,115,118,120,74,153,236,248,217,35,61,236,108,16,120,242,237,28,62,49,211,199,203,91,2,181,180,60,165,140,151,239,14,113,245,100,31,191,89,150,147,170,223,41,36,133,179,196,0,105,33, +150,192,48,190,15,139,159,127,72,253,77,182,63,30,31,215,185,218,253,163,61,174,171,26,128,108,63,185,126,227,38,76,132,63,225,253,104,205,180,154,73,40,37,164,216,247,21,241,105,163,223,105,115,51,132,61,18,9,244,61,119,217,87,237,19,14,148,174,158, +90,55,208,47,92,25,52,150,210,56,68,172,92,32,234,39,28,193,113,193,88,79,249,255,63,156,151,195,123,70,248,170,120,115,142,4,147,215,79,245,241,140,244,0,174,145,196,167,194,206,249,114,31,189,199,153,179,108,140,83,156,82,89,158,68,118,237,51,88,181, +250,109,85,236,105,193,223,145,202,181,78,164,121,176,179,129,201,245,163,35,166,94,116,61,246,243,193,82,85,7,49,39,183,99,2,136,1,72,19,88,109,96,235,4,122,132,1,108,92,159,71,75,1,80,124,30,202,37,163,127,158,23,151,120,57,229,125,17,43,16,38,163, +121,66,148,38,30,47,237,62,5,127,40,235,71,225,223,123,86,228,113,214,112,79,73,59,237,63,103,148,135,251,229,62,159,23,47,39,19,179,85,32,125,207,97,233,102,188,249,194,253,200,72,36,72,182,159,30,82,87,164,250,104,106,252,186,90,47,104,179,126,196, +4,67,7,246,69,223,153,215,163,190,41,27,47,178,209,142,9,80,89,84,163,5,44,241,233,245,72,177,128,110,234,13,100,145,20,11,51,47,144,154,56,40,68,155,42,208,10,44,30,202,4,68,19,185,84,246,80,254,71,213,61,164,238,155,164,251,184,190,38,196,127,94,145, +84,46,29,49,204,56,201,20,15,188,149,199,213,147,18,120,92,186,127,111,238,14,20,240,211,229,103,113,151,144,101,190,84,50,133,244,158,133,88,182,120,161,122,56,196,0,197,43,110,30,107,99,103,87,247,149,58,198,70,254,72,51,157,113,254,7,80,223,107,18, +88,144,61,66,220,133,71,140,96,77,0,109,244,61,123,132,1,192,10,123,253,108,0,168,138,166,132,122,14,161,13,226,183,141,159,204,9,215,210,239,59,27,66,41,241,18,220,201,207,77,27,76,141,27,66,217,252,111,95,156,196,14,249,222,184,126,28,213,41,221,50, +112,197,196,132,242,46,220,25,19,209,2,35,160,72,99,128,13,115,238,71,237,161,22,85,241,99,167,124,117,101,156,203,209,48,72,87,204,67,129,235,39,129,207,168,243,111,194,129,70,51,77,149,193,105,123,71,73,208,106,215,20,116,153,224,72,12,208,125,11,71, +242,216,213,163,209,176,94,160,123,2,252,226,134,15,27,58,54,253,131,180,38,32,237,151,90,15,87,158,234,161,66,106,233,87,36,224,163,200,223,149,19,125,233,199,11,149,82,254,27,105,255,169,164,187,78,250,255,195,171,24,158,93,31,168,168,35,55,101,99, +204,100,22,149,25,74,36,81,221,176,18,79,207,121,54,154,238,125,36,212,223,213,152,192,241,242,30,8,252,145,22,152,54,227,28,180,13,61,7,193,193,12,60,20,46,108,213,145,247,85,156,17,236,177,222,64,238,128,57,157,221,99,10,200,169,5,35,120,156,35,176, +139,69,123,158,221,199,36,1,25,134,74,162,78,149,210,79,196,220,80,43,240,200,234,0,63,95,146,83,209,192,237,245,58,49,68,227,126,41,91,120,207,27,121,21,8,242,226,117,30,226,78,35,169,97,250,148,115,236,93,242,48,182,239,220,167,10,62,138,75,190,142, +36,249,39,194,60,16,177,8,245,147,235,71,105,235,73,23,207,198,254,108,57,18,44,116,82,231,157,99,0,123,62,119,85,209,19,108,2,88,100,127,93,127,60,20,122,98,184,2,129,102,81,167,104,229,79,196,136,221,142,149,125,80,218,120,122,221,38,221,191,62,18, +0,190,185,87,224,110,73,236,203,79,241,48,84,154,130,151,54,6,248,214,139,57,117,140,154,63,204,11,207,163,34,107,60,129,126,109,59,177,236,229,199,84,53,16,169,127,171,26,59,51,190,237,68,154,7,178,253,20,254,29,55,126,28,82,147,174,66,75,107,166,160, +89,214,230,88,58,27,139,233,209,178,112,75,9,59,164,217,50,131,69,234,194,52,120,234,234,28,179,66,152,29,49,15,29,25,60,115,24,87,245,252,148,24,162,247,79,29,192,240,169,25,62,250,72,32,248,227,5,57,229,81,16,14,88,185,55,84,169,102,59,129,52,114,149, +228,249,43,202,61,180,174,124,26,235,215,173,87,160,136,198,178,211,67,38,16,72,89,64,91,110,213,209,56,247,227,105,30,218,11,11,211,61,17,3,208,207,149,215,124,4,153,202,161,64,163,1,0,118,65,204,35,106,222,35,175,90,114,130,74,194,156,11,168,21,216, +117,146,67,45,29,143,120,176,147,5,106,182,68,204,142,124,97,134,1,102,74,6,160,194,15,170,8,62,67,130,192,235,39,123,216,211,40,240,150,36,248,156,173,161,82,149,228,42,146,244,43,9,17,44,154,49,168,6,79,72,73,31,148,104,198,242,151,255,160,92,191,84, +90,55,85,18,19,208,56,118,138,2,18,30,176,243,122,221,53,121,219,35,118,41,102,56,82,223,255,145,246,91,215,143,76,64,223,62,213,184,113,246,77,248,229,214,0,241,98,102,113,17,75,71,132,63,26,70,232,158,116,176,233,254,161,236,107,96,87,245,52,222,64, +162,104,253,2,235,17,68,157,65,74,19,8,52,102,117,246,144,194,193,255,126,113,66,117,239,126,127,110,30,131,122,1,7,90,226,136,33,225,10,143,199,225,99,120,238,44,1,15,141,111,60,138,149,43,94,87,43,125,20,171,95,122,232,180,217,225,205,238,56,247,163, +209,10,71,59,20,202,14,119,164,247,207,189,232,10,76,158,118,42,252,45,45,138,153,225,199,106,159,185,81,173,118,24,161,163,194,211,19,151,14,142,252,211,162,12,161,49,1,190,9,105,6,65,140,212,99,187,77,49,123,134,97,210,198,143,172,214,39,216,120,80, +96,233,206,0,187,26,67,41,253,26,75,164,205,234,35,142,27,17,205,250,215,113,4,142,1,233,60,54,45,122,12,117,13,77,72,166,203,218,245,159,41,232,66,139,54,213,214,214,42,144,72,90,225,68,153,7,186,6,169,126,114,255,42,210,62,198,93,120,19,26,36,243,39, +184,147,81,141,135,169,149,140,4,186,61,5,197,141,38,61,162,1,152,177,253,122,122,151,30,214,104,129,93,50,90,188,201,230,1,116,13,0,156,185,127,116,220,204,161,76,117,248,44,216,30,226,87,203,2,85,36,66,57,1,238,182,157,133,133,88,67,251,124,102,50, +156,159,64,197,193,215,177,254,205,69,224,126,226,136,128,201,78,224,36,211,80,95,95,175,204,3,105,5,219,34,222,93,230,129,126,232,122,116,237,201,103,158,141,214,161,231,163,94,226,158,202,20,143,38,159,219,133,79,24,43,237,13,184,12,80,74,242,59,98, +132,110,211,0,209,58,63,209,80,7,61,37,60,90,242,181,56,114,232,233,79,82,252,255,146,177,12,31,153,238,225,215,146,240,127,94,175,83,187,21,9,235,89,152,47,25,162,112,89,56,7,125,210,91,85,41,96,207,139,15,97,231,158,125,240,18,233,46,33,231,98,243, +64,166,129,152,225,120,155,7,218,103,93,63,18,140,201,23,223,128,154,160,18,101,94,168,34,166,110,206,180,35,4,104,207,231,150,146,217,253,61,179,102,144,113,249,168,194,202,119,66,191,161,169,197,183,35,100,162,153,62,110,225,136,42,2,101,120,99,119, +168,84,191,45,225,182,196,38,192,24,132,186,159,192,43,92,2,56,10,60,209,186,190,229,45,187,240,250,107,207,72,213,233,29,54,54,165,83,56,198,49,15,251,246,237,83,230,129,92,72,98,4,74,36,117,214,60,116,196,12,116,14,178,253,116,141,9,99,71,163,98,234, +95,99,127,107,155,20,2,63,90,230,94,8,7,1,116,48,95,184,148,9,232,49,47,128,174,159,78,234,178,46,22,207,121,86,146,153,244,96,34,118,122,13,62,33,226,53,125,212,36,80,249,220,151,237,18,88,181,95,127,153,164,23,191,15,196,99,229,34,73,11,163,53,98,34, +96,168,178,141,7,182,98,223,238,157,82,2,252,35,218,235,206,152,7,34,182,53,15,196,0,132,19,58,99,30,58,194,3,145,235,39,247,79,59,255,26,212,167,71,74,238,111,150,130,226,43,176,28,173,146,238,226,168,78,106,128,246,204,193,9,211,0,34,90,216,65,152, +229,227,98,2,169,210,236,104,76,140,48,203,187,26,208,200,116,243,70,24,198,147,195,67,179,192,148,85,247,133,90,205,204,29,52,46,164,213,2,34,159,65,174,196,188,220,174,44,232,108,147,69,54,162,102,143,39,149,173,138,53,140,121,160,205,14,145,238,172, +121,32,233,183,57,255,129,253,42,49,232,172,143,98,71,107,104,39,219,74,179,199,17,173,166,44,58,54,1,246,62,221,49,49,157,101,248,238,171,9,52,4,165,24,128,142,102,233,254,63,234,233,203,230,116,125,159,111,214,6,212,31,18,81,32,40,10,231,194,229,254, +104,1,130,130,53,132,237,210,241,204,174,248,197,204,114,50,229,253,245,250,123,205,117,237,38,68,58,122,72,4,202,72,194,105,173,94,146,84,146,124,194,4,110,185,181,107,30,232,88,50,15,116,77,183,193,163,189,235,90,215,143,174,51,101,214,197,200,244, +63,67,2,143,76,20,49,77,219,1,154,44,158,153,200,186,128,1,220,54,177,19,31,10,70,76,43,238,204,251,201,25,251,77,18,172,87,17,119,241,141,118,1,184,237,40,118,24,159,51,119,80,148,93,108,42,126,175,208,27,212,217,160,176,239,4,140,153,56,13,249,92,91, +167,212,188,43,53,244,32,201,222,79,153,50,69,5,137,236,42,94,118,46,159,11,226,172,121,32,6,217,182,109,27,182,110,221,170,76,5,17,182,189,144,51,237,35,13,66,174,95,47,137,246,198,94,48,27,245,185,4,173,79,162,190,51,53,194,132,174,202,23,49,80,42, +69,79,59,57,164,212,235,17,177,78,119,17,159,179,194,197,190,149,251,38,116,85,46,227,113,107,88,60,24,26,209,90,131,156,199,235,254,57,117,34,113,243,104,36,241,206,36,49,163,13,132,26,16,30,160,145,149,99,202,21,159,70,223,202,180,146,224,174,216,124, +218,198,140,25,19,13,107,160,229,219,105,141,94,59,48,178,120,25,22,55,243,70,132,221,181,107,151,26,51,71,177,5,210,18,165,18,51,196,36,116,95,19,166,156,6,127,220,37,200,211,113,76,175,81,100,35,166,5,161,117,39,80,86,74,3,184,68,119,87,18,235,17,13, +192,29,180,226,46,249,170,236,187,167,129,160,82,131,96,69,223,212,153,20,202,28,34,23,5,147,224,6,154,204,206,104,137,25,115,190,64,62,197,252,164,107,113,229,39,190,130,114,63,68,214,89,163,239,72,241,116,178,231,20,8,82,193,25,169,210,55,110,220,136, +154,154,26,140,31,63,62,106,222,236,200,123,160,141,136,187,127,255,126,197,8,59,118,236,136,204,7,85,233,144,22,161,191,201,245,155,116,193,71,80,207,251,192,67,62,50,125,9,219,203,232,44,126,121,36,12,80,44,249,157,45,14,237,62,12,96,26,67,116,49,136, +110,12,33,155,79,161,91,59,52,66,8,68,171,129,195,44,5,19,161,94,225,158,203,174,29,40,74,170,65,59,76,90,8,235,76,106,164,121,40,195,80,125,217,55,241,145,190,195,177,232,225,59,176,113,195,90,53,90,38,145,76,117,88,40,161,6,71,72,34,217,169,219,164, +254,237,108,158,206,186,89,174,121,32,91,79,128,143,152,138,250,16,72,75,208,249,70,143,24,134,222,167,127,24,187,179,121,216,53,46,237,153,117,77,67,108,3,98,161,40,125,191,118,144,148,59,80,162,51,109,226,221,150,12,42,6,112,100,141,40,151,79,121,124, +50,3,176,90,212,13,24,89,98,154,101,100,66,103,53,81,187,10,152,25,61,29,77,19,205,25,15,67,229,30,130,120,173,98,117,14,249,64,106,154,57,210,103,252,29,46,158,250,65,156,190,226,9,172,121,249,247,120,123,197,98,52,171,110,219,100,201,53,0,72,122,73, +69,211,15,1,188,129,3,7,42,245,79,210,236,2,172,174,6,151,72,163,208,166,204,133,100,140,241,239,189,10,181,229,227,209,214,212,170,132,133,26,105,201,254,147,144,88,65,113,158,74,187,105,0,87,242,139,23,169,236,97,13,160,147,65,189,211,192,8,233,37, +81,34,103,108,95,134,153,67,117,235,55,103,58,52,204,245,10,173,202,246,209,23,39,41,165,176,111,117,90,191,71,251,41,60,236,153,115,214,103,153,170,19,172,107,1,70,247,134,234,3,216,121,72,160,95,153,252,76,74,187,133,53,45,58,116,76,15,177,78,114,221, +222,150,193,56,237,234,191,199,37,31,250,24,176,117,14,22,60,117,63,158,125,238,121,236,222,179,79,161,209,68,162,176,130,150,236,55,33,123,2,119,59,119,238,140,2,63,116,140,173,182,61,218,224,18,17,171,79,117,5,174,190,126,54,248,24,249,125,179,158, +154,92,74,197,50,116,191,253,203,153,26,114,49,184,146,169,57,198,54,120,214,158,29,112,109,126,87,102,4,118,163,6,208,85,189,118,113,40,234,202,153,212,31,152,54,16,24,86,9,220,52,93,175,30,110,251,3,168,65,211,141,233,83,180,143,36,161,182,213,44,247, +26,106,236,64,65,162,131,25,201,72,1,69,8,185,34,250,21,227,57,214,28,208,171,128,95,55,89,35,203,182,64,171,207,218,22,29,124,162,89,128,243,183,75,21,41,63,59,117,124,26,3,78,189,28,239,185,240,114,92,52,123,21,158,253,211,131,88,246,210,99,216,178, +113,173,74,25,39,146,233,200,134,219,24,189,85,167,182,254,190,84,178,165,43,204,144,147,234,127,242,121,23,97,252,233,103,203,207,169,126,105,148,249,186,35,154,24,151,74,221,166,13,242,212,51,156,179,53,175,150,217,225,172,99,55,208,53,1,174,134,234, +49,13,160,2,56,166,130,101,79,147,192,214,6,96,217,30,96,246,52,224,174,101,66,197,3,108,123,120,16,90,59,39,162,47,169,6,65,134,133,46,165,48,237,221,220,68,75,8,76,46,221,21,68,41,97,234,8,14,109,10,218,104,14,235,145,216,161,18,43,246,230,213,117, +232,74,201,228,84,164,223,63,21,151,94,240,121,52,173,122,26,235,94,145,230,225,141,69,168,59,212,12,47,145,140,164,182,212,50,177,93,137,41,20,19,171,151,116,242,199,156,119,35,238,92,238,33,215,218,106,190,187,150,126,154,116,246,141,139,25,230,73, +194,47,216,26,42,77,233,243,142,243,1,238,84,81,119,60,92,71,177,136,19,130,1,108,98,134,190,28,5,54,8,221,82,0,136,120,222,170,181,164,175,135,74,133,65,92,61,4,211,200,73,239,137,130,44,168,19,236,49,218,131,152,135,206,75,233,211,182,128,41,243,225, +113,17,237,87,56,193,92,139,122,4,233,119,29,143,160,89,131,57,181,175,153,15,70,114,230,205,56,99,230,141,56,125,219,60,172,127,229,1,172,152,255,172,50,3,62,153,135,78,52,88,116,150,17,242,242,154,163,198,140,69,98,252,37,72,72,233,167,238,104,91,5, +109,61,38,98,88,234,161,244,61,59,207,136,21,38,134,58,96,128,226,22,241,30,209,0,238,53,163,85,187,13,160,83,245,0,81,37,80,156,16,242,60,91,14,102,230,255,211,205,187,57,112,131,17,60,238,156,84,30,115,213,68,142,42,41,37,143,175,13,21,193,175,159, +194,49,190,159,150,164,63,172,12,177,171,81,224,125,35,104,201,90,96,173,52,21,131,123,209,64,73,134,83,251,235,193,17,79,173,11,209,148,205,33,47,205,67,45,75,34,28,118,41,174,255,198,165,184,61,185,6,143,63,250,48,30,126,248,97,172,95,187,6,45,242, +96,210,4,157,5,128,237,153,7,30,6,152,116,209,223,160,181,124,8,88,182,205,228,55,140,7,99,52,33,21,184,86,166,76,50,40,140,195,128,237,217,118,23,4,22,15,138,236,49,19,80,252,234,25,247,46,48,37,78,228,18,134,54,108,235,100,242,108,125,136,103,10,75, +221,101,64,252,162,0,83,115,94,75,207,192,10,137,11,42,24,110,158,193,84,218,120,206,86,77,244,201,3,24,182,214,67,190,114,140,168,22,18,131,48,188,111,36,83,85,198,125,203,244,74,230,143,173,118,25,42,64,166,37,192,184,106,31,3,135,78,130,127,233,55, +113,225,228,207,226,156,117,127,198,214,185,15,96,241,162,5,168,107,144,230,193,79,192,79,36,186,228,9,40,219,47,113,197,144,193,131,48,248,172,27,112,48,136,195,214,214,255,167,81,138,76,126,39,178,249,253,43,76,87,19,47,93,108,211,145,9,232,249,92, +0,92,23,38,214,10,161,67,104,59,61,36,78,18,137,8,15,184,171,126,193,241,133,73,75,216,42,98,83,45,133,225,85,18,92,14,98,170,99,104,189,36,236,253,111,5,216,125,8,106,56,196,32,137,164,251,148,9,76,232,167,91,197,159,94,47,240,31,115,67,85,92,242,153, +89,28,15,174,18,42,99,153,52,235,14,81,9,249,223,203,253,253,203,129,175,60,157,83,147,77,153,55,0,179,46,249,56,110,184,225,6,252,238,79,243,176,127,209,3,88,185,224,25,236,220,181,91,85,29,81,76,161,179,230,33,148,12,112,234,89,151,35,215,127,18,88, +115,174,160,192,67,56,9,31,26,135,147,246,99,215,175,32,139,216,9,16,232,78,11,233,25,19,128,40,182,83,72,112,179,49,55,146,23,125,9,179,20,156,39,14,51,33,182,121,212,77,246,216,26,64,82,251,187,27,129,175,191,20,42,48,56,93,50,195,23,222,163,135,72, +255,105,93,160,212,252,67,171,133,234,37,216,92,71,45,101,12,183,94,196,241,218,78,129,45,117,194,20,94,232,248,196,229,210,163,152,40,205,195,247,230,6,242,111,34,2,169,211,28,254,106,132,135,71,222,246,80,59,228,98,12,189,233,98,140,189,114,45,106, +94,127,4,171,94,125,4,171,87,175,146,146,45,109,121,42,213,97,241,69,46,215,134,129,253,171,48,230,146,191,67,67,142,21,44,114,41,156,106,102,102,134,98,133,194,93,12,131,65,116,16,10,44,165,1,220,81,51,61,134,1,162,2,141,48,238,215,163,117,251,242,161, +51,34,222,9,1,155,244,87,180,82,184,13,239,186,76,100,83,164,158,167,61,137,29,13,68,84,40,149,127,138,148,244,247,14,99,88,40,137,251,139,229,161,196,1,76,37,88,246,54,106,237,114,222,40,134,191,145,24,225,165,45,33,158,89,111,151,176,211,61,139,83, +164,121,184,96,180,38,126,83,155,6,160,52,101,228,230,153,92,49,202,250,3,33,198,245,9,177,95,186,150,135,42,78,69,217,165,223,192,197,23,124,6,127,91,243,28,158,126,244,126,44,95,60,31,181,245,141,170,252,140,220,197,40,177,68,213,208,217,12,170,202, +124,124,224,19,255,140,220,240,115,33,90,219,34,83,23,229,53,194,56,165,29,56,191,187,130,192,57,235,20,3,184,217,200,30,139,4,70,18,46,16,125,41,2,128,36,177,145,4,195,233,36,62,172,247,205,73,19,115,253,121,238,48,151,125,24,244,133,105,246,207,181, +147,24,14,73,194,221,254,90,136,77,117,177,23,145,145,146,60,178,55,147,224,144,73,156,0,133,15,158,219,232,172,94,102,18,44,103,13,103,120,82,2,66,42,200,84,158,129,60,215,236,211,184,158,56,186,42,84,106,249,214,115,60,220,187,34,192,146,157,82,125, +83,208,138,245,199,45,55,222,136,212,233,31,193,232,197,11,176,247,181,7,176,74,154,135,61,187,119,161,45,175,23,198,73,75,183,103,210,180,169,56,235,186,47,65,156,246,183,168,207,4,202,75,137,38,169,137,56,43,163,108,126,160,155,103,120,39,74,193,220, +212,53,225,11,187,100,156,101,130,30,205,5,184,230,192,206,232,9,77,200,150,51,167,158,19,133,221,67,197,127,243,8,9,196,160,194,93,40,154,206,247,118,13,147,182,63,212,195,39,160,3,79,42,95,19,53,165,2,139,164,86,88,181,15,56,127,20,240,175,23,112,204, +221,38,240,170,100,6,170,189,36,47,98,231,33,58,38,142,195,127,96,2,199,100,169,21,126,48,47,40,232,105,188,118,138,167,226,13,180,8,38,3,85,244,248,216,219,226,161,110,232,5,24,114,195,5,24,253,254,13,56,180,105,1,90,14,108,147,232,222,67,213,80,169, +45,198,159,135,186,196,32,100,165,170,241,76,245,171,45,98,117,153,192,98,2,250,83,66,132,195,138,65,218,227,5,59,19,192,157,49,236,174,49,220,115,185,0,215,254,67,23,131,112,152,97,77,1,162,165,97,153,195,45,78,234,91,29,155,15,227,204,152,70,203,113, +66,136,36,117,76,111,10,52,209,144,73,166,98,12,76,119,82,40,47,195,125,104,244,186,98,175,192,234,3,90,218,201,20,140,148,158,193,2,201,8,45,210,71,189,116,28,151,15,61,196,48,233,127,79,29,164,53,192,127,47,10,149,121,32,134,202,72,130,252,113,77,40, +193,163,135,239,94,234,225,237,3,122,157,3,114,41,61,154,133,147,19,104,148,247,208,88,49,1,254,140,9,232,101,152,81,58,21,82,51,73,66,103,218,162,26,198,120,142,98,188,131,57,46,175,180,22,42,188,109,171,130,25,43,157,13,181,63,35,71,142,196,196,137, +19,143,138,78,221,194,0,170,228,203,72,123,104,107,254,88,97,116,47,26,7,227,160,96,215,37,180,238,158,199,75,152,6,85,39,47,212,131,26,89,173,25,96,66,95,45,185,251,154,89,36,173,194,204,36,166,124,1,117,25,83,110,128,84,255,210,221,4,8,41,116,204,48, +75,98,134,71,223,22,120,69,226,130,75,199,49,108,151,152,226,153,13,66,245,33,230,140,135,64,249,138,64,190,206,149,26,163,65,114,49,225,5,106,79,27,85,205,240,198,30,33,175,105,170,155,84,65,67,14,212,206,31,56,120,200,51,75,230,21,214,51,148,10,155, +233,251,37,48,75,195,52,108,189,132,93,37,13,96,199,157,86,221,214,25,100,19,65,214,206,19,35,208,172,190,134,108,97,145,135,219,20,98,61,7,70,32,200,59,172,84,160,224,23,50,13,4,40,95,222,170,37,241,96,107,28,242,141,207,207,20,202,127,114,157,246,28, +146,230,219,150,169,101,98,128,95,44,211,101,104,20,123,127,97,139,192,203,91,132,46,88,49,73,42,21,137,148,15,62,19,232,110,37,250,155,24,131,136,110,131,90,246,251,250,110,58,154,29,110,18,131,32,6,183,5,90,146,69,147,117,149,70,160,115,145,250,7,43, +44,2,101,172,123,52,117,183,185,129,197,21,172,150,17,90,109,61,64,145,183,0,81,88,12,226,82,95,20,121,24,246,92,100,2,158,219,100,75,206,237,66,20,142,251,104,164,239,96,134,25,130,197,129,23,139,69,34,59,106,254,240,141,27,42,10,43,177,212,55,224,38, +156,172,203,181,29,204,130,248,59,69,125,16,118,165,84,203,224,60,174,142,17,37,66,58,110,249,27,181,197,213,181,22,245,79,176,238,97,130,110,5,129,66,196,160,38,107,212,41,169,224,166,92,81,169,24,43,196,0,118,102,16,197,247,125,103,220,139,13,18,209, +62,215,156,248,102,192,164,125,159,152,129,222,242,162,200,163,126,37,41,228,44,198,9,188,104,70,81,32,28,55,211,20,169,194,152,46,59,243,32,52,173,107,244,86,202,215,141,44,150,105,173,167,66,117,9,9,47,94,229,148,198,211,217,65,149,22,15,209,117,232, +188,164,189,172,230,18,76,167,194,109,23,85,70,186,177,101,94,97,158,224,29,193,0,174,118,167,47,78,238,23,165,131,7,148,235,215,47,206,138,211,187,54,145,99,137,217,22,232,34,15,122,0,182,102,192,22,123,180,25,38,162,185,193,117,38,85,188,166,150,108, +58,208,191,12,248,212,25,250,156,205,242,193,205,217,6,44,151,170,250,140,193,58,78,208,39,197,36,176,210,215,77,152,220,106,20,1,12,245,57,91,115,49,65,245,144,73,253,126,75,62,46,58,161,193,148,196,40,91,235,5,22,237,0,62,56,145,225,189,195,245,36, +84,107,222,214,213,8,60,185,54,84,223,233,140,161,18,103,12,229,42,48,149,54,107,21,216,185,201,164,13,235,91,117,107,28,1,77,250,62,52,252,122,88,149,78,106,81,138,123,201,206,208,48,5,235,14,250,119,19,8,20,174,173,214,95,114,109,141,220,47,9,81,151, +209,221,189,4,116,8,19,216,37,96,114,97,92,253,75,15,154,30,14,61,236,172,169,43,32,111,198,54,76,54,153,66,95,229,175,231,180,244,16,225,22,239,210,175,116,141,154,22,253,208,8,173,239,107,22,210,91,16,202,29,204,5,58,107,152,55,177,234,140,209,70,9, +103,90,41,61,240,253,205,194,4,100,244,84,147,164,7,179,200,148,14,32,181,153,84,243,166,131,148,232,162,85,206,244,181,213,68,116,115,191,20,205,93,189,95,40,162,142,237,163,223,167,40,159,77,127,211,121,233,186,196,236,20,255,167,207,17,246,152,58, +72,107,51,154,141,96,65,52,227,246,249,176,147,159,1,184,227,234,168,48,168,208,225,90,42,240,32,105,154,191,93,171,109,55,95,192,156,9,161,81,176,135,21,206,29,182,118,214,186,83,68,204,132,153,59,76,190,250,139,91,226,182,51,91,61,68,207,122,111,19, +83,126,126,88,208,66,117,184,107,165,102,11,56,245,3,182,44,141,57,73,43,139,55,96,152,102,109,173,192,170,3,113,87,50,51,86,222,247,98,143,70,69,18,107,69,145,217,23,209,125,196,196,213,204,215,106,86,86,123,107,175,80,9,43,23,19,57,240,228,164,99,0, +129,66,76,23,215,5,26,196,76,28,254,230,94,173,218,209,14,208,139,218,161,75,164,149,61,94,240,32,76,117,113,92,244,65,110,94,113,65,169,77,33,123,60,118,33,97,186,149,14,243,46,139,122,176,237,66,87,238,250,7,202,20,56,190,107,210,84,57,139,2,92,23, +3,189,40,5,110,202,223,195,176,48,201,37,156,142,39,133,123,164,150,218,113,72,227,15,26,171,43,92,180,92,8,172,197,113,19,214,227,204,4,194,29,213,198,28,223,94,152,248,64,65,24,83,20,122,9,174,100,218,232,161,219,39,239,158,151,59,175,110,1,169,112, +104,237,243,88,115,68,253,5,208,211,68,93,36,111,179,140,140,89,2,178,130,101,141,89,209,53,133,136,67,119,12,177,43,87,224,173,58,73,156,40,184,197,11,219,188,237,208,7,230,132,63,221,72,169,189,130,147,113,20,39,163,9,112,11,119,130,68,186,50,149,146, +192,47,231,21,114,61,99,69,18,78,251,72,141,251,113,8,150,54,237,127,235,155,179,174,97,201,142,24,211,72,226,123,165,19,82,246,122,182,226,166,216,229,10,109,99,9,143,239,201,74,123,232,192,110,55,33,229,106,160,194,115,21,206,37,118,93,214,195,92,94, +86,186,120,198,213,34,162,196,119,161,198,23,51,235,32,56,25,77,64,104,110,44,191,254,149,123,95,216,183,118,244,142,124,46,160,174,126,95,34,120,5,98,109,81,8,67,137,218,126,86,172,70,11,19,69,16,69,68,116,8,86,42,220,45,68,161,59,90,236,67,187,9,40, +33,14,55,73,165,43,156,196,97,166,45,54,31,174,6,19,37,69,68,160,253,62,79,33,10,3,93,154,121,84,123,184,226,115,206,89,27,243,18,173,77,7,182,237,181,202,243,120,104,131,227,169,1,108,181,127,110,249,131,223,189,87,190,210,52,70,90,135,173,204,184,228, +221,58,153,252,47,248,135,8,77,14,102,147,220,106,205,107,96,182,240,88,153,192,63,78,196,23,230,134,200,65,107,54,231,77,152,27,108,54,12,192,222,165,229,81,63,91,10,14,83,249,112,198,60,207,140,17,182,147,74,3,184,12,16,154,155,76,153,107,176,119,25, +224,152,76,107,104,158,109,198,97,132,60,10,179,234,39,5,6,200,25,102,200,155,155,180,243,59,223,37,254,177,107,129,188,17,178,156,217,2,28,135,152,192,241,246,2,130,34,109,224,74,254,187,76,112,244,207,21,142,189,63,46,182,255,184,48,128,237,73,43,193, +4,97,9,162,191,203,0,199,198,0,162,157,87,213,105,220,35,12,64,131,146,62,249,201,79,186,117,103,130,86,133,76,84,14,16,185,67,123,223,37,252,241,103,134,146,206,234,228,201,147,143,250,164,172,171,29,174,239,254,252,101,253,188,235,155,255,31,255,249, +255,2,12,0,235,154,52,248,249,240,115,28,0,0,0,0,73,69,78,68,174,66,96,130,0,0 }; + +const char* projectIconXcodeIOS_png = (const char*) temp_binary_data_35; //================== RecentFilesMenuTemplate.nib ================== -static const unsigned char temp_binary_data_21[] = +static const unsigned char temp_binary_data_36[] = { 98,112,108,105,115,116,48,48,212,0,1,0,2,0,3,0,4,0,5,0,6,1,53,1,54,88,36,118,101,114,115,105,111,110,88,36,111,98,106,101,99,116,115,89,36,97,114,99,104,105,118,101,114,84,36,116,111,112,18,0,1,134,160,175,16,74,0,7,0,8,0,31,0,35,0,36,0,42,0,46,0,50, 0,53,0,57,0,74,0,77,0,78,0,86,0,87,0,97,0,112,0,113,0,114,0,119,0,120,0,121,0,124,0,128,0,129,0,132,0,143,0,144,0,145,0,149,0,153,0,162,0,163,0,164,0,169,0,173,0,180,0,181,0,182,0,185,0,192,0,193,0,200,0,201,0,208,0,209,0,216,0,217,0,224,0,225,0,226, 0,229,0,230,0,232,0,249,1,11,1,29,1,30,1,31,1,32,1,33,1,34,1,35,1,36,1,37,1,38,1,39,1,40,1,41,1,42,1,43,1,44,1,47,1,50,85,36,110,117,108,108,219,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,0,29,0, @@ -1231,7 +3983,477 @@ static const unsigned char temp_binary_data_21[] = 7,157,7,159,7,161,7,163,7,165,7,167,7,169,7,171,7,173,7,175,7,177,7,179,7,181,7,190,7,192,7,225,7,227,7,229,7,231,7,233,7,235,7,237,7,239,7,241,7,243,7,245,7,247,7,249,7,251,7,253,7,255,8,2,8,5,8,8,8,11,8,14,8,17,8,20,8,23,8,26,8,29,8,32,8,35,8,38,8, 41,8,44,8,53,8,55,8,56,8,65,8,67,8,68,8,77,8,92,8,97,8,115,8,120,8,134,0,0,0,0,0,0,2,2,0,0,0,0,0,0,1,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,136,0,0 }; -const char* RecentFilesMenuTemplate_nib = (const char*) temp_binary_data_21; +const char* RecentFilesMenuTemplate_nib = (const char*) temp_binary_data_36; + +//================== wizard_AnimatedApp.svg ================== +static const unsigned char temp_binary_data_37[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n"; + +const char* wizard_AnimatedApp_svg = (const char*) temp_binary_data_37; + +//================== wizard_AudioApp.svg ================== +static const unsigned char temp_binary_data_38[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n"; + +const char* wizard_AudioApp_svg = (const char*) temp_binary_data_38; + +//================== wizard_AudioPlugin.svg ================== +static const unsigned char temp_binary_data_39[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\t\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\r\n" +"\r\n"; + +const char* wizard_AudioPlugin_svg = (const char*) temp_binary_data_39; + +//================== wizard_ConsoleApp.svg ================== +static const unsigned char temp_binary_data_40[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\r\n" +"\r\n"; + +const char* wizard_ConsoleApp_svg = (const char*) temp_binary_data_40; + +//================== wizard_DLL.svg ================== +static const unsigned char temp_binary_data_41[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n"; + +const char* wizard_DLL_svg = (const char*) temp_binary_data_41; + +//================== wizard_GUI.svg ================== +static const unsigned char temp_binary_data_42[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n"; + +const char* wizard_GUI_svg = (const char*) temp_binary_data_42; + +//================== wizard_Highlight.svg ================== +static const unsigned char temp_binary_data_43[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n"; + +const char* wizard_Highlight_svg = (const char*) temp_binary_data_43; + +//================== wizard_Openfile.svg ================== +static const unsigned char temp_binary_data_44[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n"; + +const char* wizard_Openfile_svg = (const char*) temp_binary_data_44; + +//================== wizard_OpenGL.svg ================== +static const unsigned char temp_binary_data_45[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n"; + +const char* wizard_OpenGL_svg = (const char*) temp_binary_data_45; + +//================== wizard_StaticLibrary.svg ================== +static const unsigned char temp_binary_data_46[] = +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\t\r\n" +"\r\n" +"\r\n" +"\r\n"; + +const char* wizard_StaticLibrary_svg = (const char*) temp_binary_data_46; const char* getNamedResource (const char*, int&) throw(); @@ -1244,10 +4466,8 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) throw switch (hash) { - case 0x44be9398: numBytes = 2922; return AudioPluginXCodeScript_txt; - case 0x4a0cfd09: numBytes = 151; return background_tile_png; - case 0x763d39dc: numBytes = 1050; return colourscheme_dark_xml; - case 0xe8b08520: numBytes = 1050; return colourscheme_light_xml; + case 0x6cf2645e: numBytes = 1949; return jucer_AnimatedComponentTemplate_cpp; + case 0xafccbd3f: numBytes = 2991; return jucer_AudioComponentTemplate_cpp; case 0x27c5a93a: numBytes = 1180; return jucer_AudioPluginEditorTemplate_cpp; case 0x4d0721bf: numBytes = 1012; return jucer_AudioPluginEditorTemplate_h; case 0x51b49ac5: numBytes = 5039; return jucer_AudioPluginFilterTemplate_cpp; @@ -1259,13 +4479,40 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) throw case 0x28d496ad: numBytes = 1143; return jucer_InlineComponentTemplate_h; case 0x8905395b: numBytes = 470; return jucer_MainConsoleAppTemplate_cpp; case 0x5e5ea047: numBytes = 2010; return jucer_MainTemplate_NoWindow_cpp; + case 0xda2391f8: numBytes = 3866; return jucer_MainTemplate_SimpleWindow_cpp; case 0x400bc026: numBytes = 3778; return jucer_MainTemplate_Window_cpp; case 0xf4842835: numBytes = 1389; return jucer_NewComponentTemplate_cpp; case 0xe7bf237a: numBytes = 648; return jucer_NewComponentTemplate_h; case 0x02a2a077: numBytes = 262; return jucer_NewCppFileTemplate_cpp; case 0x0842c43c: numBytes = 308; return jucer_NewCppFileTemplate_h; case 0x36e634a1: numBytes = 1626; return jucer_NewInlineComponentTemplate_h; + case 0x7fbac252: numBytes = 1827; return jucer_OpenGLComponentTemplate_cpp; + case 0x44be9398: numBytes = 2922; return AudioPluginXCodeScript_txt; + case 0x4a0cfd09: numBytes = 151; return background_tile_png; + case 0x763d39dc: numBytes = 1050; return colourscheme_dark_xml; + case 0xe8b08520: numBytes = 1050; return colourscheme_light_xml; + case 0x154a7275: numBytes = 83091; return juce_icon_png; + case 0x507a15c7: numBytes = 8150; return projectIconAndroid_png; + case 0xe8e2796f: numBytes = 11917; return projectIconCodeblocks_png; + case 0x90374ad6: numBytes = 16444; return projectIconLinuxMakefile_png; + case 0x517aa477: numBytes = 6986; return projectIconVisualStudio05_png; + case 0x51a4eafa: numBytes = 7099; return projectIconVisualStudio08_png; + case 0x52e90791: numBytes = 6712; return projectIconVisualStudio10_png; + case 0x53053693: numBytes = 6637; return projectIconVisualStudio12_png; + case 0x53134e14: numBytes = 6719; return projectIconVisualStudio13_png; + case 0xecc12a3d: numBytes = 18281; return projectIconXcode_png; + case 0x9d3ae124: numBytes = 18111; return projectIconXcodeIOS_png; case 0xa41e649d: numBytes = 2842; return RecentFilesMenuTemplate_nib; + case 0x1f3b6d2f: numBytes = 2963; return wizard_AnimatedApp_svg; + case 0x60296d04: numBytes = 9802; return wizard_AudioApp_svg; + case 0x1115ccda: numBytes = 10809; return wizard_AudioPlugin_svg; + case 0x1d65d363: numBytes = 1204; return wizard_ConsoleApp_svg; + case 0xba5a4595: numBytes = 3588; return wizard_DLL_svg; + case 0x683e4e6c: numBytes = 3448; return wizard_GUI_svg; + case 0x2e6bf065: numBytes = 638; return wizard_Highlight_svg; + case 0x52a8dfdf: numBytes = 686; return wizard_Openfile_svg; + case 0x58e2ae48: numBytes = 2497; return wizard_OpenGL_svg; + case 0xb1da6f9e: numBytes = 3563; return wizard_StaticLibrary_svg; default: break; } @@ -1275,10 +4522,8 @@ const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) throw const char* namedResourceList[] = { - "AudioPluginXCodeScript_txt", - "background_tile_png", - "colourscheme_dark_xml", - "colourscheme_light_xml", + "jucer_AnimatedComponentTemplate_cpp", + "jucer_AudioComponentTemplate_cpp", "jucer_AudioPluginEditorTemplate_cpp", "jucer_AudioPluginEditorTemplate_h", "jucer_AudioPluginFilterTemplate_cpp", @@ -1290,13 +4535,40 @@ const char* namedResourceList[] = "jucer_InlineComponentTemplate_h", "jucer_MainConsoleAppTemplate_cpp", "jucer_MainTemplate_NoWindow_cpp", + "jucer_MainTemplate_SimpleWindow_cpp", "jucer_MainTemplate_Window_cpp", "jucer_NewComponentTemplate_cpp", "jucer_NewComponentTemplate_h", "jucer_NewCppFileTemplate_cpp", "jucer_NewCppFileTemplate_h", "jucer_NewInlineComponentTemplate_h", - "RecentFilesMenuTemplate_nib" + "jucer_OpenGLComponentTemplate_cpp", + "AudioPluginXCodeScript_txt", + "background_tile_png", + "colourscheme_dark_xml", + "colourscheme_light_xml", + "juce_icon_png", + "projectIconAndroid_png", + "projectIconCodeblocks_png", + "projectIconLinuxMakefile_png", + "projectIconVisualStudio05_png", + "projectIconVisualStudio08_png", + "projectIconVisualStudio10_png", + "projectIconVisualStudio12_png", + "projectIconVisualStudio13_png", + "projectIconXcode_png", + "projectIconXcodeIOS_png", + "RecentFilesMenuTemplate_nib", + "wizard_AnimatedApp_svg", + "wizard_AudioApp_svg", + "wizard_AudioPlugin_svg", + "wizard_ConsoleApp_svg", + "wizard_DLL_svg", + "wizard_GUI_svg", + "wizard_Highlight_svg", + "wizard_Openfile_svg", + "wizard_OpenGL_svg", + "wizard_StaticLibrary_svg" }; } diff --git a/extras/Introjucer/JuceLibraryCode/BinaryData.h b/extras/Introjucer/JuceLibraryCode/BinaryData.h index b8ed5abff9..669c306bf6 100644 --- a/extras/Introjucer/JuceLibraryCode/BinaryData.h +++ b/extras/Introjucer/JuceLibraryCode/BinaryData.h @@ -9,17 +9,11 @@ namespace BinaryData { - extern const char* AudioPluginXCodeScript_txt; - const int AudioPluginXCodeScript_txtSize = 2922; + extern const char* jucer_AnimatedComponentTemplate_cpp; + const int jucer_AnimatedComponentTemplate_cppSize = 1949; - extern const char* background_tile_png; - const int background_tile_pngSize = 151; - - extern const char* colourscheme_dark_xml; - const int colourscheme_dark_xmlSize = 1050; - - extern const char* colourscheme_light_xml; - const int colourscheme_light_xmlSize = 1050; + extern const char* jucer_AudioComponentTemplate_cpp; + const int jucer_AudioComponentTemplate_cppSize = 2991; extern const char* jucer_AudioPluginEditorTemplate_cpp; const int jucer_AudioPluginEditorTemplate_cppSize = 1180; @@ -54,6 +48,9 @@ namespace BinaryData extern const char* jucer_MainTemplate_NoWindow_cpp; const int jucer_MainTemplate_NoWindow_cppSize = 2010; + extern const char* jucer_MainTemplate_SimpleWindow_cpp; + const int jucer_MainTemplate_SimpleWindow_cppSize = 3866; + extern const char* jucer_MainTemplate_Window_cpp; const int jucer_MainTemplate_Window_cppSize = 3778; @@ -72,14 +69,92 @@ namespace BinaryData extern const char* jucer_NewInlineComponentTemplate_h; const int jucer_NewInlineComponentTemplate_hSize = 1626; + extern const char* jucer_OpenGLComponentTemplate_cpp; + const int jucer_OpenGLComponentTemplate_cppSize = 1827; + + extern const char* AudioPluginXCodeScript_txt; + const int AudioPluginXCodeScript_txtSize = 2922; + + extern const char* background_tile_png; + const int background_tile_pngSize = 151; + + extern const char* colourscheme_dark_xml; + const int colourscheme_dark_xmlSize = 1050; + + extern const char* colourscheme_light_xml; + const int colourscheme_light_xmlSize = 1050; + + extern const char* juce_icon_png; + const int juce_icon_pngSize = 83091; + + extern const char* projectIconAndroid_png; + const int projectIconAndroid_pngSize = 8150; + + extern const char* projectIconCodeblocks_png; + const int projectIconCodeblocks_pngSize = 11917; + + extern const char* projectIconLinuxMakefile_png; + const int projectIconLinuxMakefile_pngSize = 16444; + + extern const char* projectIconVisualStudio05_png; + const int projectIconVisualStudio05_pngSize = 6986; + + extern const char* projectIconVisualStudio08_png; + const int projectIconVisualStudio08_pngSize = 7099; + + extern const char* projectIconVisualStudio10_png; + const int projectIconVisualStudio10_pngSize = 6712; + + extern const char* projectIconVisualStudio12_png; + const int projectIconVisualStudio12_pngSize = 6637; + + extern const char* projectIconVisualStudio13_png; + const int projectIconVisualStudio13_pngSize = 6719; + + extern const char* projectIconXcode_png; + const int projectIconXcode_pngSize = 18281; + + extern const char* projectIconXcodeIOS_png; + const int projectIconXcodeIOS_pngSize = 18111; + extern const char* RecentFilesMenuTemplate_nib; const int RecentFilesMenuTemplate_nibSize = 2842; + extern const char* wizard_AnimatedApp_svg; + const int wizard_AnimatedApp_svgSize = 2963; + + extern const char* wizard_AudioApp_svg; + const int wizard_AudioApp_svgSize = 9802; + + extern const char* wizard_AudioPlugin_svg; + const int wizard_AudioPlugin_svgSize = 10809; + + extern const char* wizard_ConsoleApp_svg; + const int wizard_ConsoleApp_svgSize = 1204; + + extern const char* wizard_DLL_svg; + const int wizard_DLL_svgSize = 3588; + + extern const char* wizard_GUI_svg; + const int wizard_GUI_svgSize = 3448; + + extern const char* wizard_Highlight_svg; + const int wizard_Highlight_svgSize = 638; + + extern const char* wizard_Openfile_svg; + const int wizard_Openfile_svgSize = 686; + + extern const char* wizard_OpenGL_svg; + const int wizard_OpenGL_svgSize = 2497; + + extern const char* wizard_StaticLibrary_svg; + const int wizard_StaticLibrary_svgSize = 3563; + // Points to the start of a list of resource names. extern const char* namedResourceList[]; // Number of elements in the namedResourceList array. - const int namedResourceListSize = 22; + const int namedResourceListSize = 47; // If you provide the name of one of the binary resource variables above, this function will // return the corresponding data and its size (or a null pointer if the name isn't found). diff --git a/extras/Introjucer/Source/Application/jucer_AutoUpdater.h b/extras/Introjucer/Source/Application/jucer_AutoUpdater.h new file mode 100644 index 0000000000..f4d83c3f50 --- /dev/null +++ b/extras/Introjucer/Source/Application/jucer_AutoUpdater.h @@ -0,0 +1,422 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + +#ifndef JUCER_AUTOUPDATER_H_INCLUDED +#define JUCER_AUTOUPDATER_H_INCLUDED + + + +//============================================================================== +class LatestVersionChecker : private Thread, + private Timer +{ +public: + LatestVersionChecker() : Thread ("Updater"), + hasAttemptedToReadWebsite (false) + { + startTimer (2000); + } + + ~LatestVersionChecker() + { + stopThread (20000); + } + + static URL getLatestVersionURL() + { + return URL ("http://www.juce.com/juce/updates/updatelist.php"); + } + + void checkForNewVersion() + { + hasAttemptedToReadWebsite = true; + + { + const ScopedPointer in (getLatestVersionURL().createInputStream (false)); + + if (in == nullptr || threadShouldExit()) + return; // can't connect: fail silently. + + jsonReply = JSON::parse (in->readEntireStreamAsString()); + } + + if (threadShouldExit()) + return; + + if (jsonReply.isArray() || jsonReply.isObject()) + startTimer (100); + } + + void processResult (var reply) + { + if (reply.isArray()) + { + askUserAboutNewVersion (VersionInfo (reply[0])); + } + else if (reply.isObject()) + { + // In the far-distant future, this may be contacting a defunct + // URL, so hopefully the website will contain a helpful message + // for the user.. + String message = reply.getProperty ("message", var()).toString(); + + if (message.isNotEmpty()) + { + AlertWindow::showMessageBox (AlertWindow::WarningIcon, + TRANS("JUCE Updater"), + message); + } + } + } + + struct VersionInfo + { + VersionInfo (var v) + { + version = v.getProperty ("version", var()).toString().trim(); + + url = v.getProperty ( + #if JUCE_MAC + "url_osx", + #elif JUCE_WINDOWS + "url_win", + #elif JUCE_LINUX + "url_linux", + #endif + var()).toString(); + } + + bool isDifferentVersionToCurrent() const + { + return version != JUCE_STRINGIFY(JUCE_MAJOR_VERSION) + "." JUCE_STRINGIFY(JUCE_MINOR_VERSION) + "." JUCE_STRINGIFY(JUCE_BUILDNUMBER) + && version.containsChar ('.') + && version.length() > 2; + } + + String version; + URL url; + }; + + void askUserAboutNewVersion (const VersionInfo& info) + { + if (info.isDifferentVersionToCurrent()) + { + File appParentFolder (File::getSpecialLocation (File::currentApplicationFile).getParentDirectory()); + + if (isZipFolder (appParentFolder)) + { + int result = AlertWindow::showYesNoCancelBox (AlertWindow::InfoIcon, + TRANS("Download JUCE version 123?").replace ("123", info.version), + TRANS("A new version of JUCE is available - would you like to overwrite the folder:\n\n" + "xfldrx\n\n" + " ..with the latest version from juce.com?\n\n" + "(Please note that this will overwrite everything in that folder!)") + .replace ("xfldrx", appParentFolder.getFullPathName()), + TRANS("Overwrite"), + TRANS("Choose another folder..."), + TRANS("Cancel")); + + if (result == 1) + DownloadNewVersionThread::performDownload (info.url, appParentFolder); + + if (result == 2) + askUserForLocationToDownload (info); + } + else + { + if (AlertWindow::showOkCancelBox (AlertWindow::InfoIcon, + TRANS("Download JUCE version 123?").replace ("123", info.version), + TRANS("A new version of JUCE is available - would you like to download it?"))) + askUserForLocationToDownload (info); + } + } + } + + void askUserForLocationToDownload (const VersionInfo& info) + { + File targetFolder (findDefaultModulesFolder()); + + if (isJuceModulesFolder (targetFolder)) + targetFolder = targetFolder.getParentDirectory(); + + FileChooser chooser (TRANS("Please select the location into which you'd like to install the new version"), + targetFolder); + + if (chooser.browseForDirectory()) + { + targetFolder = chooser.getResult(); + + if (isJuceModulesFolder (targetFolder)) + targetFolder = targetFolder.getParentDirectory(); + + if (targetFolder.getChildFile ("JUCE").isDirectory()) + targetFolder = targetFolder.getChildFile ("JUCE"); + + if (targetFolder.getChildFile (".git").isDirectory()) + { + AlertWindow::showMessageBox (AlertWindow::WarningIcon, + TRANS ("Downloading new JUCE version"), + TRANS ("This folder is a GIT repository!\n\n" + "You should use a \"git pull\" to update it to the latest version. " + "Or to use the Introjucer to get an update, you should select an empty " + "folder into which you'd like to download the new code.")); + + return; + } + + if (isJuceFolder (targetFolder)) + { + if (! AlertWindow::showOkCancelBox (AlertWindow::WarningIcon, + TRANS("Overwrite existing JUCE folder?"), + TRANS("Do you want to overwrite the folder:\n\n" + "xfldrx\n\n" + " ..with the latest version from juce.com?\n\n" + "(Please note that this will overwrite everything in that folder!)") + .replace ("xfldrx", targetFolder.getFullPathName()))) + { + return; + } + } + else + { + targetFolder = targetFolder.getChildFile ("JUCE").getNonexistentSibling(); + } + + DownloadNewVersionThread::performDownload (info.url, targetFolder); + } + } + + static bool isZipFolder (const File& f) + { + return f.getChildFile ("modules").isDirectory() + && f.getChildFile ("extras").isDirectory() + && f.getChildFile ("examples").isDirectory() + && ! f.getChildFile (".git").isDirectory(); + } + +private: + void timerCallback() override + { + stopTimer(); + + if (hasAttemptedToReadWebsite) + processResult (jsonReply); + else + startThread (3); + } + + void run() override + { + checkForNewVersion(); + } + + var jsonReply; + bool hasAttemptedToReadWebsite; + URL newVersionToDownload; + + //============================================================================== + class DownloadNewVersionThread : public ThreadWithProgressWindow + { + public: + DownloadNewVersionThread (URL u, File target) + : ThreadWithProgressWindow ("Downloading New Version", true, true), + result (Result::ok()), + url (u), targetFolder (target) + { + } + + static void performDownload (URL u, File targetFolder) + { + DownloadNewVersionThread d (u, targetFolder); + + if (d.runThread()) + { + if (d.result.failed()) + { + AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, + "Installation Failed", + d.result.getErrorMessage()); + } + else + { + new RelaunchTimer (targetFolder); + } + } + } + + void run() override + { + setProgress (-1.0); + + MemoryBlock zipData; + result = download (zipData); + + if (result.wasOk() && ! threadShouldExit()) + result = unzip (zipData); + } + + Result download (MemoryBlock& dest) + { + setStatusMessage ("Downloading..."); + + const ScopedPointer in (url.createInputStream (false, nullptr, nullptr, String::empty, 10000)); + + if (in != nullptr) + { + int64 total = 0; + MemoryOutputStream mo (dest, true); + + for (;;) + { + if (threadShouldExit()) + return Result::fail ("cancel"); + + int64 written = mo.writeFromInputStream (*in, 8192); + + if (written == 0) + break; + + total += written; + + setStatusMessage (String (TRANS ("Downloading... (123)")) + .replace ("123", File::descriptionOfSizeInBytes (total))); + } + + return Result::ok(); + } + + return Result::fail ("Failed to download from: " + url.toString (false)); + } + + Result unzip (const MemoryBlock& data) + { + setStatusMessage ("Installing..."); + + File unzipTarget; + bool isUsingTempFolder = false; + + { + MemoryInputStream input (data, false); + ZipFile zip (input); + + if (zip.getNumEntries() == 0) + return Result::fail ("The downloaded file wasn't a valid JUCE file!"); + + unzipTarget = targetFolder; + + if (unzipTarget.exists()) + { + isUsingTempFolder = true; + unzipTarget = targetFolder.getNonexistentSibling(); + + if (! unzipTarget.createDirectory()) + return Result::fail ("Couldn't create a folder to unzip the new version!"); + } + + Result r (zip.uncompressTo (unzipTarget)); + + if (r.failed()) + { + if (isUsingTempFolder) + unzipTarget.deleteRecursively(); + + return r; + } + } + + if (isUsingTempFolder) + { + File oldFolder (targetFolder.getSiblingFile (targetFolder.getFileNameWithoutExtension() + "_old").getNonexistentSibling()); + + if (! targetFolder.moveFileTo (oldFolder)) + { + unzipTarget.deleteRecursively(); + return Result::fail ("Could not remove the existing folder!"); + } + + if (! unzipTarget.moveFileTo (targetFolder)) + { + unzipTarget.deleteRecursively(); + return Result::fail ("Could not overwrite the existing folder!"); + } + } + + return Result::ok(); + } + + Result result; + URL url; + File targetFolder; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DownloadNewVersionThread) + }; + + struct RelaunchTimer : private Timer + { + RelaunchTimer (const File& f) : parentFolder (f) + { + startTimer (1500); + } + + void timerCallback() override + { + stopTimer(); + + File app = parentFolder.getChildFile ( + #if JUCE_MAC + "Introjucer.app"); + #elif JUCE_WINDOWS + "Introjucer.exe"); + #elif JUCE_LINUX + "Introjucer"); + #endif + + JUCEApplication::quit(); + + if (app.exists()) + { + app.setExecutePermission (true); + + #if JUCE_MAC + app.getChildFile("Contents") + .getChildFile("MacOS") + .getChildFile("Introjucer").setExecutePermission (true); + #endif + + app.startAsProcess(); + } + + delete this; + } + + File parentFolder; + }; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LatestVersionChecker) +}; + + +#endif // JUCER_AUTOUPDATER_H_INCLUDED diff --git a/extras/Introjucer/Source/Application/jucer_MainWindow.cpp b/extras/Introjucer/Source/Application/jucer_MainWindow.cpp index a1ce41966d..b716a2e114 100644 --- a/extras/Introjucer/Source/Application/jucer_MainWindow.cpp +++ b/extras/Introjucer/Source/Application/jucer_MainWindow.cpp @@ -27,7 +27,7 @@ #include "jucer_MainWindow.h" #include "jucer_OpenDocumentManager.h" #include "../Code Editor/jucer_SourceCodeEditor.h" -#include "../Project/jucer_NewProjectWizard.h" +#include "../Wizards/jucer_NewProjectWizardClasses.h" #include "../Utility/jucer_JucerTreeViewBase.h" @@ -39,12 +39,13 @@ MainWindow::MainWindow() false) { setUsingNativeTitleBar (true); - createProjectContentCompIfNeeded(); #if ! JUCE_MAC setMenuBar (IntrojucerApp::getApp().menuModel); #endif + createProjectContentCompIfNeeded(); + setResizable (true, false); centreWithSize (800, 600); @@ -58,7 +59,7 @@ MainWindow::MainWindow() { commandManager.getKeyMappings()->resetToDefaultMappings(); - ScopedPointer keys (getGlobalProperties().getXmlValue ("keyMappings")); + ScopedPointer keys (getGlobalProperties().getXmlValue ("keyMappings")); if (keys != nullptr) commandManager.getKeyMappings()->restoreFromXml (*keys); @@ -291,7 +292,10 @@ void MainWindow::showNewProjectWizard() { jassert (currentProject == nullptr); setContentOwned (createNewProjectWizardComponent(), true); - makeVisible(); + centreWithSize (900, 630); + setVisible (true); + addToDesktop(); + getContentComponent()->grabKeyboardFocus(); } //============================================================================== @@ -365,7 +369,7 @@ bool MainWindowList::askAllWindowsToClose() void MainWindowList::createWindowIfNoneAreOpen() { if (windows.size() == 0) - createNewMainWindow()->makeVisible(); + createNewMainWindow()->showNewProjectWizard(); } void MainWindowList::closeWindow (MainWindow* w) @@ -539,3 +543,39 @@ Project* MainWindowList::getFrontmostProject() return nullptr; } + +File findDefaultModulesFolder (bool mustContainJuceCoreModule) +{ + const MainWindowList& windows = IntrojucerApp::getApp().mainWindowList; + + for (int i = windows.windows.size(); --i >= 0;) + { + if (Project* p = windows.windows.getUnchecked (i)->getProject()) + { + const File f (EnabledModuleList::findDefaultModulesFolder (*p)); + + if (isJuceModulesFolder (f) || (f.isDirectory() && ! mustContainJuceCoreModule)) + return f; + } + } + + if (mustContainJuceCoreModule) + return findDefaultModulesFolder (false); + + File f (File::getSpecialLocation (File::currentApplicationFile)); + + for (;;) + { + File parent (f.getParentDirectory()); + + if (parent == f || ! parent.isDirectory()) + break; + + if (isJuceFolder (parent)) + return parent.getChildFile ("modules"); + + f = parent; + } + + return File::nonexistent; +} diff --git a/extras/Introjucer/Source/BinaryData/juce_icon.png b/extras/Introjucer/Source/BinaryData/juce_icon.png index 396aaeccb8..7706706404 100644 Binary files a/extras/Introjucer/Source/BinaryData/juce_icon.png and b/extras/Introjucer/Source/BinaryData/juce_icon.png differ diff --git a/extras/Demo/Resources/juce_icon.png b/extras/Introjucer/Source/BinaryData/juce_iconOLD.png similarity index 100% rename from extras/Demo/Resources/juce_icon.png rename to extras/Introjucer/Source/BinaryData/juce_iconOLD.png diff --git a/extras/Introjucer/Source/BinaryData/jucer_AnimatedComponentTemplate.cpp b/extras/Introjucer/Source/BinaryData/jucer_AnimatedComponentTemplate.cpp new file mode 100644 index 0000000000..3d1d46812a --- /dev/null +++ b/extras/Introjucer/Source/BinaryData/jucer_AnimatedComponentTemplate.cpp @@ -0,0 +1,71 @@ +/* + ============================================================================== + + This file was auto-generated! + + ============================================================================== +*/ + +#ifndef MAINCOMPONENT_H_INCLUDED +#define MAINCOMPONENT_H_INCLUDED + +INCLUDE_JUCE + +//============================================================================== +/* + This component lives inside our window, and this is where you should put all + your controls and content. +*/ +class MainContentComponent : public AnimatedAppComponent +{ +public: + //============================================================================== + MainContentComponent() + { + setSize (800, 600); + setFramesPerSecond (60); + } + + ~MainContentComponent() + { + } + + void update() override + { + // This function is called at the frequency specified by the setFramesPerSecond() call + // in the constructor. You can use it to update counters, animate values, etc. + } + + void paint (Graphics& g) override + { + // (Our component is opaque, so we must completely fill the background with a solid colour) + g.fillAll (Colours::black); + + + // You can add your drawing code here! + } + + void resized() override + { + // This is called when the MainContentComponent is resized. + // If you add any child components, this is where you should + // update their positions. + } + + +private: + //============================================================================== + + // Your private member variables go here... + + + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent) +}; + + +// (This function is called by the app startup code to create our main component) +Component* createMainContentComponent() { return new MainContentComponent(); } + + +#endif // MAINCOMPONENT_H_INCLUDED diff --git a/extras/Introjucer/Source/BinaryData/jucer_AudioComponentTemplate.cpp b/extras/Introjucer/Source/BinaryData/jucer_AudioComponentTemplate.cpp new file mode 100644 index 0000000000..f8279dfafc --- /dev/null +++ b/extras/Introjucer/Source/BinaryData/jucer_AudioComponentTemplate.cpp @@ -0,0 +1,95 @@ +/* + ============================================================================== + + This file was auto-generated! + + ============================================================================== +*/ + +#ifndef MAINCOMPONENT_H_INCLUDED +#define MAINCOMPONENT_H_INCLUDED + +INCLUDE_JUCE + +//============================================================================== +/* + This component lives inside our window, and this is where you should put all + your controls and content. +*/ +class MainContentComponent : public AudioAppComponent +{ +public: + //============================================================================== + MainContentComponent() + { + setSize (800, 600); + + // specify the number of input and output channels that we want to open + setAudioChannels (2, 2); + } + + ~MainContentComponent() + { + shutdownAudio(); + } + + //======================================================================= + void prepareToPlay (int samplesPerBlockExpected, double sampleRate) override + { + // This function will be called when the audio device is started, or when + // its settings (i.e. sample rate, block size, etc) are changed. + + // You can use this function to initialise any resources you might need, + // but be careful - it will be called on the audio thread, not the GUI thread. + + // For more details, see the help for AudioProcessor::prepareToPlay() + } + + void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) override + { + // Your audio-processing code goes here! + + // For more details, see the help for AudioProcessor::getNextAudioBlock() + } + + void releaseResources() override + { + // This will be called when the audio device stops, or when it is being + // restarted due to a setting change. + + // For more details, see the help for AudioProcessor::releaseResources() + } + + //======================================================================= + void paint (Graphics& g) override + { + // (Our component is opaque, so we must completely fill the background with a solid colour) + g.fillAll (Colours::black); + + + // You can add your drawing code here! + } + + void resized() override + { + // This is called when the MainContentComponent is resized. + // If you add any child components, this is where you should + // update their positions. + } + + +private: + //============================================================================== + + // Your private member variables go here... + + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent) +}; + + +// (This function is called by the app startup code to create our main component) +Component* createMainContentComponent() { return new MainContentComponent(); } + + +#endif // MAINCOMPONENT_H_INCLUDED diff --git a/extras/Introjucer/Source/BinaryData/jucer_ContentCompTemplate.cpp b/extras/Introjucer/Source/BinaryData/jucer_ContentCompTemplate.cpp index a6e5d29ff4..e26f687afd 100644 --- a/extras/Introjucer/Source/BinaryData/jucer_ContentCompTemplate.cpp +++ b/extras/Introjucer/Source/BinaryData/jucer_ContentCompTemplate.cpp @@ -12,7 +12,7 @@ INCLUDE_CORRESPONDING_HEADER //============================================================================== CONTENTCOMPCLASS::CONTENTCOMPCLASS() { - setSize (500, 400); + setSize (600, 400); } CONTENTCOMPCLASS::~CONTENTCOMPCLASS() @@ -21,10 +21,10 @@ CONTENTCOMPCLASS::~CONTENTCOMPCLASS() void CONTENTCOMPCLASS::paint (Graphics& g) { - g.fillAll (Colour (0xffeeddff)); + g.fillAll (Colour (0xff001F36)); g.setFont (Font (16.0f)); - g.setColour (Colours::black); + g.setColour (Colours::white); g.drawText ("Hello World!", getLocalBounds(), Justification::centred, true); } diff --git a/extras/Introjucer/Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp b/extras/Introjucer/Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp new file mode 100644 index 0000000000..4e22c675d5 --- /dev/null +++ b/extras/Introjucer/Source/BinaryData/jucer_MainTemplate_SimpleWindow.cpp @@ -0,0 +1,101 @@ +/* + ============================================================================== + + This file was auto-generated by the Introjucer! + + It contains the basic startup code for a Juce application. + + ============================================================================== +*/ + +APPHEADERS + +Component* createMainContentComponent(); + +//============================================================================== +class APPCLASSNAME : public JUCEApplication +{ +public: + //============================================================================== + APPCLASSNAME() {} + + const String getApplicationName() override { return ProjectInfo::projectName; } + const String getApplicationVersion() override { return ProjectInfo::versionString; } + bool moreThanOneInstanceAllowed() override { return ALLOWMORETHANONEINSTANCE; } + + //============================================================================== + void initialise (const String& commandLine) override + { + // This method is where you should put your application's initialisation code.. + + mainWindow = new MainWindow (getApplicationName()); + } + + void shutdown() override + { + // Add your application's shutdown code here.. + + mainWindow = nullptr; // (deletes our window) + } + + //============================================================================== + void systemRequestedQuit() override + { + // This is called when the app is being asked to quit: you can ignore this + // request and let the app carry on running, or call quit() to allow the app to close. + quit(); + } + + void anotherInstanceStarted (const String& commandLine) override + { + // When another instance of the app is launched while this one is running, + // this method is invoked, and the commandLine parameter tells you what + // the other instance's command-line arguments were. + } + + //============================================================================== + /* + This class implements the desktop window that contains an instance of + our CONTENTCOMPCLASS class. + */ + class MainWindow : public DocumentWindow + { + public: + MainWindow (String name) : DocumentWindow (name, + Colours::lightgrey, + DocumentWindow::allButtons) + { + setUsingNativeTitleBar (true); + setContentOwned (createMainContentComponent(), true); + setResizable (true, true); + + centreWithSize (getWidth(), getHeight()); + setVisible (true); + } + + void closeButtonPressed() override + { + // This is called when the user tries to close this window. Here, we'll just + // ask the app to quit when this happens, but you can change this to do + // whatever you need. + JUCEApplication::getInstance()->systemRequestedQuit(); + } + + /* Note: Be careful if you override any DocumentWindow methods - the base + class uses a lot of them, so by overriding you might break its functionality. + It's best to do all your work in your content component instead, but if + you really have to override any DocumentWindow methods, make sure your + subclass also calls the superclass's method. + */ + + private: + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainWindow) + }; + +private: + ScopedPointer mainWindow; +}; + +//============================================================================== +// This macro generates the main() routine that launches the app. +START_JUCE_APPLICATION (APPCLASSNAME) diff --git a/extras/Introjucer/Source/BinaryData/jucer_OpenGLComponentTemplate.cpp b/extras/Introjucer/Source/BinaryData/jucer_OpenGLComponentTemplate.cpp new file mode 100644 index 0000000000..387639acc8 --- /dev/null +++ b/extras/Introjucer/Source/BinaryData/jucer_OpenGLComponentTemplate.cpp @@ -0,0 +1,76 @@ +/* + ============================================================================== + + This file was auto-generated! + + ============================================================================== +*/ + +#ifndef MAINCOMPONENT_H_INCLUDED +#define MAINCOMPONENT_H_INCLUDED + +INCLUDE_JUCE + +//============================================================================== +/* + This component lives inside our window, and this is where you should put all + your controls and content. +*/ +class MainContentComponent : public OpenGLAppComponent +{ +public: + //============================================================================== + MainContentComponent() + { + setSize (800, 600); + } + + ~MainContentComponent() + { + shutdownOpenGL(); + } + + void initialise() override + { + } + + void shutdown() override + { + } + + void render() override + { + OpenGLHelpers::clear (Colours::black); + + } + + void paint (Graphics& g) override + { + // You can add your component specific drawing code here! + // This will draw over the top of the openGL background. + } + + void resized() override + { + // This is called when the MainContentComponent is resized. + // If you add any child components, this is where you should + // update their positions. + } + + +private: + //============================================================================== + + // private member variables + + + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (MainContentComponent) +}; + + +// (This function is called by the app startup code to create our main component) +Component* createMainContentComponent() { return new MainContentComponent(); } + + +#endif // MAINCOMPONENT_H_INCLUDED diff --git a/extras/Introjucer/Source/BinaryData/projectIconAndroid.png b/extras/Introjucer/Source/BinaryData/projectIconAndroid.png new file mode 100644 index 0000000000..2f46df6c7d Binary files /dev/null and b/extras/Introjucer/Source/BinaryData/projectIconAndroid.png differ diff --git a/extras/Introjucer/Source/BinaryData/projectIconCodeblocks.png b/extras/Introjucer/Source/BinaryData/projectIconCodeblocks.png new file mode 100644 index 0000000000..ebc051c252 Binary files /dev/null and b/extras/Introjucer/Source/BinaryData/projectIconCodeblocks.png differ diff --git a/extras/Introjucer/Source/BinaryData/projectIconLinuxMakefile.png b/extras/Introjucer/Source/BinaryData/projectIconLinuxMakefile.png new file mode 100644 index 0000000000..5787e9ea74 Binary files /dev/null and b/extras/Introjucer/Source/BinaryData/projectIconLinuxMakefile.png differ diff --git a/extras/Introjucer/Source/BinaryData/projectIconVisualStudio05.png b/extras/Introjucer/Source/BinaryData/projectIconVisualStudio05.png new file mode 100644 index 0000000000..acdbb35e7c Binary files /dev/null and b/extras/Introjucer/Source/BinaryData/projectIconVisualStudio05.png differ diff --git a/extras/Introjucer/Source/BinaryData/projectIconVisualStudio08.png b/extras/Introjucer/Source/BinaryData/projectIconVisualStudio08.png new file mode 100644 index 0000000000..418c512782 Binary files /dev/null and b/extras/Introjucer/Source/BinaryData/projectIconVisualStudio08.png differ diff --git a/extras/Introjucer/Source/BinaryData/projectIconVisualStudio10.png b/extras/Introjucer/Source/BinaryData/projectIconVisualStudio10.png new file mode 100644 index 0000000000..3e9ea5bf6d Binary files /dev/null and b/extras/Introjucer/Source/BinaryData/projectIconVisualStudio10.png differ diff --git a/extras/Introjucer/Source/BinaryData/projectIconVisualStudio12.png b/extras/Introjucer/Source/BinaryData/projectIconVisualStudio12.png new file mode 100644 index 0000000000..6207fcabed Binary files /dev/null and b/extras/Introjucer/Source/BinaryData/projectIconVisualStudio12.png differ diff --git a/extras/Introjucer/Source/BinaryData/projectIconVisualStudio13.png b/extras/Introjucer/Source/BinaryData/projectIconVisualStudio13.png new file mode 100644 index 0000000000..3821a5ed85 Binary files /dev/null and b/extras/Introjucer/Source/BinaryData/projectIconVisualStudio13.png differ diff --git a/extras/Introjucer/Source/BinaryData/projectIconXcode.png b/extras/Introjucer/Source/BinaryData/projectIconXcode.png new file mode 100644 index 0000000000..87aa8f4516 Binary files /dev/null and b/extras/Introjucer/Source/BinaryData/projectIconXcode.png differ diff --git a/extras/Introjucer/Source/BinaryData/projectIconXcodeIOS.png b/extras/Introjucer/Source/BinaryData/projectIconXcodeIOS.png new file mode 100644 index 0000000000..d2d7f109ba Binary files /dev/null and b/extras/Introjucer/Source/BinaryData/projectIconXcodeIOS.png differ diff --git a/extras/Introjucer/Source/BinaryData/wizard_AnimatedApp.svg b/extras/Introjucer/Source/BinaryData/wizard_AnimatedApp.svg new file mode 100644 index 0000000000..2c82bcc047 --- /dev/null +++ b/extras/Introjucer/Source/BinaryData/wizard_AnimatedApp.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extras/Introjucer/Source/BinaryData/wizard_AudioApp.svg b/extras/Introjucer/Source/BinaryData/wizard_AudioApp.svg new file mode 100644 index 0000000000..79344c5a48 --- /dev/null +++ b/extras/Introjucer/Source/BinaryData/wizard_AudioApp.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extras/Introjucer/Source/BinaryData/wizard_AudioPlugin.svg b/extras/Introjucer/Source/BinaryData/wizard_AudioPlugin.svg new file mode 100644 index 0000000000..9c9a234696 --- /dev/null +++ b/extras/Introjucer/Source/BinaryData/wizard_AudioPlugin.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extras/Introjucer/Source/BinaryData/wizard_ConsoleApp.svg b/extras/Introjucer/Source/BinaryData/wizard_ConsoleApp.svg new file mode 100644 index 0000000000..c2430d0a62 --- /dev/null +++ b/extras/Introjucer/Source/BinaryData/wizard_ConsoleApp.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + diff --git a/extras/Introjucer/Source/BinaryData/wizard_DLL.svg b/extras/Introjucer/Source/BinaryData/wizard_DLL.svg new file mode 100644 index 0000000000..e8c9ebd58a --- /dev/null +++ b/extras/Introjucer/Source/BinaryData/wizard_DLL.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extras/Introjucer/Source/BinaryData/wizard_GUI.svg b/extras/Introjucer/Source/BinaryData/wizard_GUI.svg new file mode 100644 index 0000000000..063a257994 --- /dev/null +++ b/extras/Introjucer/Source/BinaryData/wizard_GUI.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extras/Introjucer/Source/BinaryData/wizard_Highlight.svg b/extras/Introjucer/Source/BinaryData/wizard_Highlight.svg new file mode 100644 index 0000000000..5e18a4a0fc --- /dev/null +++ b/extras/Introjucer/Source/BinaryData/wizard_Highlight.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/extras/Introjucer/Source/BinaryData/wizard_OpenGL.svg b/extras/Introjucer/Source/BinaryData/wizard_OpenGL.svg new file mode 100644 index 0000000000..ef06127833 --- /dev/null +++ b/extras/Introjucer/Source/BinaryData/wizard_OpenGL.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + diff --git a/extras/Introjucer/Source/BinaryData/wizard_Openfile.svg b/extras/Introjucer/Source/BinaryData/wizard_Openfile.svg new file mode 100644 index 0000000000..68e78328f1 --- /dev/null +++ b/extras/Introjucer/Source/BinaryData/wizard_Openfile.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/extras/Introjucer/Source/BinaryData/wizard_StaticLibrary.svg b/extras/Introjucer/Source/BinaryData/wizard_StaticLibrary.svg new file mode 100644 index 0000000000..e09a976130 --- /dev/null +++ b/extras/Introjucer/Source/BinaryData/wizard_StaticLibrary.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extras/Introjucer/Source/ComponentEditor/jucer_JucerDocument.cpp b/extras/Introjucer/Source/ComponentEditor/jucer_JucerDocument.cpp index 78a47f7583..4dcb857b8f 100644 --- a/extras/Introjucer/Source/ComponentEditor/jucer_JucerDocument.cpp +++ b/extras/Introjucer/Source/ComponentEditor/jucer_JucerDocument.cpp @@ -24,7 +24,7 @@ #include "../jucer_Headers.h" #include "../Application/jucer_Application.h" -#include "../Project/jucer_NewFileWizard.h" +#include "../Wizards/jucer_NewFileWizard.h" #include "jucer_JucerDocument.h" #include "jucer_ObjectTypes.h" #include "ui/jucer_JucerDocumentEditor.h" diff --git a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp b/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp index a0728ebd57..e973109a8b 100644 --- a/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp +++ b/extras/Introjucer/Source/ComponentEditor/paintelements/jucer_PaintElementPath.cpp @@ -1378,16 +1378,15 @@ PathPoint PathPoint::withChangedPointType (const Path::Iterator::PathElementType p.pos [numPoints - 1].getRectangleDouble (x, y, w, h, parentArea, owner->getDocument()->getComponentLayout()); const int index = owner->points.indexOf (this); - PathPoint* lastPoint = owner->points [index - 1]; - jassert (lastPoint != nullptr); - if (lastPoint != nullptr) + if (PathPoint* lastPoint = owner->points [index - 1]) { lastPoint->pos [lastPoint->getNumPoints() - 1] .getRectangleDouble (lastX, lastY, w, h, parentArea, owner->getDocument()->getComponentLayout()); } else { + jassertfalse; lastX = x; lastY = y; } diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.cpp b/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.cpp index 018deae396..c6116d9303 100644 --- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.cpp +++ b/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.cpp @@ -1,702 +1,721 @@ -/* - ============================================================================== - - This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. - - Permission is granted to use this software under the terms of either: - a) the GPL v2 (or any later version) - b) the Affero GPL v3 - - Details of these licenses can be found at: www.gnu.org/licenses - - JUCE is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - ------------------------------------------------------------------------------ - - To release a closed-source product which uses JUCE, commercial licenses are - available: visit www.juce.com for more information. - - ============================================================================== -*/ - -#include "jucer_ProjectExporter.h" -#include "jucer_ProjectSaver.h" - -#include "jucer_ProjectExport_Make.h" -#include "jucer_ProjectExport_MSVC.h" -#include "jucer_ProjectExport_XCode.h" -#include "jucer_ProjectExport_Android.h" -#include "jucer_ProjectExport_CodeBlocks.h" - -//============================================================================== -StringArray ProjectExporter::getExporterNames() -{ - StringArray s; - s.add (XCodeProjectExporter::getNameMac()); - s.add (XCodeProjectExporter::getNameiOS()); - s.add (MSVCProjectExporterVC2005::getName()); - s.add (MSVCProjectExporterVC2008::getName()); - s.add (MSVCProjectExporterVC2010::getName()); - s.add (MSVCProjectExporterVC2012::getName()); - s.add (MSVCProjectExporterVC2013::getName()); - s.add (MSVCProjectExporterVC2015::getName()); - s.add (MakefileProjectExporter::getNameLinux()); - s.add (AndroidProjectExporter::getNameAndroid()); - s.add (CodeBlocksProjectExporter::getNameCodeBlocks()); - return s; -} - -String ProjectExporter::getCurrentPlatformExporterName() -{ - #if JUCE_MAC - return XCodeProjectExporter::getNameMac(); - #elif JUCE_WINDOWS - return MSVCProjectExporterVC2010::getName(); - #elif JUCE_LINUX - return MakefileProjectExporter::getNameLinux(); - #else - #error // huh? - #endif -} - -ProjectExporter* ProjectExporter::createNewExporter (Project& project, const int index) -{ - ProjectExporter* exp = nullptr; - - switch (index) - { - case 0: exp = new XCodeProjectExporter (project, ValueTree (XCodeProjectExporter ::getValueTreeTypeName (false)), false); break; - case 1: exp = new XCodeProjectExporter (project, ValueTree (XCodeProjectExporter ::getValueTreeTypeName (true)), true); break; - case 2: exp = new MSVCProjectExporterVC2005 (project, ValueTree (MSVCProjectExporterVC2005::getValueTreeTypeName())); break; - case 3: exp = new MSVCProjectExporterVC2008 (project, ValueTree (MSVCProjectExporterVC2008::getValueTreeTypeName())); break; - case 4: exp = new MSVCProjectExporterVC2010 (project, ValueTree (MSVCProjectExporterVC2010::getValueTreeTypeName())); break; - case 5: exp = new MSVCProjectExporterVC2012 (project, ValueTree (MSVCProjectExporterVC2012::getValueTreeTypeName())); break; - case 6: exp = new MSVCProjectExporterVC2013 (project, ValueTree (MSVCProjectExporterVC2013::getValueTreeTypeName())); break; - case 7: exp = new MSVCProjectExporterVC2015 (project, ValueTree (MSVCProjectExporterVC2015::getValueTreeTypeName())); break; - case 8: exp = new MakefileProjectExporter (project, ValueTree (MakefileProjectExporter ::getValueTreeTypeName())); break; - case 9: exp = new AndroidProjectExporter (project, ValueTree (AndroidProjectExporter ::getValueTreeTypeName())); break; - case 10: exp = new CodeBlocksProjectExporter (project, ValueTree (CodeBlocksProjectExporter::getValueTreeTypeName())); break; - - default: jassertfalse; return 0; - } - - exp->createDefaultConfigs(); - exp->createDefaultModulePaths(); - - return exp; -} - -ProjectExporter* ProjectExporter::createNewExporter (Project& project, const String& name) -{ - return createNewExporter (project, getExporterNames().indexOf (name)); -} - -ProjectExporter* ProjectExporter::createExporter (Project& project, const ValueTree& settings) -{ - ProjectExporter* exp = MSVCProjectExporterVC2005::createForSettings (project, settings); - if (exp == nullptr) exp = MSVCProjectExporterVC2008::createForSettings (project, settings); - if (exp == nullptr) exp = MSVCProjectExporterVC2010::createForSettings (project, settings); - if (exp == nullptr) exp = MSVCProjectExporterVC2012::createForSettings (project, settings); - if (exp == nullptr) exp = MSVCProjectExporterVC2013::createForSettings (project, settings); - if (exp == nullptr) exp = MSVCProjectExporterVC2015::createForSettings (project, settings); - if (exp == nullptr) exp = XCodeProjectExporter ::createForSettings (project, settings); - if (exp == nullptr) exp = MakefileProjectExporter ::createForSettings (project, settings); - if (exp == nullptr) exp = AndroidProjectExporter ::createForSettings (project, settings); - if (exp == nullptr) exp = CodeBlocksProjectExporter::createForSettings (project, settings); - - jassert (exp != nullptr); - return exp; -} - -bool ProjectExporter::canProjectBeLaunched (Project* project) -{ - if (project != nullptr) - { - const char* types[] = - { - #if JUCE_MAC - XCodeProjectExporter::getValueTreeTypeName (false), - XCodeProjectExporter::getValueTreeTypeName (true), - #elif JUCE_WINDOWS - MSVCProjectExporterVC2005::getValueTreeTypeName(), - MSVCProjectExporterVC2008::getValueTreeTypeName(), - MSVCProjectExporterVC2010::getValueTreeTypeName(), - MSVCProjectExporterVC2012::getValueTreeTypeName(), - MSVCProjectExporterVC2013::getValueTreeTypeName(), - MSVCProjectExporterVC2015::getValueTreeTypeName(), - #elif JUCE_LINUX - // (this doesn't currently launch.. not really sure what it would do on linux) - //MakefileProjectExporter::getValueTreeTypeName(), - #endif - - nullptr - }; - - for (const char** type = types; *type != nullptr; ++type) - if (project->getExporters().getChildWithName (*type).isValid()) - return true; - } - - return false; -} - -//============================================================================== -ProjectExporter::ProjectExporter (Project& p, const ValueTree& state) - : xcodeIsBundle (false), - xcodeCreatePList (false), - xcodeCanUseDwarf (true), - makefileIsDLL (false), - msvcIsDLL (false), - msvcIsWindowsSubsystem (true), - settings (state), - project (p), - projectType (p.getProjectType()), - projectName (p.getTitle()), - projectFolder (p.getProjectFolder()), - modulesGroup (nullptr) -{ -} - -ProjectExporter::~ProjectExporter() -{ -} - -File ProjectExporter::getTargetFolder() const -{ - return project.resolveFilename (getTargetLocationString()); -} - -RelativePath ProjectExporter::rebaseFromProjectFolderToBuildTarget (const RelativePath& path) const -{ - return path.rebased (project.getProjectFolder(), getTargetFolder(), RelativePath::buildTargetFolder); -} - -bool ProjectExporter::shouldFileBeCompiledByDefault (const RelativePath& file) const -{ - return file.hasFileExtension (cOrCppFileExtensions) - || file.hasFileExtension (asmFileExtensions); -} - -void ProjectExporter::createPropertyEditors (PropertyListBuilder& props) -{ - props.add (new TextPropertyComponent (getTargetLocationValue(), "Target Project Folder", 2048, false), - "The location of the folder in which the " + name + " project will be created. " - "This path can be absolute, but it's much more sensible to make it relative to the jucer project directory."); - - OwnedArray modules; - project.getModules().createRequiredModules (modules); - - for (int i = 0; i < modules.size(); ++i) - modules.getUnchecked(i)->createPropertyEditors (*this, props); - - props.add (new TextPropertyComponent (getExporterPreprocessorDefs(), "Extra Preprocessor Definitions", 32768, true), - "Extra preprocessor definitions. Use the form \"NAME1=value NAME2=value\", using whitespace, commas, " - "or new-lines to separate the items - to include a space or comma in a definition, precede it with a backslash."); - - props.add (new TextPropertyComponent (getExtraCompilerFlags(), "Extra compiler flags", 8192, true), - "Extra command-line flags to be passed to the compiler. This string can contain references to preprocessor definitions in the " - "form ${NAME_OF_DEFINITION}, which will be replaced with their values."); - - props.add (new TextPropertyComponent (getExtraLinkerFlags(), "Extra linker flags", 8192, true), - "Extra command-line flags to be passed to the linker. You might want to use this for adding additional libraries. " - "This string can contain references to preprocessor definitions in the form ${NAME_OF_VALUE}, which will be replaced with their values."); - - props.add (new TextPropertyComponent (getExternalLibraries(), "External libraries to link", 8192, true), - "Additional libraries to link (one per line). You should not add any platform specific decoration to these names. " - "This string can contain references to preprocessor definitions in the form ${NAME_OF_VALUE}, which will be replaced with their values."); - - { - OwnedArray images; - project.findAllImageItems (images); - - StringArray choices; - Array ids; - - choices.add (""); - ids.add (var::null); - choices.add (String::empty); - ids.add (var::null); - - for (int i = 0; i < images.size(); ++i) - { - choices.add (images.getUnchecked(i)->getName()); - ids.add (images.getUnchecked(i)->getID()); - } - - props.add (new ChoicePropertyComponent (getSmallIconImageItemID(), "Icon (small)", choices, ids), - "Sets an icon to use for the executable."); - - props.add (new ChoicePropertyComponent (getBigIconImageItemID(), "Icon (large)", choices, ids), - "Sets an icon to use for the executable."); - } - - createExporterProperties (props); - - props.add (new TextPropertyComponent (getUserNotes(), "Notes", 32768, true), - "Extra comments: This field is not used for code or project generation, it's just a space where you can express your thoughts."); -} - -StringPairArray ProjectExporter::getAllPreprocessorDefs (const ProjectExporter::BuildConfiguration& config) const -{ - StringPairArray defs (mergePreprocessorDefs (config.getAllPreprocessorDefs(), - parsePreprocessorDefs (getExporterPreprocessorDefsString()))); - addDefaultPreprocessorDefs (defs); - return defs; -} - -StringPairArray ProjectExporter::getAllPreprocessorDefs() const -{ - StringPairArray defs (mergePreprocessorDefs (project.getPreprocessorDefs(), - parsePreprocessorDefs (getExporterPreprocessorDefsString()))); - addDefaultPreprocessorDefs (defs); - return defs; -} - -void ProjectExporter::addDefaultPreprocessorDefs (StringPairArray& defs) const -{ - defs.set (getExporterIdentifierMacro(), "1"); - defs.set ("JUCE_APP_VERSION", project.getVersionString()); - defs.set ("JUCE_APP_VERSION_HEX", project.getVersionAsHex()); -} - -String ProjectExporter::replacePreprocessorTokens (const ProjectExporter::BuildConfiguration& config, const String& sourceString) const -{ - return replacePreprocessorDefs (getAllPreprocessorDefs (config), sourceString); -} - -void ProjectExporter::copyMainGroupFromProject() -{ - jassert (itemGroups.size() == 0); - itemGroups.add (project.getMainGroup().createCopy()); -} - -Project::Item& ProjectExporter::getModulesGroup() -{ - if (modulesGroup == nullptr) - { - jassert (itemGroups.size() > 0); // must call copyMainGroupFromProject before this. - itemGroups.add (Project::Item::createGroup (project, "Juce Modules", "__modulesgroup__")); - modulesGroup = &(itemGroups.getReference (itemGroups.size() - 1)); - } - - return *modulesGroup; -} - -void ProjectExporter::addToExtraSearchPaths (const RelativePath& pathFromProjectFolder) -{ - RelativePath localPath (rebaseFromProjectFolderToBuildTarget (pathFromProjectFolder)); - - const String path (isVisualStudio() ? localPath.toWindowsStyle() : localPath.toUnixStyle()); - extraSearchPaths.addIfNotAlreadyThere (path, false); -} - -Value ProjectExporter::getPathForModuleValue (const String& moduleID) -{ - UndoManager* um = project.getUndoManagerFor (settings); - - ValueTree paths (settings.getOrCreateChildWithName (Ids::MODULEPATHS, um)); - ValueTree m (paths.getChildWithProperty (Ids::ID, moduleID)); - - if (! m.isValid()) - { - m = ValueTree (Ids::MODULEPATH); - m.setProperty (Ids::ID, moduleID, um); - paths.addChild (m, -1, um); - } - - return m.getPropertyAsValue (Ids::path, um); -} - -String ProjectExporter::getPathForModuleString (const String& moduleID) const -{ - return settings.getChildWithName (Ids::MODULEPATHS) - .getChildWithProperty (Ids::ID, moduleID) [Ids::path].toString(); -} - -void ProjectExporter::removePathForModule (const String& moduleID) -{ - ValueTree paths (settings.getChildWithName (Ids::MODULEPATHS)); - ValueTree m (paths.getChildWithProperty (Ids::ID, moduleID)); - paths.removeChild (m, project.getUndoManagerFor (settings)); -} - -RelativePath ProjectExporter::getModuleFolderRelativeToProject (const String& moduleID, ProjectSaver& projectSaver) const -{ - if (project.getModules().shouldCopyModuleFilesLocally (moduleID).getValue()) - return RelativePath (project.getRelativePathForFile (projectSaver.getLocalModuleFolder (moduleID)), - RelativePath::projectFolder); - - String path (getPathForModuleString (moduleID)); - - if (path.isEmpty()) - return getLegacyModulePath (moduleID).getChildFile (moduleID); - - return RelativePath (path, RelativePath::projectFolder).getChildFile (moduleID); -} - -String ProjectExporter::getLegacyModulePath() const -{ - return getSettingString ("juceFolder"); -} - -RelativePath ProjectExporter::getLegacyModulePath (const String& moduleID) const -{ - if (project.getModules().state.getChildWithProperty (Ids::ID, moduleID) ["useLocalCopy"]) - return RelativePath (project.getRelativePathForFile (project.getGeneratedCodeFolder() - .getChildFile ("modules") - .getChildFile (moduleID)), RelativePath::projectFolder); - - String oldJucePath (getLegacyModulePath()); - - if (oldJucePath.isEmpty()) - return RelativePath(); - - RelativePath p (oldJucePath, RelativePath::projectFolder); - if (p.getFileName() != "modules") - p = p.getChildFile ("modules"); - - return p.getChildFile (moduleID); -} - -void ProjectExporter::updateOldModulePaths() -{ - String oldPath (getLegacyModulePath()); - - if (oldPath.isNotEmpty()) - { - for (int i = project.getModules().getNumModules(); --i >= 0;) - { - String modID (project.getModules().getModuleID(i)); - getPathForModuleValue (modID) = getLegacyModulePath (modID).getParentDirectory().toUnixStyle(); - } - - settings.removeProperty ("juceFolder", nullptr); - } -} - -static bool areCompatibleExporters (const ProjectExporter& p1, const ProjectExporter& p2) -{ - return (p1.isVisualStudio() && p2.isVisualStudio()) - || (p1.isXcode() && p2.isXcode()) - || (p1.isLinux() && p2.isLinux()) - || (p1.isAndroid() && p2.isAndroid()) - || (p1.isCodeBlocks() && p2.isCodeBlocks()); -} - -void ProjectExporter::createDefaultModulePaths() -{ - for (Project::ExporterIterator exporter (project); exporter.next();) - { - if (areCompatibleExporters (*this, *exporter)) - { - for (int i = project.getModules().getNumModules(); --i >= 0;) - { - String modID (project.getModules().getModuleID(i)); - getPathForModuleValue (modID) = exporter->getPathForModuleValue (modID).getValue(); - } - - return; - } - } - - for (Project::ExporterIterator exporter (project); exporter.next();) - { - if (exporter->canLaunchProject()) - { - for (int i = project.getModules().getNumModules(); --i >= 0;) - { - String modID (project.getModules().getModuleID(i)); - getPathForModuleValue (modID) = exporter->getPathForModuleValue (modID).getValue(); - } - - return; - } - } - - for (int i = project.getModules().getNumModules(); --i >= 0;) - { - String modID (project.getModules().getModuleID(i)); - getPathForModuleValue (modID) = "../../juce"; - } -} - -//============================================================================== -ValueTree ProjectExporter::getConfigurations() const -{ - return settings.getChildWithName (Ids::CONFIGURATIONS); -} - -int ProjectExporter::getNumConfigurations() const -{ - return getConfigurations().getNumChildren(); -} - -ProjectExporter::BuildConfiguration::Ptr ProjectExporter::getConfiguration (int index) const -{ - return createBuildConfig (getConfigurations().getChild (index)); -} - -bool ProjectExporter::hasConfigurationNamed (const String& nameToFind) const -{ - const ValueTree configs (getConfigurations()); - for (int i = configs.getNumChildren(); --i >= 0;) - if (configs.getChild(i) [Ids::name].toString() == nameToFind) - return true; - - return false; -} - -String ProjectExporter::getUniqueConfigName (String nm) const -{ - String nameRoot (nm); - while (CharacterFunctions::isDigit (nameRoot.getLastCharacter())) - nameRoot = nameRoot.dropLastCharacters (1); - - nameRoot = nameRoot.trim(); - - int suffix = 2; - while (hasConfigurationNamed (name)) - nm = nameRoot + " " + String (suffix++); - - return nm; -} - -void ProjectExporter::addNewConfiguration (const BuildConfiguration* configToCopy) -{ - const String configName (getUniqueConfigName (configToCopy != nullptr ? configToCopy->config [Ids::name].toString() - : "New Build Configuration")); - - ValueTree configs (getConfigurations()); - - if (! configs.isValid()) - { - settings.addChild (ValueTree (Ids::CONFIGURATIONS), 0, project.getUndoManagerFor (settings)); - configs = getConfigurations(); - } - - ValueTree newConfig (Ids::CONFIGURATION); - if (configToCopy != nullptr) - newConfig = configToCopy->config.createCopy(); - - newConfig.setProperty (Ids::name, configName, 0); - - configs.addChild (newConfig, -1, project.getUndoManagerFor (configs)); -} - -void ProjectExporter::BuildConfiguration::removeFromExporter() -{ - ValueTree configs (config.getParent()); - configs.removeChild (config, project.getUndoManagerFor (configs)); -} - -void ProjectExporter::createDefaultConfigs() -{ - settings.getOrCreateChildWithName (Ids::CONFIGURATIONS, nullptr); - - for (int i = 0; i < 2; ++i) - { - addNewConfiguration (nullptr); - BuildConfiguration::Ptr config (getConfiguration (i)); - - const bool debugConfig = i == 0; - - config->getNameValue() = debugConfig ? "Debug" : "Release"; - config->isDebugValue() = debugConfig; - config->getOptimisationLevel() = debugConfig ? optimisationOff : optimiseMinSize; - config->getTargetBinaryName() = project.getProjectFilenameRoot(); - } -} - -Drawable* ProjectExporter::getBigIcon() const -{ - return project.getMainGroup().findItemWithID (settings [Ids::bigIcon]).loadAsImageFile(); -} - -Drawable* ProjectExporter::getSmallIcon() const -{ - return project.getMainGroup().findItemWithID (settings [Ids::smallIcon]).loadAsImageFile(); -} - -Image ProjectExporter::getBestIconForSize (int size, bool returnNullIfNothingBigEnough) const -{ - Drawable* im = nullptr; - - ScopedPointer im1 (getSmallIcon()); - ScopedPointer im2 (getBigIcon()); - - if (im1 != nullptr && im2 != nullptr) - { - if (im1->getWidth() >= size && im2->getWidth() >= size) - im = im1->getWidth() < im2->getWidth() ? im1 : im2; - else if (im1->getWidth() >= size) - im = im1; - else if (im2->getWidth() >= size) - im = im2; - } - else - { - im = im1 != nullptr ? im1 : im2; - } - - if (im == nullptr) - return Image(); - - if (returnNullIfNothingBigEnough && im->getWidth() < size && im->getHeight() < size) - return Image(); - - return rescaleImageForIcon (*im, size); -} - -Image ProjectExporter::rescaleImageForIcon (Drawable& d, const int size) -{ - if (DrawableImage* drawableImage = dynamic_cast (&d)) - { - Image im = SoftwareImageType().convert (drawableImage->getImage()); - - if (size == im.getWidth() && size == im.getHeight()) - return im; - - // (scale it down in stages for better resampling) - while (im.getWidth() > 2 * size && im.getHeight() > 2 * size) - im = im.rescaled (im.getWidth() / 2, - im.getHeight() / 2); - - Image newIm (Image::ARGB, size, size, true, SoftwareImageType()); - Graphics g (newIm); - g.drawImageWithin (im, 0, 0, size, size, - RectanglePlacement::centred | RectanglePlacement::onlyReduceInSize, false); - return newIm; - } - - Image im (Image::ARGB, size, size, true, SoftwareImageType()); - Graphics g (im); - d.drawWithin (g, im.getBounds().toFloat(), RectanglePlacement::centred, 1.0f); - return im; -} - - -//============================================================================== -ProjectExporter::ConfigIterator::ConfigIterator (ProjectExporter& e) - : index (-1), exporter (e) -{ -} - -bool ProjectExporter::ConfigIterator::next() -{ - if (++index >= exporter.getNumConfigurations()) - return false; - - config = exporter.getConfiguration (index); - return true; -} - -ProjectExporter::ConstConfigIterator::ConstConfigIterator (const ProjectExporter& exporter_) - : index (-1), exporter (exporter_) -{ -} - -bool ProjectExporter::ConstConfigIterator::next() -{ - if (++index >= exporter.getNumConfigurations()) - return false; - - config = exporter.getConfiguration (index); - return true; -} - -//============================================================================== -ProjectExporter::BuildConfiguration::BuildConfiguration (Project& p, const ValueTree& configNode) - : config (configNode), project (p) -{ -} - -ProjectExporter::BuildConfiguration::~BuildConfiguration() -{ -} - -String ProjectExporter::BuildConfiguration::getGCCOptimisationFlag() const -{ - switch (getOptimisationLevelInt()) - { - case optimiseMaxSpeed: return "3"; - case optimiseMinSize: return "s"; - default: return "0"; - } -} - -void ProjectExporter::BuildConfiguration::createPropertyEditors (PropertyListBuilder& props) -{ - props.add (new TextPropertyComponent (getNameValue(), "Name", 96, false), - "The name of this configuration."); - - props.add (new BooleanPropertyComponent (isDebugValue(), "Debug mode", "Debugging enabled"), - "If enabled, this means that the configuration should be built with debug synbols."); - - static const char* optimisationLevels[] = { "No optimisation", "Minimise size", "Maximise speed", 0 }; - const int optimisationLevelValues[] = { optimisationOff, optimiseMinSize, optimiseMaxSpeed, 0 }; - props.add (new ChoicePropertyComponent (getOptimisationLevel(), "Optimisation", - StringArray (optimisationLevels), Array (optimisationLevelValues)), - "The optimisation level for this configuration"); - - props.add (new TextPropertyComponent (getTargetBinaryName(), "Binary name", 256, false), - "The filename to use for the destination binary executable file. If you don't add a suffix to this name, " - "a suitable platform-specific suffix will be added automatically."); - - props.add (new TextPropertyComponent (getTargetBinaryRelativePath(), "Binary location", 1024, false), - "The folder in which the finished binary should be placed. Leave this blank to cause the binary to be placed " - "in its default location in the build folder."); - - props.addSearchPathProperty (getHeaderSearchPathValue(), "Header search paths", "Extra header search paths."); - props.addSearchPathProperty (getLibrarySearchPathValue(), "Extra library search paths", "Extra library search paths."); - - props.add (new TextPropertyComponent (getBuildConfigPreprocessorDefs(), "Preprocessor definitions", 32768, true), - "Extra preprocessor definitions. Use the form \"NAME1=value NAME2=value\", using whitespace, commas, or " - "new-lines to separate the items - to include a space or comma in a definition, precede it with a backslash."); - - createConfigProperties (props); - - props.add (new TextPropertyComponent (getUserNotes(), "Notes", 32768, true), - "Extra comments: This field is not used for code or project generation, it's just a space where you can express your thoughts."); -} - -StringPairArray ProjectExporter::BuildConfiguration::getAllPreprocessorDefs() const -{ - return mergePreprocessorDefs (project.getPreprocessorDefs(), - parsePreprocessorDefs (getBuildConfigPreprocessorDefsString())); -} - -StringArray ProjectExporter::BuildConfiguration::getHeaderSearchPaths() const -{ - return getSearchPathsFromString (getHeaderSearchPathString()); -} - -StringArray ProjectExporter::BuildConfiguration::getLibrarySearchPaths() const -{ - return getSearchPathsFromString (getLibrarySearchPathString()); -} - -String ProjectExporter::BuildConfiguration::getGCCLibraryPathFlags() const -{ - String s; - const StringArray libraryPaths (getLibrarySearchPaths()); - - for (int i = 0; i < libraryPaths.size(); ++i) - s << " -L" << addQuotesIfContainsSpaces (libraryPaths[i]); - - return s; -} - -String ProjectExporter::getExternalLibraryFlags (const BuildConfiguration& config) const -{ - StringArray libraries; - libraries.addTokens (getExternalLibrariesString(), ";\n", "\"'"); - libraries.removeEmptyStrings (true); - - if (libraries.size() != 0) - return replacePreprocessorTokens (config, "-l" + libraries.joinIntoString (" -l")).trim(); - - return String::empty; -} \ No newline at end of file +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + +#include "jucer_ProjectExporter.h" +#include "jucer_ProjectSaver.h" + +#include "jucer_ProjectExport_Make.h" +#include "jucer_ProjectExport_MSVC.h" +#include "jucer_ProjectExport_XCode.h" +#include "jucer_ProjectExport_Android.h" +#include "jucer_ProjectExport_CodeBlocks.h" + +//============================================================================== +static void addType (Array& list, + const char* name, const void* iconData, int iconDataSize) +{ + ProjectExporter::ExporterTypeInfo type = { name, iconData, iconDataSize }; + list.add (type); +} + +Array ProjectExporter::getExporterTypes() +{ + Array types; + + addType (types, XCodeProjectExporter::getNameMac(), BinaryData::projectIconXcode_png, BinaryData::projectIconXcode_pngSize); + addType (types, XCodeProjectExporter::getNameiOS(), BinaryData::projectIconXcodeIOS_png, BinaryData::projectIconXcodeIOS_pngSize); + addType (types, MSVCProjectExporterVC2013::getName(), BinaryData::projectIconVisualStudio13_png, BinaryData::projectIconVisualStudio13_pngSize); + addType (types, MSVCProjectExporterVC2012::getName(), BinaryData::projectIconVisualStudio12_png, BinaryData::projectIconVisualStudio12_pngSize); + addType (types, MSVCProjectExporterVC2010::getName(), BinaryData::projectIconVisualStudio10_png, BinaryData::projectIconVisualStudio10_pngSize); + addType (types, MSVCProjectExporterVC2008::getName(), BinaryData::projectIconVisualStudio08_png, BinaryData::projectIconVisualStudio08_pngSize); + addType (types, MSVCProjectExporterVC2005::getName(), BinaryData::projectIconVisualStudio05_png, BinaryData::projectIconVisualStudio05_pngSize); + addType (types, MakefileProjectExporter::getNameLinux(), BinaryData::projectIconLinuxMakefile_png, BinaryData::projectIconLinuxMakefile_pngSize); + addType (types, AndroidProjectExporter::getNameAndroid(), BinaryData::projectIconAndroid_png, BinaryData::projectIconAndroid_pngSize); + addType (types, CodeBlocksProjectExporter::getNameCodeBlocks(), BinaryData::projectIconCodeblocks_png, BinaryData::projectIconCodeblocks_pngSize); + + return types; +} + +StringArray ProjectExporter::getExporterNames() +{ + StringArray s; + Array types (getExporterTypes()); + + for (int i = 0; i < types.size(); ++i) + s.add (types.getReference(i).name); + + return s; +} + +String ProjectExporter::getCurrentPlatformExporterName() +{ + #if JUCE_MAC + return XCodeProjectExporter::getNameMac(); + #elif JUCE_WINDOWS + return MSVCProjectExporterVC2010::getName(); + #elif JUCE_LINUX + return MakefileProjectExporter::getNameLinux(); + #else + #error // huh? + #endif +} + +ProjectExporter* ProjectExporter::createNewExporter (Project& project, const int index) +{ + ProjectExporter* exp = nullptr; + + switch (index) + { + case 0: exp = new XCodeProjectExporter (project, ValueTree (XCodeProjectExporter ::getValueTreeTypeName (false)), false); break; + case 1: exp = new XCodeProjectExporter (project, ValueTree (XCodeProjectExporter ::getValueTreeTypeName (true)), true); break; + case 2: exp = new MSVCProjectExporterVC2013 (project, ValueTree (MSVCProjectExporterVC2013::getValueTreeTypeName())); break; + case 3: exp = new MSVCProjectExporterVC2012 (project, ValueTree (MSVCProjectExporterVC2012::getValueTreeTypeName())); break; + case 4: exp = new MSVCProjectExporterVC2010 (project, ValueTree (MSVCProjectExporterVC2010::getValueTreeTypeName())); break; + case 5: exp = new MSVCProjectExporterVC2012 (project, ValueTree (MSVCProjectExporterVC2012::getValueTreeTypeName())); break; + case 6: exp = new MSVCProjectExporterVC2013 (project, ValueTree (MSVCProjectExporterVC2013::getValueTreeTypeName())); break; + case 7: exp = new MSVCProjectExporterVC2015 (project, ValueTree (MSVCProjectExporterVC2015::getValueTreeTypeName())); break; + case 8: exp = new MakefileProjectExporter (project, ValueTree (MakefileProjectExporter ::getValueTreeTypeName())); break; + case 9: exp = new AndroidProjectExporter (project, ValueTree (AndroidProjectExporter ::getValueTreeTypeName())); break; + case 10: exp = new CodeBlocksProjectExporter (project, ValueTree (CodeBlocksProjectExporter::getValueTreeTypeName())); break; + + default: jassertfalse; return 0; + } + + exp->createDefaultConfigs(); + exp->createDefaultModulePaths(); + + return exp; +} + +ProjectExporter* ProjectExporter::createNewExporter (Project& project, const String& name) +{ + return createNewExporter (project, getExporterNames().indexOf (name)); +} + +ProjectExporter* ProjectExporter::createExporter (Project& project, const ValueTree& settings) +{ + ProjectExporter* exp = MSVCProjectExporterVC2005::createForSettings (project, settings); + if (exp == nullptr) exp = MSVCProjectExporterVC2008::createForSettings (project, settings); + if (exp == nullptr) exp = MSVCProjectExporterVC2010::createForSettings (project, settings); + if (exp == nullptr) exp = MSVCProjectExporterVC2012::createForSettings (project, settings); + if (exp == nullptr) exp = MSVCProjectExporterVC2013::createForSettings (project, settings); + if (exp == nullptr) exp = MSVCProjectExporterVC2015::createForSettings (project, settings); + if (exp == nullptr) exp = XCodeProjectExporter ::createForSettings (project, settings); + if (exp == nullptr) exp = MakefileProjectExporter ::createForSettings (project, settings); + if (exp == nullptr) exp = AndroidProjectExporter ::createForSettings (project, settings); + if (exp == nullptr) exp = CodeBlocksProjectExporter::createForSettings (project, settings); + + jassert (exp != nullptr); + return exp; +} + +bool ProjectExporter::canProjectBeLaunched (Project* project) +{ + if (project != nullptr) + { + const char* types[] = + { + #if JUCE_MAC + XCodeProjectExporter::getValueTreeTypeName (false), + XCodeProjectExporter::getValueTreeTypeName (true), + #elif JUCE_WINDOWS + MSVCProjectExporterVC2005::getValueTreeTypeName(), + MSVCProjectExporterVC2008::getValueTreeTypeName(), + MSVCProjectExporterVC2010::getValueTreeTypeName(), + MSVCProjectExporterVC2012::getValueTreeTypeName(), + MSVCProjectExporterVC2013::getValueTreeTypeName(), + MSVCProjectExporterVC2015::getValueTreeTypeName(), + #elif JUCE_LINUX + // (this doesn't currently launch.. not really sure what it would do on linux) + //MakefileProjectExporter::getValueTreeTypeName(), + #endif + + nullptr + }; + + for (const char** type = types; *type != nullptr; ++type) + if (project->getExporters().getChildWithName (*type).isValid()) + return true; + } + + return false; +} + +//============================================================================== +ProjectExporter::ProjectExporter (Project& p, const ValueTree& state) + : xcodeIsBundle (false), + xcodeCreatePList (false), + xcodeCanUseDwarf (true), + makefileIsDLL (false), + msvcIsDLL (false), + msvcIsWindowsSubsystem (true), + settings (state), + project (p), + projectType (p.getProjectType()), + projectName (p.getTitle()), + projectFolder (p.getProjectFolder()), + modulesGroup (nullptr) +{ +} + +ProjectExporter::~ProjectExporter() +{ +} + +File ProjectExporter::getTargetFolder() const +{ + return project.resolveFilename (getTargetLocationString()); +} + +RelativePath ProjectExporter::rebaseFromProjectFolderToBuildTarget (const RelativePath& path) const +{ + return path.rebased (project.getProjectFolder(), getTargetFolder(), RelativePath::buildTargetFolder); +} + +bool ProjectExporter::shouldFileBeCompiledByDefault (const RelativePath& file) const +{ + return file.hasFileExtension (cOrCppFileExtensions) + || file.hasFileExtension (asmFileExtensions); +} + +void ProjectExporter::createPropertyEditors (PropertyListBuilder& props) +{ + props.add (new TextPropertyComponent (getTargetLocationValue(), "Target Project Folder", 2048, false), + "The location of the folder in which the " + name + " project will be created. " + "This path can be absolute, but it's much more sensible to make it relative to the jucer project directory."); + + OwnedArray modules; + project.getModules().createRequiredModules (modules); + + for (int i = 0; i < modules.size(); ++i) + modules.getUnchecked(i)->createPropertyEditors (*this, props); + + props.add (new TextPropertyComponent (getExporterPreprocessorDefs(), "Extra Preprocessor Definitions", 32768, true), + "Extra preprocessor definitions. Use the form \"NAME1=value NAME2=value\", using whitespace, commas, " + "or new-lines to separate the items - to include a space or comma in a definition, precede it with a backslash."); + + props.add (new TextPropertyComponent (getExtraCompilerFlags(), "Extra compiler flags", 8192, true), + "Extra command-line flags to be passed to the compiler. This string can contain references to preprocessor definitions in the " + "form ${NAME_OF_DEFINITION}, which will be replaced with their values."); + + props.add (new TextPropertyComponent (getExtraLinkerFlags(), "Extra linker flags", 8192, true), + "Extra command-line flags to be passed to the linker. You might want to use this for adding additional libraries. " + "This string can contain references to preprocessor definitions in the form ${NAME_OF_VALUE}, which will be replaced with their values."); + + props.add (new TextPropertyComponent (getExternalLibraries(), "External libraries to link", 8192, true), + "Additional libraries to link (one per line). You should not add any platform specific decoration to these names. " + "This string can contain references to preprocessor definitions in the form ${NAME_OF_VALUE}, which will be replaced with their values."); + + { + OwnedArray images; + project.findAllImageItems (images); + + StringArray choices; + Array ids; + + choices.add (""); + ids.add (var::null); + choices.add (String::empty); + ids.add (var::null); + + for (int i = 0; i < images.size(); ++i) + { + choices.add (images.getUnchecked(i)->getName()); + ids.add (images.getUnchecked(i)->getID()); + } + + props.add (new ChoicePropertyComponent (getSmallIconImageItemID(), "Icon (small)", choices, ids), + "Sets an icon to use for the executable."); + + props.add (new ChoicePropertyComponent (getBigIconImageItemID(), "Icon (large)", choices, ids), + "Sets an icon to use for the executable."); + } + + createExporterProperties (props); + + props.add (new TextPropertyComponent (getUserNotes(), "Notes", 32768, true), + "Extra comments: This field is not used for code or project generation, it's just a space where you can express your thoughts."); +} + +StringPairArray ProjectExporter::getAllPreprocessorDefs (const ProjectExporter::BuildConfiguration& config) const +{ + StringPairArray defs (mergePreprocessorDefs (config.getAllPreprocessorDefs(), + parsePreprocessorDefs (getExporterPreprocessorDefsString()))); + addDefaultPreprocessorDefs (defs); + return defs; +} + +StringPairArray ProjectExporter::getAllPreprocessorDefs() const +{ + StringPairArray defs (mergePreprocessorDefs (project.getPreprocessorDefs(), + parsePreprocessorDefs (getExporterPreprocessorDefsString()))); + addDefaultPreprocessorDefs (defs); + return defs; +} + +void ProjectExporter::addDefaultPreprocessorDefs (StringPairArray& defs) const +{ + defs.set (getExporterIdentifierMacro(), "1"); + defs.set ("JUCE_APP_VERSION", project.getVersionString()); + defs.set ("JUCE_APP_VERSION_HEX", project.getVersionAsHex()); +} + +String ProjectExporter::replacePreprocessorTokens (const ProjectExporter::BuildConfiguration& config, const String& sourceString) const +{ + return replacePreprocessorDefs (getAllPreprocessorDefs (config), sourceString); +} + +void ProjectExporter::copyMainGroupFromProject() +{ + jassert (itemGroups.size() == 0); + itemGroups.add (project.getMainGroup().createCopy()); +} + +Project::Item& ProjectExporter::getModulesGroup() +{ + if (modulesGroup == nullptr) + { + jassert (itemGroups.size() > 0); // must call copyMainGroupFromProject before this. + itemGroups.add (Project::Item::createGroup (project, "Juce Modules", "__modulesgroup__")); + modulesGroup = &(itemGroups.getReference (itemGroups.size() - 1)); + } + + return *modulesGroup; +} + +void ProjectExporter::addToExtraSearchPaths (const RelativePath& pathFromProjectFolder) +{ + RelativePath localPath (rebaseFromProjectFolderToBuildTarget (pathFromProjectFolder)); + + const String path (isVisualStudio() ? localPath.toWindowsStyle() : localPath.toUnixStyle()); + extraSearchPaths.addIfNotAlreadyThere (path, false); +} + +Value ProjectExporter::getPathForModuleValue (const String& moduleID) +{ + UndoManager* um = project.getUndoManagerFor (settings); + + ValueTree paths (settings.getOrCreateChildWithName (Ids::MODULEPATHS, um)); + ValueTree m (paths.getChildWithProperty (Ids::ID, moduleID)); + + if (! m.isValid()) + { + m = ValueTree (Ids::MODULEPATH); + m.setProperty (Ids::ID, moduleID, um); + paths.addChild (m, -1, um); + } + + return m.getPropertyAsValue (Ids::path, um); +} + +String ProjectExporter::getPathForModuleString (const String& moduleID) const +{ + return settings.getChildWithName (Ids::MODULEPATHS) + .getChildWithProperty (Ids::ID, moduleID) [Ids::path].toString(); +} + +void ProjectExporter::removePathForModule (const String& moduleID) +{ + ValueTree paths (settings.getChildWithName (Ids::MODULEPATHS)); + ValueTree m (paths.getChildWithProperty (Ids::ID, moduleID)); + paths.removeChild (m, project.getUndoManagerFor (settings)); +} + +RelativePath ProjectExporter::getModuleFolderRelativeToProject (const String& moduleID, ProjectSaver& projectSaver) const +{ + if (project.getModules().shouldCopyModuleFilesLocally (moduleID).getValue()) + return RelativePath (project.getRelativePathForFile (projectSaver.getLocalModuleFolder (moduleID)), + RelativePath::projectFolder); + + String path (getPathForModuleString (moduleID)); + + if (path.isEmpty()) + return getLegacyModulePath (moduleID).getChildFile (moduleID); + + return RelativePath (path, RelativePath::projectFolder).getChildFile (moduleID); +} + +String ProjectExporter::getLegacyModulePath() const +{ + return getSettingString ("juceFolder"); +} + +RelativePath ProjectExporter::getLegacyModulePath (const String& moduleID) const +{ + if (project.getModules().state.getChildWithProperty (Ids::ID, moduleID) ["useLocalCopy"]) + return RelativePath (project.getRelativePathForFile (project.getGeneratedCodeFolder() + .getChildFile ("modules") + .getChildFile (moduleID)), RelativePath::projectFolder); + + String oldJucePath (getLegacyModulePath()); + + if (oldJucePath.isEmpty()) + return RelativePath(); + + RelativePath p (oldJucePath, RelativePath::projectFolder); + if (p.getFileName() != "modules") + p = p.getChildFile ("modules"); + + return p.getChildFile (moduleID); +} + +void ProjectExporter::updateOldModulePaths() +{ + String oldPath (getLegacyModulePath()); + + if (oldPath.isNotEmpty()) + { + for (int i = project.getModules().getNumModules(); --i >= 0;) + { + String modID (project.getModules().getModuleID(i)); + getPathForModuleValue (modID) = getLegacyModulePath (modID).getParentDirectory().toUnixStyle(); + } + + settings.removeProperty ("juceFolder", nullptr); + } +} + +static bool areCompatibleExporters (const ProjectExporter& p1, const ProjectExporter& p2) +{ + return (p1.isVisualStudio() && p2.isVisualStudio()) + || (p1.isXcode() && p2.isXcode()) + || (p1.isLinux() && p2.isLinux()) + || (p1.isAndroid() && p2.isAndroid()) + || (p1.isCodeBlocks() && p2.isCodeBlocks()); +} + +void ProjectExporter::createDefaultModulePaths() +{ + for (Project::ExporterIterator exporter (project); exporter.next();) + { + if (areCompatibleExporters (*this, *exporter)) + { + for (int i = project.getModules().getNumModules(); --i >= 0;) + { + String modID (project.getModules().getModuleID(i)); + getPathForModuleValue (modID) = exporter->getPathForModuleValue (modID).getValue(); + } + + return; + } + } + + for (Project::ExporterIterator exporter (project); exporter.next();) + { + if (exporter->canLaunchProject()) + { + for (int i = project.getModules().getNumModules(); --i >= 0;) + { + String modID (project.getModules().getModuleID(i)); + getPathForModuleValue (modID) = exporter->getPathForModuleValue (modID).getValue(); + } + + return; + } + } + + for (int i = project.getModules().getNumModules(); --i >= 0;) + { + String modID (project.getModules().getModuleID(i)); + getPathForModuleValue (modID) = "../../juce"; + } +} + +//============================================================================== +ValueTree ProjectExporter::getConfigurations() const +{ + return settings.getChildWithName (Ids::CONFIGURATIONS); +} + +int ProjectExporter::getNumConfigurations() const +{ + return getConfigurations().getNumChildren(); +} + +ProjectExporter::BuildConfiguration::Ptr ProjectExporter::getConfiguration (int index) const +{ + return createBuildConfig (getConfigurations().getChild (index)); +} + +bool ProjectExporter::hasConfigurationNamed (const String& nameToFind) const +{ + const ValueTree configs (getConfigurations()); + for (int i = configs.getNumChildren(); --i >= 0;) + if (configs.getChild(i) [Ids::name].toString() == nameToFind) + return true; + + return false; +} + +String ProjectExporter::getUniqueConfigName (String nm) const +{ + String nameRoot (nm); + while (CharacterFunctions::isDigit (nameRoot.getLastCharacter())) + nameRoot = nameRoot.dropLastCharacters (1); + + nameRoot = nameRoot.trim(); + + int suffix = 2; + while (hasConfigurationNamed (name)) + nm = nameRoot + " " + String (suffix++); + + return nm; +} + +void ProjectExporter::addNewConfiguration (const BuildConfiguration* configToCopy) +{ + const String configName (getUniqueConfigName (configToCopy != nullptr ? configToCopy->config [Ids::name].toString() + : "New Build Configuration")); + + ValueTree configs (getConfigurations()); + + if (! configs.isValid()) + { + settings.addChild (ValueTree (Ids::CONFIGURATIONS), 0, project.getUndoManagerFor (settings)); + configs = getConfigurations(); + } + + ValueTree newConfig (Ids::CONFIGURATION); + if (configToCopy != nullptr) + newConfig = configToCopy->config.createCopy(); + + newConfig.setProperty (Ids::name, configName, 0); + + configs.addChild (newConfig, -1, project.getUndoManagerFor (configs)); +} + +void ProjectExporter::BuildConfiguration::removeFromExporter() +{ + ValueTree configs (config.getParent()); + configs.removeChild (config, project.getUndoManagerFor (configs)); +} + +void ProjectExporter::createDefaultConfigs() +{ + settings.getOrCreateChildWithName (Ids::CONFIGURATIONS, nullptr); + + for (int i = 0; i < 2; ++i) + { + addNewConfiguration (nullptr); + BuildConfiguration::Ptr config (getConfiguration (i)); + + const bool debugConfig = i == 0; + + config->getNameValue() = debugConfig ? "Debug" : "Release"; + config->isDebugValue() = debugConfig; + config->getOptimisationLevel() = debugConfig ? optimisationOff : optimiseMinSize; + config->getTargetBinaryName() = project.getProjectFilenameRoot(); + } +} + +Drawable* ProjectExporter::getBigIcon() const +{ + return project.getMainGroup().findItemWithID (settings [Ids::bigIcon]).loadAsImageFile(); +} + +Drawable* ProjectExporter::getSmallIcon() const +{ + return project.getMainGroup().findItemWithID (settings [Ids::smallIcon]).loadAsImageFile(); +} + +Image ProjectExporter::getBestIconForSize (int size, bool returnNullIfNothingBigEnough) const +{ + Drawable* im = nullptr; + + ScopedPointer im1 (getSmallIcon()); + ScopedPointer im2 (getBigIcon()); + + if (im1 != nullptr && im2 != nullptr) + { + if (im1->getWidth() >= size && im2->getWidth() >= size) + im = im1->getWidth() < im2->getWidth() ? im1 : im2; + else if (im1->getWidth() >= size) + im = im1; + else if (im2->getWidth() >= size) + im = im2; + } + else + { + im = im1 != nullptr ? im1 : im2; + } + + if (im == nullptr) + return Image(); + + if (returnNullIfNothingBigEnough && im->getWidth() < size && im->getHeight() < size) + return Image(); + + return rescaleImageForIcon (*im, size); +} + +Image ProjectExporter::rescaleImageForIcon (Drawable& d, const int size) +{ + if (DrawableImage* drawableImage = dynamic_cast (&d)) + { + Image im = SoftwareImageType().convert (drawableImage->getImage()); + + if (size == im.getWidth() && size == im.getHeight()) + return im; + + // (scale it down in stages for better resampling) + while (im.getWidth() > 2 * size && im.getHeight() > 2 * size) + im = im.rescaled (im.getWidth() / 2, + im.getHeight() / 2); + + Image newIm (Image::ARGB, size, size, true, SoftwareImageType()); + Graphics g (newIm); + g.drawImageWithin (im, 0, 0, size, size, + RectanglePlacement::centred | RectanglePlacement::onlyReduceInSize, false); + return newIm; + } + + Image im (Image::ARGB, size, size, true, SoftwareImageType()); + Graphics g (im); + d.drawWithin (g, im.getBounds().toFloat(), RectanglePlacement::centred, 1.0f); + return im; +} + + +//============================================================================== +ProjectExporter::ConfigIterator::ConfigIterator (ProjectExporter& e) + : index (-1), exporter (e) +{ +} + +bool ProjectExporter::ConfigIterator::next() +{ + if (++index >= exporter.getNumConfigurations()) + return false; + + config = exporter.getConfiguration (index); + return true; +} + +ProjectExporter::ConstConfigIterator::ConstConfigIterator (const ProjectExporter& exporter_) + : index (-1), exporter (exporter_) +{ +} + +bool ProjectExporter::ConstConfigIterator::next() +{ + if (++index >= exporter.getNumConfigurations()) + return false; + + config = exporter.getConfiguration (index); + return true; +} + +//============================================================================== +ProjectExporter::BuildConfiguration::BuildConfiguration (Project& p, const ValueTree& configNode) + : config (configNode), project (p) +{ +} + +ProjectExporter::BuildConfiguration::~BuildConfiguration() +{ +} + +String ProjectExporter::BuildConfiguration::getGCCOptimisationFlag() const +{ + switch (getOptimisationLevelInt()) + { + case optimiseMaxSpeed: return "3"; + case optimiseMinSize: return "s"; + default: return "0"; + } +} + +void ProjectExporter::BuildConfiguration::createPropertyEditors (PropertyListBuilder& props) +{ + props.add (new TextPropertyComponent (getNameValue(), "Name", 96, false), + "The name of this configuration."); + + props.add (new BooleanPropertyComponent (isDebugValue(), "Debug mode", "Debugging enabled"), + "If enabled, this means that the configuration should be built with debug synbols."); + + static const char* optimisationLevels[] = { "No optimisation", "Minimise size", "Maximise speed", 0 }; + const int optimisationLevelValues[] = { optimisationOff, optimiseMinSize, optimiseMaxSpeed, 0 }; + props.add (new ChoicePropertyComponent (getOptimisationLevel(), "Optimisation", + StringArray (optimisationLevels), Array (optimisationLevelValues)), + "The optimisation level for this configuration"); + + props.add (new TextPropertyComponent (getTargetBinaryName(), "Binary name", 256, false), + "The filename to use for the destination binary executable file. If you don't add a suffix to this name, " + "a suitable platform-specific suffix will be added automatically."); + + props.add (new TextPropertyComponent (getTargetBinaryRelativePath(), "Binary location", 1024, false), + "The folder in which the finished binary should be placed. Leave this blank to cause the binary to be placed " + "in its default location in the build folder."); + + props.addSearchPathProperty (getHeaderSearchPathValue(), "Header search paths", "Extra header search paths."); + props.addSearchPathProperty (getLibrarySearchPathValue(), "Extra library search paths", "Extra library search paths."); + + props.add (new TextPropertyComponent (getBuildConfigPreprocessorDefs(), "Preprocessor definitions", 32768, true), + "Extra preprocessor definitions. Use the form \"NAME1=value NAME2=value\", using whitespace, commas, or " + "new-lines to separate the items - to include a space or comma in a definition, precede it with a backslash."); + + createConfigProperties (props); + + props.add (new TextPropertyComponent (getUserNotes(), "Notes", 32768, true), + "Extra comments: This field is not used for code or project generation, it's just a space where you can express your thoughts."); +} + +StringPairArray ProjectExporter::BuildConfiguration::getAllPreprocessorDefs() const +{ + return mergePreprocessorDefs (project.getPreprocessorDefs(), + parsePreprocessorDefs (getBuildConfigPreprocessorDefsString())); +} + +StringArray ProjectExporter::BuildConfiguration::getHeaderSearchPaths() const +{ + return getSearchPathsFromString (getHeaderSearchPathString()); +} + +StringArray ProjectExporter::BuildConfiguration::getLibrarySearchPaths() const +{ + return getSearchPathsFromString (getLibrarySearchPathString()); +} + +String ProjectExporter::BuildConfiguration::getGCCLibraryPathFlags() const +{ + String s; + const StringArray libraryPaths (getLibrarySearchPaths()); + + for (int i = 0; i < libraryPaths.size(); ++i) + s << " -L" << addQuotesIfContainsSpaces (libraryPaths[i]); + + return s; +} + +String ProjectExporter::getExternalLibraryFlags (const BuildConfiguration& config) const +{ + StringArray libraries; + libraries.addTokens (getExternalLibrariesString(), ";\n", "\"'"); + libraries.removeEmptyStrings (true); + + if (libraries.size() != 0) + return replacePreprocessorTokens (config, "-l" + libraries.joinIntoString (" -l")).trim(); + + return String::empty; +} diff --git a/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.h b/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.h index b5ba1bf92a..23d0606a1e 100644 --- a/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.h +++ b/extras/Introjucer/Source/Project Saving/jucer_ProjectExporter.h @@ -37,7 +37,15 @@ public: ProjectExporter (Project&, const ValueTree& settings); virtual ~ProjectExporter(); + struct ExporterTypeInfo + { + String name; + const void* iconData; + int iconDataSize; + }; + static StringArray getExporterNames(); + static Array getExporterTypes(); static ProjectExporter* createNewExporter (Project&, const int index); static ProjectExporter* createNewExporter (Project&, const String& name); diff --git a/extras/Introjucer/Source/Project/jucer_Module.cpp b/extras/Introjucer/Source/Project/jucer_Module.cpp index 2c33ed6178..4ba59aeb93 100644 --- a/extras/Introjucer/Source/Project/jucer_Module.cpp +++ b/extras/Introjucer/Source/Project/jucer_Module.cpp @@ -895,3 +895,13 @@ void EnabledModuleList::addModuleOfferingToCopy (const File& f) addModule (m.manifestFile, areMostModulesCopiedLocally()); } + +bool isJuceFolder (const File& f) +{ + return isJuceModulesFolder (f.getChildFile ("modules")); +} + +bool isJuceModulesFolder (const File& f) +{ + return f.isDirectory() && f.getChildFile ("juce_core").isDirectory(); +} diff --git a/extras/Introjucer/Source/Project/jucer_Module.h b/extras/Introjucer/Source/Project/jucer_Module.h index 7b72160f66..fecd48319a 100644 --- a/extras/Introjucer/Source/Project/jucer_Module.h +++ b/extras/Introjucer/Source/Project/jucer_Module.h @@ -30,6 +30,11 @@ class ProjectExporter; class ProjectSaver; +//============================================================================== +File findDefaultModulesFolder (bool mustContainJuceCoreModule = true); +bool isJuceModulesFolder (const File&); +bool isJuceFolder (const File&); + //============================================================================== struct ModuleDescription { diff --git a/extras/Introjucer/Source/Project/jucer_NewProjectWizard.cpp b/extras/Introjucer/Source/Project/jucer_NewProjectWizard.cpp deleted file mode 100644 index b3696b2aa3..0000000000 --- a/extras/Introjucer/Source/Project/jucer_NewProjectWizard.cpp +++ /dev/null @@ -1,740 +0,0 @@ -/* - ============================================================================== - - This file is part of the JUCE library. - Copyright (c) 2013 - Raw Material Software Ltd. - - Permission is granted to use this software under the terms of either: - a) the GPL v2 (or any later version) - b) the Affero GPL v3 - - Details of these licenses can be found at: www.gnu.org/licenses - - JUCE is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - ------------------------------------------------------------------------------ - - To release a closed-source product which uses JUCE, commercial licenses are - available: visit www.juce.com for more information. - - ============================================================================== -*/ - -#include "jucer_NewProjectWizard.h" -#include "jucer_ProjectType.h" -#include "jucer_Module.h" -#include "../Project Saving/jucer_ProjectExporter.h" -#include "../Application/jucer_Application.h" -#include "../Application/jucer_MainWindow.h" - - -struct NewProjectWizardClasses -{ - //============================================================================== - static void createFileCreationOptionComboBox (Component& setupComp, - OwnedArray& itemsCreated, - const StringArray& fileOptions) - { - ComboBox* c = new ComboBox(); - itemsCreated.add (c); - setupComp.addChildAndSetID (c, "filesToCreate"); - - c->addItemList (fileOptions, 1); - c->setSelectedId (1, dontSendNotification); - - Label* l = new Label (String::empty, TRANS("Files to Auto-Generate") + ":"); - l->attachToComponent (c, true); - itemsCreated.add (l); - - c->setBounds ("parent.width / 2 + 160, 10, parent.width - 10, top + 22"); - } - - static int getFileCreationComboResult (Component& setupComp) - { - if (ComboBox* cb = dynamic_cast (setupComp.findChildWithID ("filesToCreate"))) - return cb->getSelectedItemIndex(); - - jassertfalse; - return 0; - } - - static void setExecutableNameForAllTargets (Project& project, const String& exeName) - { - for (Project::ExporterIterator exporter (project); exporter.next();) - for (ProjectExporter::ConfigIterator config (*exporter); config.next();) - config->getTargetBinaryName() = exeName; - } - - static Project::Item createSourceGroup (Project& project) - { - return project.getMainGroup().addNewSubGroup ("Source", 0); - } - - static File& getLastWizardFolder() - { - #if JUCE_WINDOWS - static File lastFolder (File::getSpecialLocation (File::userDocumentsDirectory)); - #else - static File lastFolder (File::getSpecialLocation (File::userHomeDirectory)); - #endif - - return lastFolder; - } - - static bool isJuceModulesFolder (const File& f) - { - return f.isDirectory() - && f.getChildFile ("juce_core").isDirectory(); - } - - static File findDefaultModulesFolder (bool mustContainJuceCoreModule = true) - { - const MainWindowList& windows = IntrojucerApp::getApp().mainWindowList; - - for (int i = windows.windows.size(); --i >= 0;) - { - if (Project* p = windows.windows.getUnchecked (i)->getProject()) - { - const File f (EnabledModuleList::findDefaultModulesFolder (*p)); - - if (isJuceModulesFolder (f) || (f.isDirectory() && ! mustContainJuceCoreModule)) - return f; - } - } - - if (mustContainJuceCoreModule) - return findDefaultModulesFolder (false); - - return File::nonexistent; - } - - //============================================================================== - struct NewProjectWizard - { - NewProjectWizard() {} - virtual ~NewProjectWizard() {} - - //============================================================================== - virtual String getName() = 0; - virtual String getDescription() = 0; - - virtual void addSetupItems (Component&, OwnedArray&) {} - virtual Result processResultsFromSetupItems (Component&) { return Result::ok(); } - - virtual bool initialiseProject (Project& project) = 0; - - virtual StringArray getDefaultModules() - { - static const char* mods[] = - { - "juce_core", - "juce_events", - "juce_graphics", - "juce_data_structures", - "juce_gui_basics", - "juce_gui_extra", - "juce_cryptography", - "juce_video", - "juce_opengl", - "juce_audio_basics", - "juce_audio_devices", - "juce_audio_formats", - "juce_audio_processors", - nullptr - }; - - return StringArray (mods); - } - - String appTitle; - File targetFolder, projectFile, modulesFolder; - Component* ownerWindow; - StringArray failedFiles; - - //============================================================================== - Project* runWizard (Component* window, - const String& projectName, - const File& target) - { - ownerWindow = window; - appTitle = projectName; - targetFolder = target; - - if (! targetFolder.exists()) - { - if (! targetFolder.createDirectory()) - failedFiles.add (targetFolder.getFullPathName()); - } - else if (FileHelpers::containsAnyNonHiddenFiles (targetFolder)) - { - if (! AlertWindow::showOkCancelBox (AlertWindow::InfoIcon, - TRANS("New Juce Project"), - TRANS("The folder you chose isn't empty - are you sure you want to create the project there?") - + "\n\n" - + TRANS("Any existing files with the same names may be overwritten by the new files."))) - return nullptr; - } - - projectFile = targetFolder.getChildFile (File::createLegalFileName (appTitle)) - .withFileExtension (Project::projectFileExtension); - - ScopedPointer project (new Project (projectFile)); - - if (failedFiles.size() == 0) - { - project->setFile (projectFile); - project->setTitle (appTitle); - project->getBundleIdentifier() = project->getDefaultBundleIdentifier(); - - if (! initialiseProject (*project)) - return nullptr; - - addDefaultModules (*project); - - if (project->save (false, true) != FileBasedDocument::savedOk) - return nullptr; - - project->setChangedFlag (false); - } - - if (failedFiles.size() > 0) - { - AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, - TRANS("Errors in Creating Project!"), - TRANS("The following files couldn't be written:") - + "\n\n" - + failedFiles.joinIntoString ("\n", 0, 10)); - return nullptr; - } - - return project.release(); - } - - bool selectJuceFolder() - { - for (;;) - { - FileChooser fc ("Select your JUCE modules folder...", - findDefaultModulesFolder(), - "*"); - - if (! fc.browseForDirectory()) - return false; - - if (isJuceModulesFolder (fc.getResult())) - { - modulesFolder = fc.getResult(); - return true; - } - - AlertWindow::showMessageBox (AlertWindow::WarningIcon, - "Not a valid JUCE modules folder!", - "Please select the folder containing your juce_* modules!\n\n" - "This is required so that the new project can be given some essential core modules."); - } - } - - //============================================================================== - File getSourceFilesFolder() const - { - return projectFile.getSiblingFile ("Source"); - } - - void createSourceFolder() - { - if (! getSourceFilesFolder().createDirectory()) - failedFiles.add (getSourceFilesFolder().getFullPathName()); - } - - void addDefaultModules (Project& project) - { - StringArray mods (getDefaultModules()); - - ModuleList list; - list.addAllModulesInFolder (modulesFolder); - - for (int i = 0; i < mods.size(); ++i) - if (const ModuleDescription* info = list.getModuleWithID (mods[i])) - project.getModules().addModule (info->manifestFile, true); - } - }; - - //============================================================================== - struct GUIAppWizard : public NewProjectWizard - { - GUIAppWizard() {} - - String getName() { return TRANS("GUI Application"); } - String getDescription() { return TRANS("Creates a standard application"); } - - void addSetupItems (Component& setupComp, OwnedArray& itemsCreated) - { - const String fileOptions[] = { TRANS("Create a Main.cpp file"), - TRANS("Create a Main.cpp file and a basic window"), - TRANS("Don't create any files") }; - - createFileCreationOptionComboBox (setupComp, itemsCreated, - StringArray (fileOptions, numElementsInArray (fileOptions))); - } - - Result processResultsFromSetupItems (Component& setupComp) - { - createMainCpp = createWindow = false; - - switch (getFileCreationComboResult (setupComp)) - { - case 0: createMainCpp = true; break; - case 1: createMainCpp = createWindow = true; break; - case 2: break; - default: jassertfalse; break; - } - - return Result::ok(); - } - - bool initialiseProject (Project& project) - { - createSourceFolder(); - - File mainCppFile = getSourceFilesFolder().getChildFile ("Main.cpp"); - File contentCompCpp = getSourceFilesFolder().getChildFile ("MainComponent.cpp"); - File contentCompH = contentCompCpp.withFileExtension (".h"); - String contentCompName = "MainContentComponent"; - - project.getProjectTypeValue() = ProjectType::getGUIAppTypeName(); - - Project::Item sourceGroup (createSourceGroup (project)); - - setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); - - String appHeaders (CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), mainCppFile)); - - if (createWindow) - { - appHeaders << newLine << CodeHelpers::createIncludeStatement (contentCompH, mainCppFile); - - String windowH = project.getFileTemplate ("jucer_ContentCompTemplate_h") - .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompH), false) - .replace ("CONTENTCOMPCLASS", contentCompName, false) - .replace ("HEADERGUARD", CodeHelpers::makeHeaderGuardName (contentCompH), false); - - String windowCpp = project.getFileTemplate ("jucer_ContentCompTemplate_cpp") - .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompCpp), false) - .replace ("INCLUDE_CORRESPONDING_HEADER", CodeHelpers::createIncludeStatement (contentCompH, contentCompCpp), false) - .replace ("CONTENTCOMPCLASS", contentCompName, false); - - if (! FileHelpers::overwriteFileWithNewDataIfDifferent (contentCompH, windowH)) - failedFiles.add (contentCompH.getFullPathName()); - - if (! FileHelpers::overwriteFileWithNewDataIfDifferent (contentCompCpp, windowCpp)) - failedFiles.add (contentCompCpp.getFullPathName()); - - sourceGroup.addFile (contentCompCpp, -1, true); - sourceGroup.addFile (contentCompH, -1, false); - } - - if (createMainCpp) - { - String mainCpp = project.getFileTemplate (createWindow ? "jucer_MainTemplate_Window_cpp" - : "jucer_MainTemplate_NoWindow_cpp") - .replace ("APPHEADERS", appHeaders, false) - .replace ("APPCLASSNAME", CodeHelpers::makeValidIdentifier (appTitle + "Application", false, true, false), false) - .replace ("APPNAME", CppTokeniserFunctions::addEscapeChars (appTitle), false) - .replace ("CONTENTCOMPCLASS", contentCompName, false) - .replace ("ALLOWMORETHANONEINSTANCE", "true", false); - - if (! FileHelpers::overwriteFileWithNewDataIfDifferent (mainCppFile, mainCpp)) - failedFiles.add (mainCppFile.getFullPathName()); - - sourceGroup.addFile (mainCppFile, -1, true); - } - - project.createExporterForCurrentPlatform(); - - return true; - } - - private: - bool createMainCpp, createWindow; - }; - - //============================================================================== - struct ConsoleAppWizard : public NewProjectWizard - { - ConsoleAppWizard() {} - - String getName() { return TRANS("Console Application"); } - String getDescription() { return TRANS("Creates a command-line application with no GUI features"); } - - void addSetupItems (Component& setupComp, OwnedArray& itemsCreated) - { - const String fileOptions[] = { TRANS("Create a Main.cpp file"), - TRANS("Don't create any files") }; - - createFileCreationOptionComboBox (setupComp, itemsCreated, - StringArray (fileOptions, numElementsInArray (fileOptions))); - } - - Result processResultsFromSetupItems (Component& setupComp) - { - createMainCpp = false; - - switch (getFileCreationComboResult (setupComp)) - { - case 0: createMainCpp = true; break; - case 1: break; - default: jassertfalse; break; - } - - return Result::ok(); - } - - bool initialiseProject (Project& project) - { - createSourceFolder(); - - project.getProjectTypeValue() = ProjectType::getConsoleAppTypeName(); - - Project::Item sourceGroup (createSourceGroup (project)); - - setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); - - if (createMainCpp) - { - File mainCppFile = getSourceFilesFolder().getChildFile ("Main.cpp"); - String appHeaders (CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), mainCppFile)); - - String mainCpp = project.getFileTemplate ("jucer_MainConsoleAppTemplate_cpp") - .replace ("APPHEADERS", appHeaders, false); - - if (! FileHelpers::overwriteFileWithNewDataIfDifferent (mainCppFile, mainCpp)) - failedFiles.add (mainCppFile.getFullPathName()); - - sourceGroup.addFile (mainCppFile, -1, true); - } - - project.createExporterForCurrentPlatform(); - - return true; - } - - private: - bool createMainCpp; - }; - - //============================================================================== - struct AudioPluginAppWizard : public NewProjectWizard - { - AudioPluginAppWizard() {} - - String getName() override { return TRANS("Audio Plug-In"); } - String getDescription() override { return TRANS("Creates an audio plugin project"); } - - StringArray getDefaultModules() override - { - StringArray s (NewProjectWizard::getDefaultModules()); - s.add ("juce_audio_plugin_client"); - return s; - } - - bool initialiseProject (Project& project) override - { - createSourceFolder(); - - String filterClassName = CodeHelpers::makeValidIdentifier (appTitle, true, true, false) + "AudioProcessor"; - filterClassName = filterClassName.substring (0, 1).toUpperCase() + filterClassName.substring (1); - String editorClassName = filterClassName + "Editor"; - - File filterCppFile = getSourceFilesFolder().getChildFile ("PluginProcessor.cpp"); - File filterHFile = filterCppFile.withFileExtension (".h"); - File editorCppFile = getSourceFilesFolder().getChildFile ("PluginEditor.cpp"); - File editorHFile = editorCppFile.withFileExtension (".h"); - - project.getProjectTypeValue() = ProjectType::getAudioPluginTypeName(); - - Project::Item sourceGroup (createSourceGroup (project)); - project.getConfigFlag ("JUCE_QUICKTIME") = Project::configFlagDisabled; // disabled because it interferes with RTAS build on PC - - setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); - - String appHeaders (CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), filterCppFile)); - - String filterCpp = project.getFileTemplate ("jucer_AudioPluginFilterTemplate_cpp") - .replace ("FILTERHEADERS", CodeHelpers::createIncludeStatement (filterHFile, filterCppFile) - + newLine + CodeHelpers::createIncludeStatement (editorHFile, filterCppFile), false) - .replace ("FILTERCLASSNAME", filterClassName, false) - .replace ("EDITORCLASSNAME", editorClassName, false); - - String filterH = project.getFileTemplate ("jucer_AudioPluginFilterTemplate_h") - .replace ("APPHEADERS", appHeaders, false) - .replace ("FILTERCLASSNAME", filterClassName, false) - .replace ("HEADERGUARD", CodeHelpers::makeHeaderGuardName (filterHFile), false); - - String editorCpp = project.getFileTemplate ("jucer_AudioPluginEditorTemplate_cpp") - .replace ("EDITORCPPHEADERS", CodeHelpers::createIncludeStatement (filterHFile, filterCppFile) - + newLine + CodeHelpers::createIncludeStatement (editorHFile, filterCppFile), false) - .replace ("FILTERCLASSNAME", filterClassName, false) - .replace ("EDITORCLASSNAME", editorClassName, false); - - String editorH = project.getFileTemplate ("jucer_AudioPluginEditorTemplate_h") - .replace ("EDITORHEADERS", appHeaders + newLine + CodeHelpers::createIncludeStatement (filterHFile, filterCppFile), false) - .replace ("FILTERCLASSNAME", filterClassName, false) - .replace ("EDITORCLASSNAME", editorClassName, false) - .replace ("HEADERGUARD", CodeHelpers::makeHeaderGuardName (editorHFile), false); - - if (! FileHelpers::overwriteFileWithNewDataIfDifferent (filterCppFile, filterCpp)) - failedFiles.add (filterCppFile.getFullPathName()); - - if (! FileHelpers::overwriteFileWithNewDataIfDifferent (filterHFile, filterH)) - failedFiles.add (filterHFile.getFullPathName()); - - if (! FileHelpers::overwriteFileWithNewDataIfDifferent (editorCppFile, editorCpp)) - failedFiles.add (editorCppFile.getFullPathName()); - - if (! FileHelpers::overwriteFileWithNewDataIfDifferent (editorHFile, editorH)) - failedFiles.add (editorHFile.getFullPathName()); - - sourceGroup.addFile (filterCppFile, -1, true); - sourceGroup.addFile (filterHFile, -1, false); - sourceGroup.addFile (editorCppFile, -1, true); - sourceGroup.addFile (editorHFile, -1, false); - - project.createExporterForCurrentPlatform(); - - return true; - } - }; - - //============================================================================== - struct StaticLibraryWizard : public NewProjectWizard - { - StaticLibraryWizard() {} - - String getName() override { return TRANS("Static Library"); } - String getDescription() override { return TRANS("Creates a static library"); } - - bool initialiseProject (Project& project) override - { - createSourceFolder(); - project.getProjectTypeValue() = ProjectType::getStaticLibTypeName(); - createSourceGroup (project); - setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); - project.createExporterForCurrentPlatform(); - - return true; - } - }; - - //============================================================================== - struct DynamicLibraryWizard : public NewProjectWizard - { - DynamicLibraryWizard() {} - - String getName() override { return TRANS("Dynamic Library"); } - String getDescription() override { return TRANS("Creates a dynamic library"); } - - bool initialiseProject (Project& project) override - { - createSourceFolder(); - project.getProjectTypeValue() = ProjectType::getDynamicLibTypeName(); - createSourceGroup (project); - setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); - project.createExporterForCurrentPlatform(); - - return true; - } - }; - - //============================================================================== - class WizardComp : public Component, - private ButtonListener, - private ComboBoxListener, - private TextEditorListener - { - public: - WizardComp() - : projectName (TRANS("Project name")), - nameLabel (String::empty, TRANS("Project Name") + ":"), - typeLabel (String::empty, TRANS("Project Type") + ":"), - fileBrowser (FileBrowserComponent::saveMode | FileBrowserComponent::canSelectDirectories, - getLastWizardFolder(), nullptr, nullptr), - fileOutline (String::empty, TRANS("Project Folder") + ":"), - createButton (TRANS("Create") + "..."), - cancelButton (TRANS("Cancel")) - { - setOpaque (true); - setSize (600, 500); - - addChildAndSetID (&projectName, "projectName"); - projectName.setText ("NewProject"); - projectName.setBounds ("100, 14, parent.width / 2 - 10, top + 22"); - nameLabel.attachToComponent (&projectName, true); - projectName.addListener (this); - - addChildAndSetID (&projectType, "projectType"); - projectType.addItemList (getWizardNames(), 1); - projectType.setSelectedId (1, dontSendNotification); - projectType.setBounds ("100, projectName.bottom + 4, projectName.right, top + 22"); - typeLabel.attachToComponent (&projectType, true); - projectType.addListener (this); - - addChildAndSetID (&fileOutline, "fileOutline"); - fileOutline.setColour (GroupComponent::outlineColourId, Colours::black.withAlpha (0.2f)); - fileOutline.setTextLabelPosition (Justification::centred); - fileOutline.setBounds ("10, projectType.bottom + 20, projectType.right, parent.height - 10"); - - addChildAndSetID (&fileBrowser, "fileBrowser"); - fileBrowser.setBounds ("fileOutline.left + 10, fileOutline.top + 20, fileOutline.right - 10, fileOutline.bottom - 12"); - fileBrowser.setFilenameBoxLabel ("Folder:"); - - addChildAndSetID (&createButton, "createButton"); - createButton.setBounds ("right - 140, bottom - 24, parent.width - 10, parent.height - 10"); - createButton.addListener (this); - - addChildAndSetID (&cancelButton, "cancelButton"); - cancelButton.addShortcut (KeyPress (KeyPress::escapeKey)); - cancelButton.setBounds ("right - 140, createButton.top, createButton.left - 10, createButton.bottom"); - cancelButton.addListener (this); - - updateCustomItems(); - updateCreateButton(); - } - - void paint (Graphics& g) override - { - g.fillAll (Colour::greyLevel (0.93f)); - } - - void buttonClicked (Button* b) override - { - if (b == &createButton) - { - createProject(); - } - else - { - if (MainWindow* mw = dynamic_cast (getTopLevelComponent())) - { - #if ! JUCE_MAC - if (IntrojucerApp::getApp().mainWindowList.windows.size() == 1) - mw->setProject (nullptr); - else - #endif - IntrojucerApp::getApp().mainWindowList.closeWindow (mw); - } - } - } - - void createProject() - { - MainWindow* mw = Component::findParentComponentOfClass(); - jassert (mw != nullptr); - - ScopedPointer wizard (createWizard()); - - if (wizard != nullptr) - { - Result result (wizard->processResultsFromSetupItems (*this)); - - if (result.failed()) - { - AlertWindow::showMessageBox (AlertWindow::WarningIcon, - TRANS("Create Project"), - result.getErrorMessage()); - return; - } - - if (! wizard->selectJuceFolder()) - return; - - ScopedPointer project (wizard->runWizard (mw, projectName.getText(), - fileBrowser.getSelectedFile (0))); - - if (project != nullptr) - mw->setProject (project.release()); - } - } - - void updateCustomItems() - { - customItems.clear(); - - ScopedPointer wizard (createWizard()); - - if (wizard != nullptr) - wizard->addSetupItems (*this, customItems); - } - - void comboBoxChanged (ComboBox*) override - { - updateCustomItems(); - } - - void textEditorTextChanged (TextEditor&) override - { - updateCreateButton(); - - fileBrowser.setFileName (File::createLegalFileName (projectName.getText())); - } - - private: - ComboBox projectType; - TextEditor projectName; - Label nameLabel, typeLabel; - FileBrowserComponent fileBrowser; - GroupComponent fileOutline; - TextButton createButton, cancelButton; - OwnedArray customItems; - - NewProjectWizard* createWizard() - { - return createWizardType (projectType.getSelectedItemIndex()); - } - - void updateCreateButton() - { - createButton.setEnabled (projectName.getText().trim().isNotEmpty()); - } - }; - - //============================================================================== - static int getNumWizards() - { - return 5; - } - - static NewProjectWizard* createWizardType (int index) - { - switch (index) - { - case 0: return new GUIAppWizard(); - case 1: return new ConsoleAppWizard(); - case 2: return new AudioPluginAppWizard(); - case 3: return new StaticLibraryWizard(); - case 4: return new DynamicLibraryWizard(); - default: jassertfalse; break; - } - - return nullptr; - } - - static StringArray getWizardNames() - { - StringArray s; - - for (int i = 0; i < getNumWizards(); ++i) - { - ScopedPointer wiz (createWizardType (i)); - s.add (wiz->getName()); - } - - return s; - } -}; - -Component* createNewProjectWizardComponent() -{ - return new NewProjectWizardClasses::WizardComp(); -} diff --git a/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.cpp b/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.cpp index 41a9074f65..576d1353d9 100644 --- a/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.cpp +++ b/extras/Introjucer/Source/Project/jucer_ProjectContentComponent.cpp @@ -30,7 +30,7 @@ #include "../Project Saving/jucer_ProjectExporter.h" #include "../Utility/jucer_TranslationTool.h" #include "../Utility/jucer_JucerTreeViewBase.h" -#include "jucer_NewFileWizard.h" +#include "../Wizards/jucer_NewFileWizard.h" #include "jucer_GroupInformationComponent.h" //============================================================================== @@ -241,7 +241,8 @@ void ProjectContentComponent::resized() if (contentView != nullptr) contentView->setBounds (r); - logo->setBounds (r.reduced (r.getWidth() / 4, r.getHeight() / 4)); + if (logo != nullptr) + logo->setBounds (r.reduced (r.getWidth() / 4, r.getHeight() / 4)); } void ProjectContentComponent::lookAndFeelChanged() diff --git a/extras/Introjucer/Source/Project/jucer_ProjectType.h b/extras/Introjucer/Source/Project/jucer_ProjectType.h index d2133a9d0d..3dfa5a7db1 100644 --- a/extras/Introjucer/Source/Project/jucer_ProjectType.h +++ b/extras/Introjucer/Source/Project/jucer_ProjectType.h @@ -57,6 +57,7 @@ public: static const char* getDynamicLibTypeName(); static const char* getAudioPluginTypeName(); + virtual void setMissingProjectProperties (Project&) const = 0; virtual void createPropertyEditors (Project&, PropertyListBuilder&) const = 0; virtual void prepareExporter (ProjectExporter&) const = 0; diff --git a/extras/Introjucer/Source/Utility/jucer_SlidingPanelComponent.cpp b/extras/Introjucer/Source/Utility/jucer_SlidingPanelComponent.cpp new file mode 100644 index 0000000000..cb1e398e73 --- /dev/null +++ b/extras/Introjucer/Source/Utility/jucer_SlidingPanelComponent.cpp @@ -0,0 +1,116 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + + +#include "jucer_SlidingPanelComponent.h" + + +struct SlidingPanelComponent::DotButton : public Button +{ + DotButton (SlidingPanelComponent& sp, int pageIndex) + : Button (String()), owner (sp), index (pageIndex) {} + + void paintButton (Graphics& g, bool /*isMouseOverButton*/, bool /*isButtonDown*/) override + { + g.setColour (Colours::white); + const Rectangle r (getLocalBounds().reduced (getWidth() / 4).toFloat()); + + if (index == owner.getCurrentTabIndex()) + g.fillEllipse (r); + else + g.drawEllipse (r, 1.0f); + } + + void clicked() override + { + owner.goToTab (index); + } + + SlidingPanelComponent& owner; + int index; +}; + +//============================================================================== +SlidingPanelComponent::SlidingPanelComponent() + : currentIndex (0), dotSize (20) +{ + addAndMakeVisible (pageHolder); +} + +SlidingPanelComponent::~SlidingPanelComponent() +{ +} + +SlidingPanelComponent::PageInfo::~PageInfo() +{ + if (shouldDelete) + content.deleteAndZero(); +} + +void SlidingPanelComponent::addTab (const String& tabName, + Component* const contentComponent, + const bool deleteComponentWhenNotNeeded, + const int insertIndex) +{ + PageInfo* page = new PageInfo(); + pages.insert (insertIndex, page); + page->content = contentComponent; + addAndMakeVisible (page->dotButton = new DotButton (*this, pages.indexOf (page))); + page->name = tabName; + page->shouldDelete = deleteComponentWhenNotNeeded; + + pageHolder.addAndMakeVisible (contentComponent); + resized(); +} + +void SlidingPanelComponent::goToTab (int targetTabIndex) +{ + const int xTranslation = (currentIndex - targetTabIndex) * getWidth(); + + currentIndex = targetTabIndex; + + Desktop::getInstance().getAnimator() + .animateComponent (&pageHolder, pageHolder.getBounds().translated (xTranslation, 0), + 1.0f, 600, false, 0.0, 0.0); + + repaint(); +} + +void SlidingPanelComponent::resized() +{ + pageHolder.setBounds (-currentIndex * getWidth(), pageHolder.getPosition().y, + getNumTabs() * getWidth(), getHeight()); + + Rectangle content (getLocalBounds()); + + Rectangle dotHolder = content.removeFromBottom (20 + dotSize) + .reduced ((content.getWidth() - dotSize * getNumTabs()) / 2, 10); + + for (int i = 0; i < getNumTabs(); ++i) + pages.getUnchecked(i)->dotButton->setBounds (dotHolder.removeFromLeft (dotSize)); + + for (int i = pages.size(); --i >= 0;) + if (Component* c = pages.getUnchecked(i)->content) + c->setBounds (content.translated (i * content.getWidth(), 0)); +} diff --git a/extras/Introjucer/Source/Utility/jucer_SlidingPanelComponent.h b/extras/Introjucer/Source/Utility/jucer_SlidingPanelComponent.h new file mode 100644 index 0000000000..24d62b5512 --- /dev/null +++ b/extras/Introjucer/Source/Utility/jucer_SlidingPanelComponent.h @@ -0,0 +1,85 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + +#ifndef JUCER_SLIDINGPANELCOMPONENT_H_INCLUDED +#define JUCER_SLIDINGPANELCOMPONENT_H_INCLUDED + +#include "../jucer_Headers.h" +#include "../Application/jucer_Application.h" + + +//============================================================================== +class SlidingPanelComponent : public Component +{ +public: + SlidingPanelComponent(); + ~SlidingPanelComponent(); + + /** Adds a new tab to the panel slider. */ + void addTab (const String& tabName, + Component* contentComponent, + bool deleteComponentWhenNotNeeded, + int insertIndex = -1); + + /** Gets rid of one of the tabs. */ + void removeTab (int tabIndex); + + /** Gets index of current tab. */ + int getCurrentTabIndex() const noexcept { return currentIndex; } + + /** Returns the number of tabs. */ + int getNumTabs() const noexcept { return pages.size(); } + + /** Animates the window to the desired tab. */ + void goToTab (int targetTabIndex); + + + //============================================================================== + /** @internal */ + void resized() override; + +private: + struct DotButton; + friend struct DotButton; + + struct PageInfo + { + ~PageInfo(); + + Component::SafePointer content; + ScopedPointer dotButton; + String name; + bool shouldDelete; + }; + + OwnedArray pages; + + Component pageHolder; + int currentIndex, dotSize; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (SlidingPanelComponent); +}; + + +#endif // JUCER_SLIDINGPANELCOMPONENT_H_INCLUDED diff --git a/extras/Introjucer/Source/Project/jucer_NewFileWizard.cpp b/extras/Introjucer/Source/Wizards/jucer_NewFileWizard.cpp similarity index 95% rename from extras/Introjucer/Source/Project/jucer_NewFileWizard.cpp rename to extras/Introjucer/Source/Wizards/jucer_NewFileWizard.cpp index 74795a2321..6a15bda30a 100644 --- a/extras/Introjucer/Source/Project/jucer_NewFileWizard.cpp +++ b/extras/Introjucer/Source/Wizards/jucer_NewFileWizard.cpp @@ -29,7 +29,7 @@ NewFileWizard::Type* createGUIComponentWizard(); //============================================================================== namespace { - inline String fillInBasicTemplateFields (const File& file, const Project::Item& item, const char* templateName) + static String fillInBasicTemplateFields (const File& file, const Project::Item& item, const char* templateName) { return item.project.getFileTemplate (templateName) .replace ("FILENAME", file.getFileName(), false) @@ -39,7 +39,7 @@ namespace .replace ("INCLUDE_CORRESPONDING_HEADER", CodeHelpers::createIncludeStatement (file.withFileExtension (".h"), file)); } - bool fillInNewCppFileTemplate (const File& file, const Project::Item& item, const char* templateName) + static bool fillInNewCppFileTemplate (const File& file, const Project::Item& item, const char* templateName) { return FileHelpers::overwriteFileWithNewDataIfDifferent (file, fillInBasicTemplateFields (file, item, templateName)); } diff --git a/extras/Introjucer/Source/Project/jucer_NewFileWizard.h b/extras/Introjucer/Source/Wizards/jucer_NewFileWizard.h similarity index 91% rename from extras/Introjucer/Source/Project/jucer_NewFileWizard.h rename to extras/Introjucer/Source/Wizards/jucer_NewFileWizard.h index b70d52574d..b97328e0ad 100644 --- a/extras/Introjucer/Source/Project/jucer_NewFileWizard.h +++ b/extras/Introjucer/Source/Wizards/jucer_NewFileWizard.h @@ -26,7 +26,7 @@ #define __JUCER_NEWFILEWIZARD_JUCEHEADER__ #include "../jucer_Headers.h" -#include "jucer_Project.h" +#include "../Project/jucer_Project.h" //============================================================================== @@ -57,13 +57,13 @@ public: }; //============================================================================== - void addWizardsToMenu (PopupMenu& m) const; + void addWizardsToMenu (PopupMenu&) const; bool runWizardFromMenu (int chosenMenuItemID, const Project::Item& projectGroupToAddTo) const; - void registerWizard (Type* newWizard); + void registerWizard (Type*); private: - OwnedArray wizards; + OwnedArray wizards; }; diff --git a/extras/Introjucer/Source/Wizards/jucer_NewProjectWizard.h b/extras/Introjucer/Source/Wizards/jucer_NewProjectWizard.h new file mode 100644 index 0000000000..5c455afd3c --- /dev/null +++ b/extras/Introjucer/Source/Wizards/jucer_NewProjectWizard.h @@ -0,0 +1,229 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + +#ifndef JUCER_NEWPROJECTWIZARD_H_INCLUDED +#define JUCER_NEWPROJECTWIZARD_H_INCLUDED + + +//============================================================================== +static ComboBox& createFileCreationOptionComboBox (Component& setupComp, + OwnedArray& itemsCreated, + const StringArray& fileOptions) +{ + ComboBox* c = new ComboBox(); + itemsCreated.add (c); + setupComp.addChildAndSetID (c, "filesToCreate"); + + c->addItemList (fileOptions, 1); + c->setSelectedId (1, dontSendNotification); + + Label* l = new Label (String::empty, TRANS("Files to Auto-Generate") + ":"); + l->attachToComponent (c, true); + itemsCreated.add (l); + + c->setBounds ("parent.width / 2 + 160, 30, parent.width - 30, top + 22"); + + return *c; +} + +static int getFileCreationComboResult (WizardComp& setupComp) +{ + if (ComboBox* cb = dynamic_cast (setupComp.findChildWithID ("filesToCreate"))) + return cb->getSelectedItemIndex(); + + jassertfalse; + return 0; +} + +static void setExecutableNameForAllTargets (Project& project, const String& exeName) +{ + for (Project::ExporterIterator exporter (project); exporter.next();) + for (ProjectExporter::ConfigIterator config (*exporter); config.next();) + config->getTargetBinaryName() = exeName; +} + +static Project::Item createSourceGroup (Project& project) +{ + return project.getMainGroup().addNewSubGroup ("Source", 0); +} + +static File& getLastWizardFolder() +{ + #if JUCE_WINDOWS + static File lastFolder (File::getSpecialLocation (File::userDocumentsDirectory)); + #else + static File lastFolder (File::getSpecialLocation (File::userHomeDirectory)); + #endif + + return lastFolder; +} + +//============================================================================== +struct NewProjectWizard +{ + NewProjectWizard() {} + virtual ~NewProjectWizard() {} + + //============================================================================== + virtual String getName() const = 0; + virtual String getDescription() const = 0; + virtual const char* getIcon() const = 0; + + virtual void addSetupItems (Component&, OwnedArray&) {} + virtual Result processResultsFromSetupItems (WizardComp&) { return Result::ok(); } + + virtual bool initialiseProject (Project& project) = 0; + + virtual StringArray getDefaultModules() + { + static const char* mods[] = + { + "juce_core", + "juce_events", + "juce_graphics", + "juce_data_structures", + "juce_gui_basics", + "juce_gui_extra", + "juce_cryptography", + "juce_video", + "juce_opengl", + "juce_audio_basics", + "juce_audio_devices", + "juce_audio_formats", + "juce_audio_processors", + nullptr + }; + + return StringArray (mods); + } + + String appTitle; + File targetFolder, projectFile, modulesFolder; + WizardComp* ownerWizardComp; + StringArray failedFiles; + + bool selectJuceFolder() + { + return ModulesFolderPathBox::selectJuceFolder (modulesFolder); + } + + //============================================================================== + Project* runWizard (WizardComp& wc, + const String& projectName, + const File& target) + { + ownerWizardComp = &wc; + appTitle = projectName; + targetFolder = target; + + if (! targetFolder.exists()) + { + if (! targetFolder.createDirectory()) + failedFiles.add (targetFolder.getFullPathName()); + } + else if (FileHelpers::containsAnyNonHiddenFiles (targetFolder)) + { + if (! AlertWindow::showOkCancelBox (AlertWindow::InfoIcon, + TRANS("New JUCE Project"), + TRANS("You chose the folder:\n\nXFLDRX\n\n").replace ("XFLDRX", targetFolder.getFullPathName()) + + TRANS("This folder isn't empty - are you sure you want to create the project there?") + + "\n\n" + + TRANS("Any existing files with the same names may be overwritten by the new files."))) + return nullptr; + } + + projectFile = targetFolder.getChildFile (File::createLegalFileName (appTitle)) + .withFileExtension (Project::projectFileExtension); + + ScopedPointer project (new Project (projectFile)); + + if (failedFiles.size() == 0) + { + project->setFile (projectFile); + project->setTitle (appTitle); + project->getBundleIdentifier() = project->getDefaultBundleIdentifier(); + + if (! initialiseProject (*project)) + return nullptr; + + addExporters (*project, wc); + addDefaultModules (*project, false); + + if (project->save (false, true) != FileBasedDocument::savedOk) + return nullptr; + + project->setChangedFlag (false); + } + + if (failedFiles.size() > 0) + { + AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, + TRANS("Errors in Creating Project!"), + TRANS("The following files couldn't be written:") + + "\n\n" + + failedFiles.joinIntoString ("\n", 0, 10)); + return nullptr; + } + + return project.release(); + } + + //============================================================================== + File getSourceFilesFolder() const + { + return projectFile.getSiblingFile ("Source"); + } + + void createSourceFolder() + { + if (! getSourceFilesFolder().createDirectory()) + failedFiles.add (getSourceFilesFolder().getFullPathName()); + } + + void addDefaultModules (Project& project, bool areModulesCopiedLocally) + { + StringArray mods (getDefaultModules()); + + ModuleList list; + list.addAllModulesInFolder (modulesFolder); + + for (int i = 0; i < mods.size(); ++i) + if (const ModuleDescription* info = list.getModuleWithID (mods[i])) + project.getModules().addModule (info->manifestFile, areModulesCopiedLocally); + } + + void addExporters (Project& project, WizardComp& wizardComp) + { + StringArray types (wizardComp.platformTargets.getSelectedPlatforms()); + + for (int i = 0; i < types.size(); ++i) + project.addNewExporter (types[i]); + + if (project.getNumExporters() == 0) + project.createExporterForCurrentPlatform(); + } +}; + + +#endif // JUCER_NEWPROJECTWIZARD_H_INCLUDED diff --git a/extras/Introjucer/Source/Wizards/jucer_NewProjectWizardClasses.cpp b/extras/Introjucer/Source/Wizards/jucer_NewProjectWizardClasses.cpp new file mode 100644 index 0000000000..3d1896b0eb --- /dev/null +++ b/extras/Introjucer/Source/Wizards/jucer_NewProjectWizardClasses.cpp @@ -0,0 +1,95 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + +#include "../jucer_Headers.h" +#include "jucer_NewProjectWizardClasses.h" +#include "../Project/jucer_ProjectType.h" +#include "../Project/jucer_Module.h" +#include "../Project Saving/jucer_ProjectExporter.h" +#include "../Application/jucer_Application.h" +#include "../Application/jucer_MainWindow.h" +#include "../Utility/jucer_SlidingPanelComponent.h" + +struct NewProjectWizardClasses +{ + class WizardComp; + #include "jucer_NewProjectWizard.h" + + #include "jucer_ProjectWizard_GUIApp.h" + #include "jucer_ProjectWizard_Console.h" + #include "jucer_ProjectWizard_AudioPlugin.h" + #include "jucer_ProjectWizard_StaticLibrary.h" + #include "jucer_ProjectWizard_DLL.h" + #include "jucer_ProjectWizard_openGL.h" + #include "jucer_ProjectWizard_Animated.h" + #include "jucer_ProjectWizard_AudioApp.h" + #include "jucer_ProjectWizard_Blank.h" + + #include "jucer_NewProjectWizardComponent.h" + #include "jucer_TemplateThumbnailsComponent.h" + #include "jucer_StartPageComponent.h" + + //============================================================================== + static int getNumWizards() noexcept + { + return 9; + } + + static NewProjectWizard* createWizardType (int index) + { + switch (index) + { + case 0: return new NewProjectWizardClasses::GUIAppWizard(); + case 1: return new NewProjectWizardClasses::AnimatedAppWizard(); + case 2: return new NewProjectWizardClasses::OpenGLAppWizard(); + case 3: return new NewProjectWizardClasses::ConsoleAppWizard(); + case 4: return new NewProjectWizardClasses::AudioAppWizard(); + case 5: return new NewProjectWizardClasses::AudioPluginAppWizard(); + case 6: return new NewProjectWizardClasses::StaticLibraryWizard(); + case 7: return new NewProjectWizardClasses::DynamicLibraryWizard(); + case 8: return new NewProjectWizardClasses::BlankAppWizard(); + default: jassertfalse; break; + } + + return nullptr; + } + + static StringArray getWizardNames() + { + StringArray s; + + for (int i = 0; i < getNumWizards(); ++i) + { + ScopedPointer wiz (createWizardType (i)); + s.add (wiz->getName()); + } + + return s; + } +}; + +Component* createNewProjectWizardComponent() +{ + return new NewProjectWizardClasses::StartPageComponent(); +} diff --git a/extras/Introjucer/Source/Project/jucer_NewProjectWizard.h b/extras/Introjucer/Source/Wizards/jucer_NewProjectWizardClasses.h similarity index 82% rename from extras/Introjucer/Source/Project/jucer_NewProjectWizard.h rename to extras/Introjucer/Source/Wizards/jucer_NewProjectWizardClasses.h index fd8b1800da..8300891126 100644 --- a/extras/Introjucer/Source/Project/jucer_NewProjectWizard.h +++ b/extras/Introjucer/Source/Wizards/jucer_NewProjectWizardClasses.h @@ -22,12 +22,5 @@ ============================================================================== */ -#ifndef __JUCER_NEWPROJECTWIZARD_JUCEHEADER__ -#define __JUCER_NEWPROJECTWIZARD_JUCEHEADER__ - -#include "../jucer_Headers.h" Component* createNewProjectWizardComponent(); - - -#endif // __JUCER_NEWPROJECTWIZARD_JUCEHEADER__ diff --git a/extras/Introjucer/Source/Wizards/jucer_NewProjectWizardComponent.h b/extras/Introjucer/Source/Wizards/jucer_NewProjectWizardComponent.h new file mode 100644 index 0000000000..e9edc2c3a2 --- /dev/null +++ b/extras/Introjucer/Source/Wizards/jucer_NewProjectWizardComponent.h @@ -0,0 +1,437 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + +#ifndef NEWPROJECTWIZARDCOMPONENTS_H_INCLUDED +#define NEWPROJECTWIZARDCOMPONENTS_H_INCLUDED + + +class ModulesFolderPathBox : public Component, + private ButtonListener, + private ComboBoxListener +{ +public: + ModulesFolderPathBox (File initialFileOrDirectory) + : currentPathBox ("currentPathBox"), + openFolderButton (TRANS("...")), + modulesLabel (String::empty, TRANS("Modules Folder") + ":") + { + if (initialFileOrDirectory == File::nonexistent) + initialFileOrDirectory = findDefaultModulesFolder(); + + setModulesFolder (initialFileOrDirectory); + + addAndMakeVisible (currentPathBox); + currentPathBox.setEditableText (true); + currentPathBox.addListener (this); + + addAndMakeVisible (openFolderButton); + openFolderButton.addListener (this); + openFolderButton.setTooltip (TRANS ("Select JUCE modules folder")); + + addAndMakeVisible (modulesLabel); + modulesLabel.attachToComponent (¤tPathBox, true); + } + + void resized() override + { + Rectangle bounds = getLocalBounds(); + + modulesLabel.setBounds (bounds.removeFromLeft (110)); + + openFolderButton.setBounds (bounds.removeFromRight (40)); + bounds.removeFromRight (5); + + currentPathBox.setBounds (bounds); + } + + static bool selectJuceFolder (File& result) + { + for (;;) + { + FileChooser fc ("Select your JUCE modules folder...", + findDefaultModulesFolder(), + "*"); + + if (! fc.browseForDirectory()) + return false; + + if (isJuceModulesFolder (fc.getResult())) + { + result = fc.getResult(); + return true; + } + + AlertWindow::showMessageBox (AlertWindow::WarningIcon, + "Not a valid JUCE modules folder!", + "Please select the folder containing your juce_* modules!\n\n" + "This is required so that the new project can be given some essential core modules."); + } + } + + void selectJuceFolder() + { + File result; + + if (selectJuceFolder (result)) + setModulesFolder (result); + } + + void setModulesFolder (const File& newFolder) + { + if (modulesFolder != newFolder) + { + modulesFolder = newFolder; + currentPathBox.setText (modulesFolder.getFullPathName(), dontSendNotification); + } + } + + void buttonClicked (Button*) override + { + selectJuceFolder(); + } + + void comboBoxChanged (ComboBox*) override + { + setModulesFolder (File::getCurrentWorkingDirectory().getChildFile (currentPathBox.getText())); + } + + File modulesFolder; + +private: + ComboBox currentPathBox; + TextButton openFolderButton; + Label modulesLabel; +}; + + +/** The target platforms chooser for the chosen template. */ +class PlatformTargetsComp : public Component, + private ListBoxModel +{ +public: + PlatformTargetsComp() + { + setOpaque (false); + + const Array types (ProjectExporter::getExporterTypes()); + + for (int i = 0; i < types.size(); ++i) + { + const ProjectExporter::ExporterTypeInfo& type = types.getReference (i); + platforms.add (new PlatformType (ImageCache::getFromMemory (type.iconData, type.iconDataSize), type.name)); + } + + listBox.setRowHeight (35); + listBox.setModel (this); + listBox.setOpaque (false); + listBox.setMultipleSelectionEnabled (true); + listBox.setClickingTogglesRowSelection (true); + listBox.setColour (ListBox::backgroundColourId, Colours::white.withAlpha (0.0f)); + addAndMakeVisible (listBox); + + selectDefaultExporterIfNoneSelected(); + } + + StringArray getSelectedPlatforms() const + { + StringArray list; + + for (int i = 0; i < platforms.size(); ++i) + if (listBox.isRowSelected (i)) + list.add (platforms.getUnchecked(i)->name); + + return list; + } + + void selectDefaultExporterIfNoneSelected() + { + if (listBox.getNumSelectedRows() == 0) + { + for (int i = platforms.size(); --i >= 0;) + { + if (platforms.getUnchecked(i)->name == ProjectExporter::getCurrentPlatformExporterName()) + { + listBox.selectRow (i); + break; + } + } + } + } + + void resized() override + { + listBox.setBounds (getLocalBounds()); + } + + int getNumRows() override + { + return platforms.size(); + } + + void paintListBoxItem (int rowNumber, Graphics& g, int width, int height, bool rowIsSelected) override + { + if (PlatformType* platform = platforms[rowNumber]) + { + if (rowIsSelected) + g.fillAll (Colour (0x99f29000)); + + Rectangle dotSelect ((float) height, (float) height); + dotSelect.reduce (12, 12); + + g.setColour (Colour (0x33ffffff)); + g.fillEllipse (dotSelect); + + if (rowIsSelected) + { + const float tx = dotSelect.getCentreX(); + const float ty = dotSelect.getCentreY() + 1.0f; + + Path tick; + tick.startNewSubPath (tx - 5.0f, ty - 6.0f); + tick.lineTo (tx, ty); + tick.lineTo (tx + 8.0f, ty - 13.0f); + + g.setColour (Colours::white); + g.strokePath (tick, PathStrokeType (3.0f)); + } + + g.setColour (Colours::black); + g.drawImageWithin (platform->icon, 40, 0, height, height, RectanglePlacement::stretchToFit); + g.drawText (platform->name, 90, 0, width, height, Justification::left); + } + } + + void selectedRowsChanged (int) override + { + selectDefaultExporterIfNoneSelected(); + } + +private: + struct PlatformType + { + PlatformType (const Image& platformIcon, const String& platformName) + : icon (platformIcon), name (platformName) + { + } + + Image icon; + String name; + }; + + ListBox listBox; + OwnedArray platforms; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (PlatformTargetsComp) +}; + + + +//============================================================================== +/** + The Component for project creation. + Features a file browser to select project destination and + a list box of platform targets to generate. +*/ +class WizardComp : public Component, + private ButtonListener, + private ComboBoxListener, + private TextEditorListener +{ +public: + WizardComp() + : platformTargets(), + projectName (TRANS("Project name")), + nameLabel (String::empty, TRANS("Project Name") + ":"), + typeLabel (String::empty, TRANS("Project Type") + ":"), + fileBrowser (FileBrowserComponent::saveMode | FileBrowserComponent::canSelectDirectories, + NewProjectWizardClasses::getLastWizardFolder(), nullptr, nullptr), + fileOutline (String::empty, TRANS("Project Folder") + ":"), + targetsOutline (String::empty, TRANS("Target Platforms") + ":"), + createButton (TRANS("Create") + "..."), + cancelButton (TRANS("Cancel")), + modulesPathBox (findDefaultModulesFolder()) + { + setOpaque (false); + + addChildAndSetID (&projectName, "projectName"); + projectName.setText ("NewProject"); + projectName.setBounds ("120, 34, parent.width / 2 - 10, top + 22"); + nameLabel.attachToComponent (&projectName, true); + projectName.addListener (this); + + addChildAndSetID (&projectType, "projectType"); + projectType.addItemList (getWizardNames(), 1); + projectType.setSelectedId (1, dontSendNotification); + projectType.setBounds ("120, projectName.bottom + 4, projectName.right, top + 22"); + typeLabel.attachToComponent (&projectType, true); + projectType.addListener (this); + + addChildAndSetID (&fileOutline, "fileOutline"); + fileOutline.setColour (GroupComponent::outlineColourId, Colours::black.withAlpha (0.2f)); + fileOutline.setTextLabelPosition (Justification::centred); + fileOutline.setBounds ("30, projectType.bottom + 20, projectType.right, parent.height - 30"); + + addChildAndSetID (&targetsOutline, "targetsOutline"); + targetsOutline.setColour (GroupComponent::outlineColourId, Colours::black.withAlpha (0.2f)); + targetsOutline.setTextLabelPosition (Justification::centred); + targetsOutline.setBounds ("fileOutline.right + 20, projectType.bottom + 20, parent.width - 30, parent.height - 70"); + + addChildAndSetID (&platformTargets, "platformTargets"); + platformTargets.setBounds ("targetsOutline.left + 15, projectType.bottom + 45, parent.width - 40, parent.height - 90"); + + addChildAndSetID (&fileBrowser, "fileBrowser"); + fileBrowser.setBounds ("fileOutline.left + 10, fileOutline.top + 20, fileOutline.right - 10, fileOutline.bottom - 32"); + fileBrowser.setFilenameBoxLabel ("Folder:"); + + addChildAndSetID (&createButton, "createButton"); + createButton.setBounds ("right - 130, bottom - 34, parent.width - 30, parent.height - 30"); + createButton.addListener (this); + + addChildAndSetID (&cancelButton, "cancelButton"); + cancelButton.addShortcut (KeyPress (KeyPress::escapeKey)); + cancelButton.setBounds ("right - 130, createButton.top, createButton.left - 10, createButton.bottom"); + cancelButton.addListener (this); + + addChildAndSetID (&modulesPathBox, "modulesPathBox"); + modulesPathBox.setBounds ("targetsOutline.left, targetsOutline.top - 45, targetsOutline.right, targetsOutline.top - 20"); + + + updateCustomItems(); + updateCreateButton(); + } + + void paint (Graphics& g) override + { + Rectangle rect = getLocalBounds().reduced (10, 10); + + g.setColour (Colours::white.withAlpha (0.3f)); + g.fillRect (rect); + g.fillRect (rect.reduced (10, 10)); + } + + void buttonClicked (Button* b) override + { + if (b == &createButton) + { + createProject(); + } + else if (b == &cancelButton) + { + returnToTemplatesPage(); + } + } + + void returnToTemplatesPage() + { + if (SlidingPanelComponent* parent = findParentComponentOfClass()) + { + if (parent->getNumTabs() > 0) + parent->goToTab (parent->getCurrentTabIndex() - 1); + } + else + { + jassertfalse; + } + } + + void createProject() + { + MainWindow* mw = Component::findParentComponentOfClass(); + jassert (mw != nullptr); + + ScopedPointer wizard (createWizard()); + + if (wizard != nullptr) + { + Result result (wizard->processResultsFromSetupItems (*this)); + + if (result.failed()) + { + AlertWindow::showMessageBox (AlertWindow::WarningIcon, + TRANS("Create Project"), + result.getErrorMessage()); + return; + } + + wizard->modulesFolder = modulesPathBox.modulesFolder; + + if (! isJuceModulesFolder (wizard->modulesFolder)) + if (! wizard->selectJuceFolder()) + return; + + ScopedPointer project (wizard->runWizard (*this, projectName.getText(), + fileBrowser.getSelectedFile (0))); + + if (project != nullptr) + mw->setProject (project.release()); + } + } + + void updateCustomItems() + { + customItems.clear(); + + ScopedPointer wizard (createWizard()); + + if (wizard != nullptr) + wizard->addSetupItems (*this, customItems); + } + + void comboBoxChanged (ComboBox*) override + { + updateCustomItems(); + } + + void textEditorTextChanged (TextEditor&) override + { + updateCreateButton(); + fileBrowser.setFileName (File::createLegalFileName (projectName.getText())); + } + + ComboBox projectType; + PlatformTargetsComp platformTargets; + +private: + TextEditor projectName; + Label nameLabel, typeLabel; + FileBrowserComponent fileBrowser; + GroupComponent fileOutline; + GroupComponent targetsOutline; + TextButton createButton, cancelButton; + OwnedArray customItems; + ModulesFolderPathBox modulesPathBox; + + NewProjectWizardClasses::NewProjectWizard* createWizard() + { + return createWizardType (projectType.getSelectedItemIndex()); + } + + void updateCreateButton() + { + createButton.setEnabled (projectName.getText().trim().isNotEmpty()); + } +}; + + +#endif // NEWPROJECTWIZARDCOMPONENTS_H_INCLUDED diff --git a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Animated.h b/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Animated.h new file mode 100644 index 0000000000..d9bd450089 --- /dev/null +++ b/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Animated.h @@ -0,0 +1,78 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + + +struct AnimatedAppWizard : public NewProjectWizard +{ + AnimatedAppWizard() {} + + String getName() const override { return TRANS("Animated Application"); } + String getDescription() const override { return TRANS("Creates an application which draws an animated graphical display."); } + const char* getIcon() const override { return BinaryData::wizard_AnimatedApp_svg; } + + bool initialiseProject (Project& project) override + { + createSourceFolder(); + + File mainCppFile = getSourceFilesFolder().getChildFile ("Main.cpp"); + File contentCompCpp = getSourceFilesFolder().getChildFile ("MainComponent.cpp"); + File contentCompH = contentCompCpp.withFileExtension (".h"); + String contentCompName = "MainContentComponent"; + + project.getProjectTypeValue() = ProjectType::getGUIAppTypeName(); + + Project::Item sourceGroup (createSourceGroup (project)); + + setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); + + String appHeaders (CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), mainCppFile)); + + // create main window + String windowCpp = project.getFileTemplate ("jucer_AnimatedComponentTemplate_cpp") + .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompCpp), false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (contentCompCpp, windowCpp)) + failedFiles.add (contentCompCpp.getFullPathName()); + + sourceGroup.addFile (contentCompCpp, -1, true); + + + // create main cpp + String mainCpp = project.getFileTemplate ("jucer_MainTemplate_SimpleWindow_cpp") + .replace ("APPHEADERS", appHeaders, false) + .replace ("APPCLASSNAME", CodeHelpers::makeValidIdentifier (appTitle + "Application", false, true, false), false) + .replace ("APPNAME", CppTokeniserFunctions::addEscapeChars (appTitle), false) + .replace ("CONTENTCOMPCLASS", contentCompName, false) + .replace ("ALLOWMORETHANONEINSTANCE", "true", false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (mainCppFile, mainCpp)) + failedFiles.add (mainCppFile.getFullPathName()); + + sourceGroup.addFile (mainCppFile, -1, true); + + return true; + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AnimatedAppWizard) +}; diff --git a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_AudioApp.h b/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_AudioApp.h new file mode 100644 index 0000000000..50e476ba33 --- /dev/null +++ b/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_AudioApp.h @@ -0,0 +1,85 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + + +struct AudioAppWizard : public NewProjectWizard +{ + AudioAppWizard() {} + + String getName() const override { return TRANS("Audio Application"); } + String getDescription() const override { return TRANS("Creates a JUCE application with a single window component and audio and MIDI in/out functions."); } + const char* getIcon() const override { return BinaryData::wizard_AudioApp_svg; } + + bool initialiseProject (Project& project) override + { + createSourceFolder(); + + File mainCppFile = getSourceFilesFolder().getChildFile ("Main.cpp"); + File contentCompCpp = getSourceFilesFolder().getChildFile ("MainComponent.cpp"); + File contentCompH = contentCompCpp.withFileExtension (".h"); + String contentCompName = "MainContentComponent"; + + project.getProjectTypeValue() = ProjectType::getGUIAppTypeName(); + + Project::Item sourceGroup (createSourceGroup (project)); + + setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); + + String appHeaders (CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), mainCppFile)); + + // create main window + String windowCpp = project.getFileTemplate ("jucer_AudioComponentTemplate_cpp") + .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompCpp), false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (contentCompCpp, windowCpp)) + failedFiles.add (contentCompCpp.getFullPathName()); + + sourceGroup.addFile (contentCompCpp, -1, true); + + + // create main cpp + String mainCpp = project.getFileTemplate ("jucer_MainTemplate_SimpleWindow_cpp") + .replace ("APPHEADERS", appHeaders, false) + .replace ("APPCLASSNAME", CodeHelpers::makeValidIdentifier (appTitle + "Application", false, true, false), false) + .replace ("APPNAME", CppTokeniserFunctions::addEscapeChars (appTitle), false) + .replace ("CONTENTCOMPCLASS", contentCompName, false) + .replace ("ALLOWMORETHANONEINSTANCE", "true", false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (mainCppFile, mainCpp)) + failedFiles.add (mainCppFile.getFullPathName()); + + sourceGroup.addFile (mainCppFile, -1, true); + + return true; + } + + StringArray getDefaultModules() override + { + StringArray s (NewProjectWizard::getDefaultModules()); + s.addIfNotAlreadyThere ("juce_audio_utils"); + return s; + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioAppWizard) +}; diff --git a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_AudioPlugin.h b/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_AudioPlugin.h new file mode 100644 index 0000000000..cca37ff034 --- /dev/null +++ b/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_AudioPlugin.h @@ -0,0 +1,107 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + + +struct AudioPluginAppWizard : public NewProjectWizard +{ + AudioPluginAppWizard() {} + + String getName() const override { return TRANS("Audio Plug-In"); } + String getDescription() const override { return TRANS("Creates a VST/AU/RTAS/AAX audio plug-in. This template features a single window GUI and Audio/MIDI IO functions."); } + const char* getIcon() const override { return BinaryData::wizard_AudioPlugin_svg; } + + StringArray getDefaultModules() override + { + StringArray s (NewProjectWizard::getDefaultModules()); + s.add ("juce_audio_plugin_client"); + return s; + } + + bool initialiseProject (Project& project) override + { + createSourceFolder(); + + String filterClassName = CodeHelpers::makeValidIdentifier (appTitle, true, true, false) + "AudioProcessor"; + filterClassName = filterClassName.substring (0, 1).toUpperCase() + filterClassName.substring (1); + String editorClassName = filterClassName + "Editor"; + + File filterCppFile = getSourceFilesFolder().getChildFile ("PluginProcessor.cpp"); + File filterHFile = filterCppFile.withFileExtension (".h"); + File editorCppFile = getSourceFilesFolder().getChildFile ("PluginEditor.cpp"); + File editorHFile = editorCppFile.withFileExtension (".h"); + + project.getProjectTypeValue() = ProjectType::getAudioPluginTypeName(); + + Project::Item sourceGroup (createSourceGroup (project)); + project.getConfigFlag ("JUCE_QUICKTIME") = Project::configFlagDisabled; // disabled because it interferes with RTAS build on PC + + setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); + + String appHeaders (CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), filterCppFile)); + + String filterCpp = project.getFileTemplate ("jucer_AudioPluginFilterTemplate_cpp") + .replace ("FILTERHEADERS", CodeHelpers::createIncludeStatement (filterHFile, filterCppFile) + + newLine + CodeHelpers::createIncludeStatement (editorHFile, filterCppFile), false) + .replace ("FILTERCLASSNAME", filterClassName, false) + .replace ("EDITORCLASSNAME", editorClassName, false); + + String filterH = project.getFileTemplate ("jucer_AudioPluginFilterTemplate_h") + .replace ("APPHEADERS", appHeaders, false) + .replace ("FILTERCLASSNAME", filterClassName, false) + .replace ("HEADERGUARD", CodeHelpers::makeHeaderGuardName (filterHFile), false); + + String editorCpp = project.getFileTemplate ("jucer_AudioPluginEditorTemplate_cpp") + .replace ("EDITORCPPHEADERS", CodeHelpers::createIncludeStatement (filterHFile, filterCppFile) + + newLine + CodeHelpers::createIncludeStatement (editorHFile, filterCppFile), false) + .replace ("FILTERCLASSNAME", filterClassName, false) + .replace ("EDITORCLASSNAME", editorClassName, false); + + String editorH = project.getFileTemplate ("jucer_AudioPluginEditorTemplate_h") + .replace ("EDITORHEADERS", appHeaders + newLine + CodeHelpers::createIncludeStatement (filterHFile, filterCppFile), false) + .replace ("FILTERCLASSNAME", filterClassName, false) + .replace ("EDITORCLASSNAME", editorClassName, false) + .replace ("HEADERGUARD", CodeHelpers::makeHeaderGuardName (editorHFile), false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (filterCppFile, filterCpp)) + failedFiles.add (filterCppFile.getFullPathName()); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (filterHFile, filterH)) + failedFiles.add (filterHFile.getFullPathName()); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (editorCppFile, editorCpp)) + failedFiles.add (editorCppFile.getFullPathName()); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (editorHFile, editorH)) + failedFiles.add (editorHFile.getFullPathName()); + + sourceGroup.addFile (filterCppFile, -1, true); + sourceGroup.addFile (filterHFile, -1, false); + sourceGroup.addFile (editorCppFile, -1, true); + sourceGroup.addFile (editorHFile, -1, false); + + return true; + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioPluginAppWizard) +}; diff --git a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Blank.h b/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Blank.h new file mode 100644 index 0000000000..f808661a85 --- /dev/null +++ b/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Blank.h @@ -0,0 +1,45 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + + +struct BlankAppWizard : public NewProjectWizard +{ + BlankAppWizard() {} + + String getName() const override { return TRANS("Empty Application"); } + String getDescription() const override { return TRANS("Creates a blank JUCE GUI application."); } + const char* getIcon() const override { return BinaryData::wizard_GUI_svg; } + + bool initialiseProject (Project& project) + { + createSourceFolder(); + project.getProjectTypeValue() = ProjectType::getGUIAppTypeName(); + Project::Item sourceGroup (createSourceGroup (project)); + setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); + + return true; + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (BlankAppWizard) +}; diff --git a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Console.h b/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Console.h new file mode 100644 index 0000000000..57751a8258 --- /dev/null +++ b/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_Console.h @@ -0,0 +1,88 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + + +struct ConsoleAppWizard : public NewProjectWizard +{ + ConsoleAppWizard() {} + + String getName() const override { return TRANS("Console Application"); } + String getDescription() const override { return TRANS("Creates a command-line application without GUI support."); } + const char* getIcon() const override { return BinaryData::wizard_ConsoleApp_svg; } + + void addSetupItems (Component& setupComp, OwnedArray& itemsCreated) + { + const String fileOptions[] = { TRANS("Create a Main.cpp file"), + TRANS("Don't create any files") }; + + createFileCreationOptionComboBox (setupComp, itemsCreated, + StringArray (fileOptions, numElementsInArray (fileOptions))); + } + + Result processResultsFromSetupItems (WizardComp& setupComp) + { + createMainCpp = false; + + switch (getFileCreationComboResult (setupComp)) + { + case 0: createMainCpp = true; break; + case 1: break; + default: jassertfalse; break; + } + + return Result::ok(); + } + + bool initialiseProject (Project& project) + { + createSourceFolder(); + + project.getProjectTypeValue() = ProjectType::getConsoleAppTypeName(); + + Project::Item sourceGroup (createSourceGroup (project)); + + setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); + + if (createMainCpp) + { + File mainCppFile = getSourceFilesFolder().getChildFile ("Main.cpp"); + String appHeaders (CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), mainCppFile)); + + String mainCpp = project.getFileTemplate ("jucer_MainConsoleAppTemplate_cpp") + .replace ("APPHEADERS", appHeaders, false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (mainCppFile, mainCpp)) + failedFiles.add (mainCppFile.getFullPathName()); + + sourceGroup.addFile (mainCppFile, -1, true); + } + + return true; + } + +private: + bool createMainCpp; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (ConsoleAppWizard) +}; diff --git a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_DLL.h b/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_DLL.h new file mode 100644 index 0000000000..50395c4d61 --- /dev/null +++ b/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_DLL.h @@ -0,0 +1,45 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + + +struct DynamicLibraryWizard : public NewProjectWizard +{ + DynamicLibraryWizard() {} + + String getName() const override { return TRANS("Dynamic Library"); } + String getDescription() const override { return TRANS("Creates a Dynamic Library template with support for all JUCE features."); } + const char* getIcon() const override { return BinaryData::wizard_DLL_svg; } + + bool initialiseProject (Project& project) override + { + createSourceFolder(); + project.getProjectTypeValue() = ProjectType::getDynamicLibTypeName(); + createSourceGroup (project); + setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); + + return true; + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DynamicLibraryWizard) +}; diff --git a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_GUIApp.h b/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_GUIApp.h new file mode 100644 index 0000000000..5db645fadb --- /dev/null +++ b/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_GUIApp.h @@ -0,0 +1,124 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + + +struct GUIAppWizard : public NewProjectWizard +{ + GUIAppWizard() {} + + String getName() const override { return TRANS("GUI Application"); } + String getDescription() const override { return TRANS("Creates a blank JUCE application with a single window component."); } + const char* getIcon() const override { return BinaryData::wizard_GUI_svg; } + + void addSetupItems (Component& setupComp, OwnedArray& itemsCreated) + { + const String fileOptions[] = { TRANS("Create a Main.cpp file"), + TRANS("Create a Main.cpp file and a basic window"), + TRANS("Don't create any files") }; + + createFileCreationOptionComboBox (setupComp, itemsCreated, + StringArray (fileOptions, numElementsInArray (fileOptions))) + .setSelectedId (2); + } + + Result processResultsFromSetupItems (WizardComp& setupComp) + { + createMainCpp = createWindow = false; + + switch (getFileCreationComboResult (setupComp)) + { + case 0: createMainCpp = true; break; + case 1: createMainCpp = createWindow = true; break; + case 2: break; + default: jassertfalse; break; + } + + return Result::ok(); + } + + bool initialiseProject (Project& project) + { + createSourceFolder(); + + File mainCppFile = getSourceFilesFolder().getChildFile ("Main.cpp"); + File contentCompCpp = getSourceFilesFolder().getChildFile ("MainComponent.cpp"); + File contentCompH = contentCompCpp.withFileExtension (".h"); + String contentCompName = "MainContentComponent"; + + project.getProjectTypeValue() = ProjectType::getGUIAppTypeName(); + + Project::Item sourceGroup (createSourceGroup (project)); + + setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); + + String appHeaders (CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), mainCppFile)); + + if (createWindow) + { + appHeaders << newLine << CodeHelpers::createIncludeStatement (contentCompH, mainCppFile); + + String windowH = project.getFileTemplate ("jucer_ContentCompTemplate_h") + .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompH), false) + .replace ("CONTENTCOMPCLASS", contentCompName, false) + .replace ("HEADERGUARD", CodeHelpers::makeHeaderGuardName (contentCompH), false); + + String windowCpp = project.getFileTemplate ("jucer_ContentCompTemplate_cpp") + .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompCpp), false) + .replace ("INCLUDE_CORRESPONDING_HEADER", CodeHelpers::createIncludeStatement (contentCompH, contentCompCpp), false) + .replace ("CONTENTCOMPCLASS", contentCompName, false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (contentCompH, windowH)) + failedFiles.add (contentCompH.getFullPathName()); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (contentCompCpp, windowCpp)) + failedFiles.add (contentCompCpp.getFullPathName()); + + sourceGroup.addFile (contentCompCpp, -1, true); + sourceGroup.addFile (contentCompH, -1, false); + } + + if (createMainCpp) + { + String mainCpp = project.getFileTemplate (createWindow ? "jucer_MainTemplate_Window_cpp" + : "jucer_MainTemplate_NoWindow_cpp") + .replace ("APPHEADERS", appHeaders, false) + .replace ("APPCLASSNAME", CodeHelpers::makeValidIdentifier (appTitle + "Application", false, true, false), false) + .replace ("APPNAME", CppTokeniserFunctions::addEscapeChars (appTitle), false) + .replace ("CONTENTCOMPCLASS", contentCompName, false) + .replace ("ALLOWMORETHANONEINSTANCE", "true", false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (mainCppFile, mainCpp)) + failedFiles.add (mainCppFile.getFullPathName()); + + sourceGroup.addFile (mainCppFile, -1, true); + } + + return true; + } + +private: + bool createMainCpp, createWindow; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (GUIAppWizard) +}; diff --git a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_StaticLibrary.h b/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_StaticLibrary.h new file mode 100644 index 0000000000..2aa9dcee8f --- /dev/null +++ b/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_StaticLibrary.h @@ -0,0 +1,45 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + + +struct StaticLibraryWizard : public NewProjectWizard +{ + StaticLibraryWizard() {} + + String getName() const override { return TRANS("Static Library"); } + String getDescription() const override { return TRANS("Creates a static library."); } + const char* getIcon() const override { return BinaryData::wizard_StaticLibrary_svg; } + + bool initialiseProject (Project& project) override + { + createSourceFolder(); + project.getProjectTypeValue() = ProjectType::getStaticLibTypeName(); + createSourceGroup (project); + setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); + + return true; + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (StaticLibraryWizard) +}; diff --git a/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_openGL.h b/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_openGL.h new file mode 100644 index 0000000000..2634be2f00 --- /dev/null +++ b/extras/Introjucer/Source/Wizards/jucer_ProjectWizard_openGL.h @@ -0,0 +1,78 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + + +struct OpenGLAppWizard : public NewProjectWizard +{ + OpenGLAppWizard() {} + + String getName() const override { return TRANS("OpenGL Application"); } + String getDescription() const override { return TRANS("Creates a blank JUCE application with a single window component. This component supports openGL drawing features including 3D model import and GLSL shaders."); } + const char* getIcon() const override { return BinaryData::wizard_OpenGL_svg; } + + bool initialiseProject (Project& project) override + { + createSourceFolder(); + + File mainCppFile = getSourceFilesFolder().getChildFile ("Main.cpp"); + File contentCompCpp = getSourceFilesFolder().getChildFile ("MainComponent.cpp"); + File contentCompH = contentCompCpp.withFileExtension (".h"); + String contentCompName = "MainContentComponent"; + + project.getProjectTypeValue() = ProjectType::getGUIAppTypeName(); + + Project::Item sourceGroup (createSourceGroup (project)); + + setExecutableNameForAllTargets (project, File::createLegalFileName (appTitle)); + + String appHeaders (CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), mainCppFile)); + + // create main window + String windowCpp = project.getFileTemplate ("jucer_OpenGLComponentTemplate_cpp") + .replace ("INCLUDE_JUCE", CodeHelpers::createIncludeStatement (project.getAppIncludeFile(), contentCompCpp), false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (contentCompCpp, windowCpp)) + failedFiles.add (contentCompCpp.getFullPathName()); + + sourceGroup.addFile (contentCompCpp, -1, true); + + + // create main cpp + String mainCpp = project.getFileTemplate ("jucer_MainTemplate_SimpleWindow_cpp") + .replace ("APPHEADERS", appHeaders, false) + .replace ("APPCLASSNAME", CodeHelpers::makeValidIdentifier (appTitle + "Application", false, true, false), false) + .replace ("APPNAME", CppTokeniserFunctions::addEscapeChars (appTitle), false) + .replace ("CONTENTCOMPCLASS", contentCompName, false) + .replace ("ALLOWMORETHANONEINSTANCE", "true", false); + + if (! FileHelpers::overwriteFileWithNewDataIfDifferent (mainCppFile, mainCpp)) + failedFiles.add (mainCppFile.getFullPathName()); + + sourceGroup.addFile (mainCppFile, -1, true); + + return true; + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (OpenGLAppWizard) +}; diff --git a/extras/Introjucer/Source/Wizards/jucer_StartPageComponent.h b/extras/Introjucer/Source/Wizards/jucer_StartPageComponent.h new file mode 100644 index 0000000000..42a3d79666 --- /dev/null +++ b/extras/Introjucer/Source/Wizards/jucer_StartPageComponent.h @@ -0,0 +1,55 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + + +class StartPageComponent : public Component +{ +public: + StartPageComponent() + { + setSize (900, 650); + + WizardComp* projectWizard = new WizardComp(); + + panel.addTab ("Create New Project", new TemplateTileBrowser (projectWizard), true); + panel.addTab ("New Project Options", projectWizard, true); + + addAndMakeVisible (panel); + } + + void paint (Graphics& g) override + { + IntrojucerLookAndFeel::fillWithBackgroundTexture (*this, g); + } + + void resized() override + { + panel.setBounds (getLocalBounds()); + } + +private: + SlidingPanelComponent panel; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (StartPageComponent) +}; diff --git a/extras/Introjucer/Source/Wizards/jucer_TemplateThumbnailsComponent.h b/extras/Introjucer/Source/Wizards/jucer_TemplateThumbnailsComponent.h new file mode 100644 index 0000000000..d4de897678 --- /dev/null +++ b/extras/Introjucer/Source/Wizards/jucer_TemplateThumbnailsComponent.h @@ -0,0 +1,284 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + +#ifndef JUCER_TEMPLATETHUMBNAILSCOMPONENT_H_INCLUDED +#define JUCER_TEMPLATETHUMBNAILSCOMPONENT_H_INCLUDED + +//===================================================================================================== +/** + Template option tile button. + The drawable button object class for the tile icons and buttons in the TemplateTileBrowser +*/ +class TemplateOptionButton : public DrawableButton +{ +public: + TemplateOptionButton (const String& buttonName, ButtonStyle buttonStyle, const char* thumbSvg) + : DrawableButton (buttonName, buttonStyle) + { + // svg for thumbnail icon + ScopedPointer svg (XmlDocument::parse (thumbSvg)); + jassert (svg != nullptr); + + thumb = Drawable::createFromSVG (*svg); + + // svg for thumbnail background highlight + ScopedPointer backSvg (XmlDocument::parse (BinaryData::wizard_Highlight_svg)); + jassert (backSvg != nullptr); + + hoverBackground = Drawable::createFromSVG (*backSvg); + + name = buttonName; + + description = ""; + } + + void paintButton (Graphics& g, bool isMouseOverButton, bool /*isButtonDown*/) override + { + const Rectangle bounds (getLocalBounds().toFloat()); + const Colour buttonColour (0xfff29300); + + if (isMouseOverButton) + { + if (getStyle() == ImageFitted) + { + hoverBackground->drawWithin (g, bounds, RectanglePlacement::centred, 1.0); + thumb->drawWithin (g, bounds, RectanglePlacement::centred, 1.0); + } + else + { + g.setColour (buttonColour.withAlpha (0.3f)); + g.fillRoundedRectangle (bounds.reduced (2.0f, 2.0f), 10.0f); + g.setColour (buttonColour); + g.drawRoundedRectangle (bounds.reduced (2.0f, 2.0f), 10.0f, 2.0f); + } + } + else + { + if (getStyle() == ImageFitted) + { + thumb->drawWithin (g, bounds, RectanglePlacement::centred, 1.0); + } + else + { + g.setColour (buttonColour); + g.drawRoundedRectangle (bounds.reduced (2.0f, 2.0f), 10.0f, 2.0f); + } + } + + Rectangle textTarget; + + // center the text for the text buttons or position the text in the image buttons + if (getStyle() != ImageFitted) + { + textTarget = getLocalBounds().toFloat(); + } + else + { + textTarget = RectanglePlacement (RectanglePlacement::centred).appliedTo (thumb->getDrawableBounds(), bounds); + textTarget = textTarget.removeFromBottom (textTarget.getHeight() * 0.3f); + } + + g.setColour (Colours::white); + g.drawText (name, textTarget, Justification::centred, true); + } + + void resized() override + { + thumb->setBoundsToFit (0, 0, getWidth(), getHeight(), Justification::centred, false); + } + + void setDescription (String descript) noexcept + { + description = descript; + } + + String getDescription() const noexcept + { + return description; + } + +private: + ScopedPointer thumb, hoverBackground; + String name, description; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TemplateOptionButton) +}; + + + +//===================================================================================================== +/** + Project Template Component for front page. + Features multiple icon buttons to select the type of project template +*/ +class TemplateTileBrowser : public Component, + private Button::Listener +{ +public: + TemplateTileBrowser (WizardComp* projectWizard) + { + const int numWizardButtons = getNumWizards() - 1; // ( - 1 because the last one is blank) + + for (int i = 0; i < numWizardButtons; ++i) + { + ScopedPointer wizard (createWizardType (i)); + + TemplateOptionButton* b = new TemplateOptionButton (wizard->getName(), + TemplateOptionButton::ImageFitted, + wizard->getIcon()); + optionButtons.add (b); + addAndMakeVisible (b); + b->setDescription (wizard->getDescription()); + b->addListener (this); + } + + // Handle Open Project button functionality + ApplicationCommandManager& commandManager = IntrojucerApp::getCommandManager(); + + addAndMakeVisible (blankProjectButton = new TemplateOptionButton ("Create Blank Project", TemplateOptionButton::ImageOnButtonBackground, BinaryData::wizard_Openfile_svg)); + addAndMakeVisible (exampleProjectButton = new TemplateOptionButton ("Open Example Project", TemplateOptionButton::ImageOnButtonBackground, BinaryData::wizard_Openfile_svg)); + addAndMakeVisible (openProjectButton = new TemplateOptionButton ("Open Existing Project", TemplateOptionButton::ImageOnButtonBackground, BinaryData::wizard_Openfile_svg)); + + blankProjectButton->addListener (this); + exampleProjectButton->addListener (this); + openProjectButton->setCommandToTrigger (&commandManager, CommandIDs::open, true); + + newProjectWizard = projectWizard; + } + + void paint (Graphics& g) override + { + g.setColour (Colours::black.withAlpha (0.2f)); + g.fillRect (getLocalBounds().removeFromTop (60)); + + g.setColour (Colours::white); + g.setFont (20.0f); + g.drawText ("Create New Project", 0, 0, getWidth(), 60, Justification::centred, true); + + // draw the descriptions of each template if hovered; + // (repaint is called by the button listener on change state) + Rectangle descriptionBox (getLocalBounds().reduced (30).removeFromBottom (50)); + + g.setColour (Colours::white.withAlpha (0.4f)); + g.setFont (15.0f); + + for (int i = 0; i < optionButtons.size(); ++i) + if (optionButtons.getUnchecked(i)->isOver()) + g.drawFittedText (optionButtons.getUnchecked(i)->getDescription(), descriptionBox, Justification::centred, 5, 1.0f); + } + + void resized() override + { + Rectangle allOpts = getLocalBounds().reduced (40, 60); + allOpts.removeFromBottom (allOpts.getHeight() / 4); + + const int numHorizIcons = 4; + const int optStep = allOpts.getWidth() / numHorizIcons; + + for (int i = 0; i < optionButtons.size(); ++i) + { + const int yShift = i < numHorizIcons ? 0 : 1; + + optionButtons.getUnchecked(i)->setBounds (Rectangle (allOpts.getX() + (i % numHorizIcons) * optStep, + allOpts.getY() + yShift * allOpts.getHeight() / 2, + optStep, allOpts.getHeight() / 2) + .reduced (10, 10)); + } + + Rectangle openButtonBounds = getLocalBounds(); + openButtonBounds.removeFromBottom (proportionOfHeight (0.12f)); + openButtonBounds = openButtonBounds.removeFromBottom (120); + openButtonBounds.reduce (50, 40); + + blankProjectButton->setBounds (openButtonBounds.removeFromLeft (optStep - 20)); + exampleProjectButton->setBounds (openButtonBounds.removeFromRight (optStep - 20)); + openProjectButton->setBounds (openButtonBounds.reduced (18, 0)); + } + + void showWizard (const String& name) + { + newProjectWizard->projectType.setText (name); + + if (SlidingPanelComponent* parent = findParentComponentOfClass()) + parent->goToTab (1); + else + jassertfalse; + } + + void createBlankProject() + { + showWizard (BlankAppWizard().getName()); + } + + void openExampleProject() + { + FileChooser fc ("Open File", findExamplesFolder()); + + if (fc.browseForFileToOpen()) + IntrojucerApp::getApp().openFile (fc.getResult()); + } + + static File findExamplesFolder() + { + File appFolder (File::getSpecialLocation (File::currentApplicationFile)); + + while (appFolder.exists() + && appFolder.getParentDirectory() != appFolder) + { + File examples (appFolder.getSiblingFile ("examples")); + + if (examples.exists()) + return examples; + + appFolder = appFolder.getParentDirectory(); + } + + return File::nonexistent; + } + +private: + OwnedArray optionButtons; + NewProjectWizardClasses::WizardComp* newProjectWizard; + ScopedPointer blankProjectButton, openProjectButton, exampleProjectButton; + + void buttonClicked (Button* b) override + { + if (b == blankProjectButton) + createBlankProject(); + else if (b == exampleProjectButton) + openExampleProject(); + else if (dynamic_cast (b) != nullptr) + showWizard (b->getButtonText()); + } + + void buttonStateChanged (Button*) override + { + repaint(); + } + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (TemplateTileBrowser) +}; + + +#endif // JUCER_TEMPLATETHUMBNAILSCOMPONENT_H_INCLUDED diff --git a/extras/windows dll/Builds/VisualStudio2008/juce_dll.vcproj b/extras/windows dll/Builds/VisualStudio2008/juce_dll.vcproj index 69b6091c1d..931f654fad 100644 --- a/extras/windows dll/Builds/VisualStudio2008/juce_dll.vcproj +++ b/extras/windows dll/Builds/VisualStudio2008/juce_dll.vcproj @@ -984,6 +984,17 @@ + + + + + + + + + @@ -4184,6 +4195,17 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/modules/juce_audio_basics/juce_module_info b/modules/juce_audio_basics/juce_module_info index c9cdd3d979..682203bf9a 100644 --- a/modules/juce_audio_basics/juce_module_info +++ b/modules/juce_audio_basics/juce_module_info @@ -1,7 +1,7 @@ { "id": "juce_audio_basics", "name": "JUCE audio and midi data classes", - "version": "3.0.8", + "version": "3.1.0", "description": "Classes for audio buffer manipulation, midi message handling, synthesis, etc", "website": "http://www.juce.com/juce", "license": "GPL/Commercial", diff --git a/modules/juce_audio_devices/juce_module_info b/modules/juce_audio_devices/juce_module_info index 6ef2131425..9f5602950a 100644 --- a/modules/juce_audio_devices/juce_module_info +++ b/modules/juce_audio_devices/juce_module_info @@ -1,7 +1,7 @@ { "id": "juce_audio_devices", "name": "JUCE audio and midi I/O device classes", - "version": "3.0.8", + "version": "3.1.0", "description": "Classes to play and record from audio and midi i/o devices.", "website": "http://www.juce.com/juce", "license": "GPL/Commercial", diff --git a/modules/juce_audio_formats/juce_module_info b/modules/juce_audio_formats/juce_module_info index e355719763..8f244d2e44 100644 --- a/modules/juce_audio_formats/juce_module_info +++ b/modules/juce_audio_formats/juce_module_info @@ -1,7 +1,7 @@ { "id": "juce_audio_formats", "name": "JUCE audio file format codecs", - "version": "3.0.8", + "version": "3.1.0", "description": "Classes for reading and writing various audio file formats.", "website": "http://www.juce.com/juce", "license": "GPL/Commercial", diff --git a/modules/juce_audio_plugin_client/juce_module_info b/modules/juce_audio_plugin_client/juce_module_info index 775e9eaba5..c880477cb5 100644 --- a/modules/juce_audio_plugin_client/juce_module_info +++ b/modules/juce_audio_plugin_client/juce_module_info @@ -1,7 +1,7 @@ { "id": "juce_audio_plugin_client", "name": "JUCE audio plugin wrapper classes", - "version": "3.0.8", + "version": "3.1.0", "description": "Classes for building VST, VST3, RTAS, AAX and AU plugins.", "website": "http://www.juce.com/juce", "license": "GPL/Commercial", diff --git a/modules/juce_audio_processors/juce_module_info b/modules/juce_audio_processors/juce_module_info index 40a0d87714..a46c7ffbc6 100644 --- a/modules/juce_audio_processors/juce_module_info +++ b/modules/juce_audio_processors/juce_module_info @@ -1,7 +1,7 @@ { "id": "juce_audio_processors", "name": "JUCE audio plugin hosting classes", - "version": "3.0.8", + "version": "3.1.0", "description": "Classes for loading and playing VST, AU, or internally-generated audio processors.", "website": "http://www.juce.com/juce", "license": "GPL/Commercial", diff --git a/modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp b/modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp index c94411d7b1..196e9ac9c2 100644 --- a/modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp +++ b/modules/juce_audio_processors/processors/juce_GenericAudioProcessorEditor.cpp @@ -67,7 +67,7 @@ public: if (paramHasChanged) { refresh(); - startTimer (1000 / 50); + startTimerHz (50); } else { diff --git a/modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp b/modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp new file mode 100644 index 0000000000..d70a11874f --- /dev/null +++ b/modules/juce_audio_utils/gui/juce_AudioAppComponent.cpp @@ -0,0 +1,50 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + +AudioAppComponent::AudioAppComponent() +{ +} + +AudioAppComponent::~AudioAppComponent() +{ + // If you hit this then your derived class must call shutdown audio in + // destructor! + jassert (audioSourcePlayer.getCurrentSource() == nullptr); +} + +void AudioAppComponent::setAudioChannels (int numInputChannels, int numOutputChannels) +{ + String audioError = deviceManager.initialise (numInputChannels, numOutputChannels, nullptr, true); + jassert (audioError.isEmpty()); + + deviceManager.addAudioCallback (&audioSourcePlayer); + audioSourcePlayer.setSource (this); +} + +void AudioAppComponent::shutdownAudio() +{ + audioSourcePlayer.setSource (nullptr); + deviceManager.removeAudioCallback (&audioSourcePlayer); + deviceManager.closeAudioDevice(); +} diff --git a/modules/juce_audio_utils/gui/juce_AudioAppComponent.h b/modules/juce_audio_utils/gui/juce_AudioAppComponent.h new file mode 100644 index 0000000000..94d800c6c9 --- /dev/null +++ b/modules/juce_audio_utils/gui/juce_AudioAppComponent.h @@ -0,0 +1,117 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + +#ifndef JUCE_AUDIOAPPCOMPONENT_H_INCLUDED +#define JUCE_AUDIOAPPCOMPONENT_H_INCLUDED + + +//============================================================================== +/** + A base class for writing audio apps that stream from the audio i/o devices. + + A subclass can inherit from this and implement just a few methods such as + renderAudio(). The base class provides a basic AudioDeviceManager object + and runs audio through the +*/ +class AudioAppComponent : public Component, + public AudioSource +{ +public: + AudioAppComponent(); + ~AudioAppComponent(); + + /** A subclass should call this from their constructor, to set up the audio. */ + void setAudioChannels (int numInputChannels, int numOutputChannels); + + /** Tells the source to prepare for playing. + + An AudioSource has two states: prepared and unprepared. + + The prepareToPlay() method is guaranteed to be called at least once on an 'unpreprared' + source to put it into a 'prepared' state before any calls will be made to getNextAudioBlock(). + This callback allows the source to initialise any resources it might need when playing. + + Once playback has finished, the releaseResources() method is called to put the stream + back into an 'unprepared' state. + + Note that this method could be called more than once in succession without + a matching call to releaseResources(), so make sure your code is robust and + can handle that kind of situation. + + @param samplesPerBlockExpected the number of samples that the source + will be expected to supply each time its + getNextAudioBlock() method is called. This + number may vary slightly, because it will be dependent + on audio hardware callbacks, and these aren't + guaranteed to always use a constant block size, so + the source should be able to cope with small variations. + @param sampleRate the sample rate that the output will be used at - this + is needed by sources such as tone generators. + @see releaseResources, getNextAudioBlock + */ + virtual void prepareToPlay (int samplesPerBlockExpected, + double sampleRate) = 0; + + /** Allows the source to release anything it no longer needs after playback has stopped. + + This will be called when the source is no longer going to have its getNextAudioBlock() + method called, so it should release any spare memory, etc. that it might have + allocated during the prepareToPlay() call. + + Note that there's no guarantee that prepareToPlay() will actually have been called before + releaseResources(), and it may be called more than once in succession, so make sure your + code is robust and doesn't make any assumptions about when it will be called. + + @see prepareToPlay, getNextAudioBlock + */ + virtual void releaseResources() = 0; + + /** Called repeatedly to fetch subsequent blocks of audio data. + + After calling the prepareToPlay() method, this callback will be made each + time the audio playback hardware (or whatever other destination the audio + data is going to) needs another block of data. + + It will generally be called on a high-priority system thread, or possibly even + an interrupt, so be careful not to do too much work here, as that will cause + audio glitches! + + @see AudioSourceChannelInfo, prepareToPlay, releaseResources + */ + virtual void getNextAudioBlock (const AudioSourceChannelInfo& bufferToFill) = 0; + + void shutdownAudio(); + + + AudioDeviceManager deviceManager; + +private: + //============================================================================== + AudioSourcePlayer audioSourcePlayer; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AudioAppComponent) +}; + + +#endif // JUCE_AUDIOAPPCOMPONENT_H_INCLUDED diff --git a/modules/juce_audio_utils/juce_audio_utils.cpp b/modules/juce_audio_utils/juce_audio_utils.cpp index f63682bab2..90c66cd75f 100644 --- a/modules/juce_audio_utils/juce_audio_utils.cpp +++ b/modules/juce_audio_utils/juce_audio_utils.cpp @@ -45,6 +45,7 @@ namespace juce #include "gui/juce_AudioThumbnail.cpp" #include "gui/juce_AudioThumbnailCache.cpp" #include "gui/juce_MidiKeyboardComponent.cpp" +#include "gui/juce_AudioAppComponent.cpp" #include "players/juce_AudioProcessorPlayer.cpp" } diff --git a/modules/juce_audio_utils/juce_audio_utils.h b/modules/juce_audio_utils/juce_audio_utils.h index b5f38f8f42..c9027d0f53 100644 --- a/modules/juce_audio_utils/juce_audio_utils.h +++ b/modules/juce_audio_utils/juce_audio_utils.h @@ -39,6 +39,7 @@ namespace juce #include "gui/juce_AudioThumbnail.h" #include "gui/juce_AudioThumbnailCache.h" #include "gui/juce_MidiKeyboardComponent.h" +#include "gui/juce_AudioAppComponent.h" #include "players/juce_AudioProcessorPlayer.h" } diff --git a/modules/juce_audio_utils/juce_module_info b/modules/juce_audio_utils/juce_module_info index 47dbf8bf91..7f2f4c0853 100644 --- a/modules/juce_audio_utils/juce_module_info +++ b/modules/juce_audio_utils/juce_module_info @@ -1,7 +1,7 @@ { "id": "juce_audio_utils", "name": "JUCE extra audio utility classes", - "version": "3.0.8", + "version": "3.1.0", "description": "Classes for audio-related GUI and miscellaneous tasks.", "website": "http://www.juce.com/juce", "license": "GPL/Commercial", diff --git a/modules/juce_box2d/box2d/Collision/b2CollideEdge.cpp b/modules/juce_box2d/box2d/Collision/b2Collideedge.cpp similarity index 100% rename from modules/juce_box2d/box2d/Collision/b2CollideEdge.cpp rename to modules/juce_box2d/box2d/Collision/b2Collideedge.cpp diff --git a/modules/juce_box2d/juce_module_info b/modules/juce_box2d/juce_module_info index 9dededc712..ae3aa6ba34 100644 --- a/modules/juce_box2d/juce_module_info +++ b/modules/juce_box2d/juce_module_info @@ -1,7 +1,7 @@ { "id": "juce_box2d", "name": "JUCE wrapper for the Box2D physics engine", - "version": "3.0.8", + "version": "3.1.0", "description": "The Box2D physics engine and some utility classes.", "website": "http://www.juce.com/juce", "license": "GPL/Commercial", diff --git a/modules/juce_browser_plugin_client/juce_module_info b/modules/juce_browser_plugin_client/juce_module_info index 77b23c2381..bc3e00e605 100644 --- a/modules/juce_browser_plugin_client/juce_module_info +++ b/modules/juce_browser_plugin_client/juce_module_info @@ -1,7 +1,7 @@ { "id": "juce_browser_plugin_client", "name": "JUCE browser plugin wrapper classes", - "version": "3.0.8", + "version": "3.1.0", "description": "Classes for building NPAPI and ActiveX browser plugins.", "website": "http://www.juce.com/juce", "license": "GPL/Commercial", diff --git a/modules/juce_core/juce_module_info b/modules/juce_core/juce_module_info index 7fb2073385..57f83e1103 100644 --- a/modules/juce_core/juce_module_info +++ b/modules/juce_core/juce_module_info @@ -1,7 +1,7 @@ { "id": "juce_core", "name": "JUCE core classes", - "version": "3.0.8", + "version": "3.1.0", "description": "The essential set of basic JUCE classes, as required by all the other JUCE modules. Includes text, container, memory, threading and i/o functionality.", "website": "http://www.juce.com/juce", "license": "ISC Permissive", diff --git a/modules/juce_core/system/juce_StandardHeader.h b/modules/juce_core/system/juce_StandardHeader.h index 35d9b87fb5..f98252d5e3 100644 --- a/modules/juce_core/system/juce_StandardHeader.h +++ b/modules/juce_core/system/juce_StandardHeader.h @@ -35,8 +35,8 @@ See also SystemStats::getJUCEVersion() for a string version. */ #define JUCE_MAJOR_VERSION 3 -#define JUCE_MINOR_VERSION 0 -#define JUCE_BUILDNUMBER 8 +#define JUCE_MINOR_VERSION 1 +#define JUCE_BUILDNUMBER 0 /** Current Juce version number. diff --git a/modules/juce_cryptography/juce_module_info b/modules/juce_cryptography/juce_module_info index 6960eef0d3..82e3182d1b 100644 --- a/modules/juce_cryptography/juce_module_info +++ b/modules/juce_cryptography/juce_module_info @@ -1,7 +1,7 @@ { "id": "juce_cryptography", "name": "JUCE cryptography classes", - "version": "3.0.8", + "version": "3.1.0", "description": "Classes for various basic cryptography functions, including RSA, Blowfish, MD5, SHA, etc.", "website": "http://www.juce.com/juce", "license": "GPL/Commercial", diff --git a/modules/juce_data_structures/juce_module_info b/modules/juce_data_structures/juce_module_info index 09b96f8e8f..ce203f8626 100644 --- a/modules/juce_data_structures/juce_module_info +++ b/modules/juce_data_structures/juce_module_info @@ -1,7 +1,7 @@ { "id": "juce_data_structures", "name": "JUCE data model helper classes", - "version": "3.0.8", + "version": "3.1.0", "description": "Classes for undo/redo management, and smart data structures.", "website": "http://www.juce.com/juce", "license": "GPL/Commercial", diff --git a/modules/juce_events/juce_module_info b/modules/juce_events/juce_module_info index 69e90c9f77..0b29baf18e 100644 --- a/modules/juce_events/juce_module_info +++ b/modules/juce_events/juce_module_info @@ -1,7 +1,7 @@ { "id": "juce_events", "name": "JUCE message and event handling classes", - "version": "3.0.8", + "version": "3.1.0", "description": "Classes for running an application's main event loop and sending/receiving messages, timers, etc.", "website": "http://www.juce.com/juce", "license": "GPL/Commercial", diff --git a/modules/juce_graphics/juce_module_info b/modules/juce_graphics/juce_module_info index 75903c2bfd..d0613cfa75 100644 --- a/modules/juce_graphics/juce_module_info +++ b/modules/juce_graphics/juce_module_info @@ -1,7 +1,7 @@ { "id": "juce_graphics", "name": "JUCE graphics classes", - "version": "3.0.8", + "version": "3.1.0", "description": "Classes for 2D vector graphics, image loading/saving, font handling, etc.", "website": "http://www.juce.com/juce", "license": "GPL/Commercial", diff --git a/modules/juce_gui_basics/juce_module_info b/modules/juce_gui_basics/juce_module_info index d9d00fe517..f5f2a98f07 100644 --- a/modules/juce_gui_basics/juce_module_info +++ b/modules/juce_gui_basics/juce_module_info @@ -1,7 +1,7 @@ { "id": "juce_gui_basics", "name": "JUCE GUI core classes", - "version": "3.0.8", + "version": "3.1.0", "description": "Basic user-interface components and related classes.", "website": "http://www.juce.com/juce", "license": "GPL/Commercial", diff --git a/modules/juce_gui_basics/layout/juce_AnimatedPosition.h b/modules/juce_gui_basics/layout/juce_AnimatedPosition.h index dac6ce174f..2f82e03cf1 100644 --- a/modules/juce_gui_basics/layout/juce_AnimatedPosition.h +++ b/modules/juce_gui_basics/layout/juce_AnimatedPosition.h @@ -94,7 +94,7 @@ public: */ void endDrag() { - startTimer (1000 / 60); + startTimerHz (60); } /** Called outside of a drag operation to cause a nudge in the specified direction. @@ -102,7 +102,7 @@ public: */ void nudge (double deltaFromCurrentPosition) { - startTimer (100); + startTimerHz (10); moveTo (position + deltaFromCurrentPosition); } @@ -197,7 +197,7 @@ private: if (behaviour.isStopped (newPos)) stopTimer(); else - startTimer (1000 / 60); + startTimerHz (60); setPositionAndSendChange (newPos); } diff --git a/modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp b/modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp index 6f28e8be6f..3507fc839f 100644 --- a/modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp +++ b/modules/juce_gui_basics/layout/juce_ComponentAnimator.cpp @@ -231,7 +231,7 @@ void ComponentAnimator::animateComponent (Component* const component, if (! isTimerRunning()) { lastTime = Time::getMillisecondCounter(); - startTimer (1000 / 50); + startTimerHz (50); } } } diff --git a/modules/juce_gui_basics/windows/juce_ResizableWindow.cpp b/modules/juce_gui_basics/windows/juce_ResizableWindow.cpp index f30defc08b..0338cc48ac 100644 --- a/modules/juce_gui_basics/windows/juce_ResizableWindow.cpp +++ b/modules/juce_gui_basics/windows/juce_ResizableWindow.cpp @@ -558,6 +558,10 @@ bool ResizableWindow::restoreWindowStateFromString (const String& s) } updateLastPosIfNotFullScreen(); + + if (fs) + setBoundsConstrained (newPos); + setFullScreen (fs); if (! fs) diff --git a/modules/juce_gui_extra/juce_gui_extra.cpp b/modules/juce_gui_extra/juce_gui_extra.cpp index dbc4bc4447..bff407c15e 100644 --- a/modules/juce_gui_extra/juce_gui_extra.cpp +++ b/modules/juce_gui_extra/juce_gui_extra.cpp @@ -91,6 +91,7 @@ namespace juce #include "misc/juce_SplashScreen.cpp" #include "misc/juce_SystemTrayIconComponent.cpp" #include "misc/juce_LiveConstantEditor.cpp" +#include "misc/juce_AnimatedAppComponent.cpp" } diff --git a/modules/juce_gui_extra/juce_gui_extra.h b/modules/juce_gui_extra/juce_gui_extra.h index 36532f1a8f..da1f625975 100644 --- a/modules/juce_gui_extra/juce_gui_extra.h +++ b/modules/juce_gui_extra/juce_gui_extra.h @@ -72,6 +72,7 @@ namespace juce #include "misc/juce_SystemTrayIconComponent.h" #include "misc/juce_WebBrowserComponent.h" #include "misc/juce_LiveConstantEditor.h" +#include "misc/juce_AnimatedAppComponent.h" } diff --git a/modules/juce_gui_extra/juce_module_info b/modules/juce_gui_extra/juce_module_info index 60a2754a6e..e763807fe4 100644 --- a/modules/juce_gui_extra/juce_module_info +++ b/modules/juce_gui_extra/juce_module_info @@ -1,7 +1,7 @@ { "id": "juce_gui_extra", "name": "JUCE extended GUI classes", - "version": "3.0.8", + "version": "3.1.0", "description": "Miscellaneous GUI classes for specialised tasks.", "website": "http://www.juce.com/juce", "license": "GPL/Commercial", diff --git a/modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp b/modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp new file mode 100644 index 0000000000..01708c5acc --- /dev/null +++ b/modules/juce_gui_extra/misc/juce_AnimatedAppComponent.cpp @@ -0,0 +1,48 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + +AnimatedAppComponent::AnimatedAppComponent() + : lastUpdateTime (Time::getCurrentTime()), totalUpdates (0) +{ + setOpaque (true); +} + +void AnimatedAppComponent::setFramesPerSecond (int framesPerSecond) +{ + jassert (framesPerSecond > 0 && framesPerSecond < 1000); + startTimerHz (framesPerSecond); +} + +int AnimatedAppComponent::getMillisecondsSinceLastUpdate() const noexcept +{ + return (int) (Time::getCurrentTime() - lastUpdateTime).inMilliseconds(); +} + +void AnimatedAppComponent::timerCallback() +{ + ++totalUpdates; + update(); + repaint(); + lastUpdateTime = Time::getCurrentTime(); +} diff --git a/modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h b/modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h new file mode 100644 index 0000000000..c2236fc897 --- /dev/null +++ b/modules/juce_gui_extra/misc/juce_AnimatedAppComponent.h @@ -0,0 +1,77 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + +#ifndef JUCE_ANIMATEDAPPCOMPONENT_H_INCLUDED +#define JUCE_ANIMATEDAPPCOMPONENT_H_INCLUDED + + +//============================================================================== +/** + A base class for writing simple one-page graphical apps. + + A subclass can inherit from this and implement just a few methods such as + paint() and mouse-handling. The base class provides some simple abstractions + to take care of continuously repainting itself. +*/ +class AnimatedAppComponent : public Component, + private Timer +{ +public: + AnimatedAppComponent(); + + /** Your subclass can call this to start a timer running which will + call update() and repaint the component at the given frequency. + */ + void setFramesPerSecond (int framesPerSecond); + + /** Called periodically, at the frequency specified by setFramesPerSecond(). + This is a the best place to do things like advancing animation parameters, + checking the mouse position, etc. + */ + virtual void update() = 0; + + /** Returns the number of times that update() has been called since the component + started running. + */ + int getFrameCounter() const noexcept { return totalUpdates; } + + /** When called from update(), this returns the number of milliseconds since the + last update call. + This might be useful for accurately timing animations, etc. + */ + int getMillisecondsSinceLastUpdate() const noexcept; + +private: + //============================================================================== + Time lastUpdateTime; + int totalUpdates; + + void timerCallback() override; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AnimatedAppComponent) +}; + + + +#endif // JUCE_ANIMATEDAPPCOMPONENT_H_INCLUDED diff --git a/modules/juce_opengl/juce_module_info b/modules/juce_opengl/juce_module_info index 1ab9da21d1..24077df0de 100644 --- a/modules/juce_opengl/juce_module_info +++ b/modules/juce_opengl/juce_module_info @@ -1,7 +1,7 @@ { "id": "juce_opengl", "name": "JUCE OpenGL classes", - "version": "3.0.8", + "version": "3.1.0", "description": "Classes for rendering OpenGL in a JUCE window.", "website": "http://www.juce.com/juce", "license": "GPL/Commercial", @@ -15,6 +15,7 @@ "browse": [ "opengl/*", "geometry/*", + "utils/*", "native/*" ], "OSXFrameworks": "OpenGL", diff --git a/modules/juce_opengl/juce_opengl.cpp b/modules/juce_opengl/juce_opengl.cpp index 77b2f3d79f..06bc5b019c 100644 --- a/modules/juce_opengl/juce_opengl.cpp +++ b/modules/juce_opengl/juce_opengl.cpp @@ -207,5 +207,6 @@ private: #endif #include "opengl/juce_OpenGLContext.cpp" +#include "utils/juce_OpenGLAppComponent.cpp" } diff --git a/modules/juce_opengl/juce_opengl.h b/modules/juce_opengl/juce_opengl.h index 75230740a5..9f61cc2e99 100644 --- a/modules/juce_opengl/juce_opengl.h +++ b/modules/juce_opengl/juce_opengl.h @@ -125,12 +125,12 @@ class OpenGLTexture; class OpenGLFrameBuffer; class OpenGLShaderProgram; -#include "native/juce_MissingGLDefinitions.h" -#include "opengl/juce_OpenGLHelpers.h" #include "geometry/juce_Quaternion.h" #include "geometry/juce_Matrix3D.h" #include "geometry/juce_Vector3D.h" #include "geometry/juce_Draggable3DOrientation.h" +#include "native/juce_MissingGLDefinitions.h" +#include "opengl/juce_OpenGLHelpers.h" #include "opengl/juce_OpenGLPixelFormat.h" #include "native/juce_OpenGLExtensions.h" #include "opengl/juce_OpenGLRenderer.h" @@ -142,6 +142,7 @@ class OpenGLShaderProgram; #include "opengl/juce_OpenGLRenderer.h" #include "opengl/juce_OpenGLShaderProgram.h" #include "opengl/juce_OpenGLTexture.h" +#include "utils/juce_OpenGLAppComponent.h" } diff --git a/modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp b/modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp new file mode 100644 index 0000000000..724537e265 --- /dev/null +++ b/modules/juce_opengl/utils/juce_OpenGLAppComponent.cpp @@ -0,0 +1,63 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + +OpenGLAppComponent::OpenGLAppComponent() : frameCounter (0) +{ + setOpaque (true); + openGLContext.setRenderer (this); + openGLContext.attachTo (*this); + openGLContext.setContinuousRepainting (true); +} + +OpenGLAppComponent::~OpenGLAppComponent() +{ + // Before your subclass's destructor has completed, you must call + // shutdownOpenGL() to release the GL context. (Otherwise there's + // a danger that it may invoke a GL callback on your class while + // it's in the process of being deleted. + jassert (! openGLContext.isAttached()); + + shutdownOpenGL(); +} + +void OpenGLAppComponent::shutdownOpenGL() +{ + openGLContext.detach(); +} + +void OpenGLAppComponent::newOpenGLContextCreated() +{ + initialise(); +} + +void OpenGLAppComponent::renderOpenGL() +{ + ++frameCounter; + render(); +} + +void OpenGLAppComponent::openGLContextClosing() +{ + shutdown(); +} diff --git a/modules/juce_opengl/utils/juce_OpenGLAppComponent.h b/modules/juce_opengl/utils/juce_OpenGLAppComponent.h new file mode 100644 index 0000000000..607fbbafe3 --- /dev/null +++ b/modules/juce_opengl/utils/juce_OpenGLAppComponent.h @@ -0,0 +1,80 @@ +/* + ============================================================================== + + This file is part of the JUCE library. + Copyright (c) 2013 - Raw Material Software Ltd. + + Permission is granted to use this software under the terms of either: + a) the GPL v2 (or any later version) + b) the Affero GPL v3 + + Details of these licenses can be found at: www.gnu.org/licenses + + JUCE is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + ------------------------------------------------------------------------------ + + To release a closed-source product which uses JUCE, commercial licenses are + available: visit www.juce.com for more information. + + ============================================================================== +*/ + +#ifndef JUCE_OPENGLAPPCOMPONENT_H_INCLUDED +#define JUCE_OPENGLAPPCOMPONENT_H_INCLUDED + + +//============================================================================== +/** + A base class for writing simple one-page graphical apps. + + A subclass can inherit from this and implement just a few methods such as + paint() and mouse-handling. The base class provides some simple abstractions + to take care of continuously repainting itself. +*/ +class OpenGLAppComponent : public Component, + private OpenGLRenderer +{ +public: + OpenGLAppComponent(); + ~OpenGLAppComponent(); + + /** Returns the number of times that the render method has been called since + the component started running. + */ + int getFrameCounter() const noexcept { return frameCounter; } + + void shutdownOpenGL(); + + /** Implement this method to set up any GL objects that you need for rendering. + The GL context will be active when this method is called. + */ + virtual void initialise() = 0; + + /** Implement this method to free any GL objects that you created during rendering. + The GL context will still be active when this method is called. + */ + virtual void shutdown() = 0; + + /** + */ + virtual void render() = 0; + + OpenGLContext openGLContext; + +private: + //============================================================================== + + int frameCounter; + + void newOpenGLContextCreated() override; + void renderOpenGL() override; + void openGLContextClosing() override; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (OpenGLAppComponent) +}; + + +#endif // JUCE_OPENGLAPPCOMPONENT_H_INCLUDED diff --git a/modules/juce_tracktion_marketplace/juce_module_info b/modules/juce_tracktion_marketplace/juce_module_info index fdc531cada..62e50113ec 100644 --- a/modules/juce_tracktion_marketplace/juce_module_info +++ b/modules/juce_tracktion_marketplace/juce_module_info @@ -1,12 +1,13 @@ { "id": "juce_tracktion_marketplace", "name": "JUCE Tracktion marketplace support", - "version": "3.0.8", + "version": "3.1.0", "description": "JUCE classes for online product authentication via the Tracktion marketplace.", "website": "http://www.juce.com/juce", "license": "GPL/Commercial", - "dependencies": [ { "id": "juce_data_structures", "version": "matching" } ], + "dependencies": [ { "id": "juce_data_structures", "version": "matching" }, + { "id": "juce_cryptography", "version": "matching" } ], "include": "juce_tracktion_marketplace.h", diff --git a/modules/juce_video/juce_module_info b/modules/juce_video/juce_module_info index ce7a257db2..647b2c3cdd 100644 --- a/modules/juce_video/juce_module_info +++ b/modules/juce_video/juce_module_info @@ -1,7 +1,7 @@ { "id": "juce_video", "name": "JUCE video playback and capture classes", - "version": "3.0.8", + "version": "3.1.0", "description": "Classes for playing video and capturing camera input.", "website": "http://www.juce.com/juce", "license": "GPL/Commercial",